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
- Seguridad: Asegúrate de que las comunicaciones con el servidor LDAP estén cifradas utilizando LDAPS (LDAP sobre SSL) o STARTTLS.
- 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.
- 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).