Cómo configurar el cliente LDAP para conectar la autenticación externa


LDAP (abreviatura de Lightweight Directory Access Protocol) es un conjunto de protocolos estándar de la industria y ampliamente utilizado para acceder a los servicios de directorio.

Un servicio de directorio en términos simples es una base de datos centralizada basada en la red optimizada para el acceso de lectura. Almacena y proporciona acceso a información que debe compartirse entre aplicaciones o está altamente distribuida.

Los servicios de directorio desempeñan un papel importante en el desarrollo de aplicaciones de intranet e Internet al ayudarlo a compartir información sobre usuarios, sistemas, redes, aplicaciones y servicios en toda la red.

Un caso de uso típico de LDAP es ofrecer un almacenamiento centralizado de nombres de usuario y contraseñas. Esto permite que varias aplicaciones (o servicios) se conecten al servidor LDAP para validar usuarios.

Después de configurar un servidor LDAP en funcionamiento, deberá instalar bibliotecas en el cliente para conectarse a él. En este artículo, mostraremos cómo configurar un cliente LDAP para conectarse a una fuente de autenticación externa.

Espero que ya tenga un entorno de servidor LDAP en funcionamiento, si no, configure el servidor LDAP para la autenticación basada en LDAP.

Cómo instalar y configurar el cliente LDAP en Ubuntu y CentOS

En los sistemas cliente, deberá instalar algunos paquetes necesarios para que el mecanismo de autenticación funcione correctamente con un servidor LDAP.

Primero comience instalando los paquetes necesarios ejecutando el siguiente comando.

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

Durante la instalación, se le solicitarán detalles de su servidor LDAP (proporcione los valores de acuerdo con su entorno). Tenga en cuenta que el paquete ldap-auth-config que se instala automáticamente hace la mayoría de las configuraciones según las entradas que ingresa.

A continuación, ingrese el nombre de la base de búsqueda LDAP, puede usar los componentes de sus nombres de dominio para este propósito como se muestra en la captura de pantalla.

También elija la versión LDAP que desee utilizar y haga clic en Aceptar.

Ahora configure la opción para permitirle crear utilidades de contraseña que usen pam para comportarse como si estuviera cambiando las contraseñas locales y haga clic en Sí para continuar.

A continuación, desactive el requisito de inicio de sesión en la base de datos LDAP con la siguiente opción.

También defina la cuenta LDAP para root y haga clic en Aceptar.

A continuación, ingrese la contraseña que se utilizará cuando ldap-auth-config intente iniciar sesión en el directorio LDAP utilizando la cuenta LDAP como root.

Los resultados del diálogo se almacenarán en el archivo /etc/ldap.conf. Si desea realizar modificaciones, abra y edite este archivo con su editor de línea de comandos favorito.

A continuación, configure el perfil LDAP para NSS ejecutando.

$ sudo auth-client-config -t nss -p lac_ldap

Luego configure el sistema para usar LDAP para la autenticación actualizando las configuraciones de PAM. En el menú, elija LDAP y cualquier otro mecanismo de autenticación que necesite. Ahora debería poder iniciar sesión con credenciales basadas en LDAP.

$ sudo pam-auth-update

En caso de que desee que el directorio de inicio del usuario se cree automáticamente, debe realizar una configuración más en el archivo PAM de sesión común.

$ sudo vim /etc/pam.d/common-session

Agregue esta línea en él.

session required pam_mkhomedir.so skel=/etc/skel umask=077

Guarde los cambios y cierre el archivo. Luego reinicie el servicio NCSD (Name Service Cache Daemon) con el siguiente comando.

$ sudo systemctl restart nscd
$ sudo systemctl enable nscd

Nota: Si está utilizando la replicación, los clientes LDAP deberán hacer referencia a varios servidores especificados en /etc/ldap.conf. Puede especificar todos los servidores en este formulario:

uri ldap://ldap1.example.com  ldap://ldap2.example.com

Esto implica que la solicitud expirará y si el Proveedor (ldap1.example.com) deja de responder, el Consumidor (ldap2.example.com) intentará ser contactado para procesarlo.

Para verificar las entradas LDAP de un usuario en particular desde el servidor, ejecute el comando getent, por ejemplo.

$ getent passwd tecmint

Si el comando anterior muestra detalles del usuario especificado del archivo/etc/passwd, su máquina cliente ahora está configurada para autenticarse con el servidor LDAP, debería poder iniciar sesión usando credenciales basadas en LDAP.

Configurar el cliente LDAP en CentOS 7

Para instalar los paquetes necesarios, ejecute el siguiente comando. Tenga en cuenta que en esta sección, si está operando el sistema como un usuario administrativo no root, use el comando sudo para ejecutar todos los comandos.

# yum update && yum install openldap openldap-clients nss-pam-ldapd

A continuación, habilite el sistema cliente para que se autentique mediante LDAP. Puede utilizar la utilidad authconfig, que es una interfaz para configurar los recursos de autenticación del sistema.

Ejecute el siguiente comando y reemplace example.com con su dominio y dc u003d example, dc u003d com con su controlador de dominio LDAP.

# authconfig --enableldap --enableldapauth --ldapserver=ldap.example.com --ldapbasedn="dc=example,dc=com" --enablemkhomedir --update

En el comando anterior, la opción --enablemkhomedir crea un directorio de inicio de usuario local en la primera conexión si no existe ninguno.

A continuación, pruebe si las entradas LDAP para un usuario en particular del servidor, por ejemplo, el usuario tecmint.

$ getent passwd tecmint

El comando anterior debe mostrar detalles del usuario especificado del archivo/etc/passwd, lo que implica que la máquina cliente ahora está configurada para autenticarse con el servidor LDAP.

Importante: Si SELinux está habilitado en su sistema, necesita agregar una regla para permitir la creación automática de directorios de inicio por mkhomedir.

Para obtener más información, consulte la documentación correspondiente del catálogo de documentos de OpenLDAP Software.

LDAP, es un protocolo ampliamente utilizado para consultar y modificar un servicio de directorio. En esta guía, hemos mostrado cómo configurar un cliente LDAP para conectarse a una fuente de autenticación externa, en máquinas cliente Ubuntu y CentOS. Puede dejar cualquier pregunta o comentario que pueda tener utilizando el formulario de comentarios a continuación.