Guía Completa para Configurar Autenticación LDAP en Sistemas Linux

Artículos Guías Manuales Sistemas Linux Windows Binario 0

Paso 1: Instalar paquetes necesarios

En primer lugar, necesitarás instalar algunos paquetes necesarios. Los paquetes específicos pueden variar según la distribución de Linux que estés utilizando. A continuación se muestra el procedimiento para distribuciones basadas en Debian (como Ubuntu) y basadas en Red Hat (como CentOS).

Distribuciones basadas en Debian:

sudo apt update
sudo apt install libnss-ldap libpam-ldap ldap-utils nscd

Distribuciones basadas en Red Hat:

sudo yum install openldap-clients nss-pam-ldapd

Paso 2: Configuración del cliente LDAP

Durante la instalación de libnss-ldap y libpam-ldap, se te pedirá que ingreses la información del servidor LDAP. Si no se te solicita, o si necesitas cambiar la configuración, puedes editar el archivo de configuración manualmente.

Editar configuración en distribuciones basadas en Debian:

Edita el archivo /etc/ldap.conf o /etc/ldap/ldap.conf:

sudo nano /etc/ldap.conf

Configura las siguientes opciones según tu entorno LDAP:

base dc=example,dc=com
uri ldap://ldap.example.com
ldap_version 3
rootbinddn cn=admin,dc=example,dc=com
bind_policy soft

Editar configuración en distribuciones basadas en Red Hat:

Edita el archivo /etc/nslcd.conf:

sudo nano /etc/nslcd.conf

Configura las siguientes opciones según tu entorno LDAP:

uri ldap://ldap.example.com/
base dc=example,dc=com
binddn cn=admin,dc=example,dc=com
bindpw admin_password

Paso 3: Configurar NSS para usar LDAP

Edita el archivo /etc/nsswitch.conf para incluir ldap en las bases de datos passwd, group y shadow.

sudo nano /etc/nsswitch.conf

Modifica las líneas correspondientes:

passwd:         compat ldap
group: compat ldap
shadow: compat ldap

Paso 4: Configurar PAM para usar LDAP

Edita los archivos de configuración de PAM en /etc/pam.d/common-auth, /etc/pam.d/common-account, /etc/pam.d/common-password y /etc/pam.d/common-session en distribuciones basadas en Debian, o los archivos equivalentes en distribuciones basadas en Red Hat.

Distribuciones basadas en Debian:

sudo nano /etc/pam.d/common-auth

Agrega la siguiente línea:

auth    sufficient    pam_ldap.so

Edita /etc/pam.d/common-account:

nano /etc/pam.d/common-account

Agrega la siguiente línea:

account    sufficient    pam_ldap.so

Edita /etc/pam.d/common-password:

sudo nano /etc/pam.d/common-password

Agrega la siguiente línea:

password    sufficient    pam_ldap.so

Edita /etc/pam.d/common-session:

sudo nano /etc/pam.d/common-session

Agrega la siguiente línea:

session    sufficient    pam_ldap.so

Distribuciones basadas en Red Hat:

Edita /etc/pam.d/system-auth:

sudo nano /etc/pam.d/system-auth

Agrega las siguientes líneas en los lugares correspondientes:

auth       sufficient    pam_ldap.so
account sufficient pam_ldap.so
password sufficient pam_ldap.so
session sufficient pam_ldap.so

Paso 5: Reiniciar servicios

Finalmente, reinicia los servicios para que los cambios surtan efecto. En distribuciones basadas en Debian, reinicia nscd:

sudo systemctl restart nscd

En distribuciones basadas en Red Hat, reinicia nslcd:

sudo systemctl restart nslcd

Paso 6: Prueba de autenticación

Intenta iniciar sesión con un usuario que esté en tu directorio LDAP para asegurarte de que la configuración es correcta.

Consideraciones adicionales

  1. Seguridad: Asegúrate de que las comunicaciones con el servidor LDAP estén cifradas utilizando LDAPS (LDAP sobre SSL) o STARTTLS.
  2. Cacheo: Considera la configuración de la caché para mejorar el rendimiento y la disponibilidad en caso de que el servidor LDAP no esté disponible.
  3. Depuración: Si tienes problemas, verifica los registros del sistema para obtener pistas sobre lo que puede estar mal (/var/log/auth.log en Debian, /var/log/secure en Red Hat).