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 y ampliamente utilizado en la industria para acceder a 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 la información que debe ser compartida entre aplicaciones o está altamente distribuida.

Los servicios de directorio juegan 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 para 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 a los 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 configura 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 los 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 basadas en 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 elige la versión de LDAP a usar y haz clic en Aceptar .

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

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

También defina la cuenta LDAP para la raíz y haga clic en Aceptar.

Luego, ingrese la contraseña que se usará cuando ldap-auth-config intente iniciar sesión en el directorio LDAP usando la cuenta LDAP para root.

Los resultados del cuadro de 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, entonces necesita realizar una configuración más en el archivo PAM de sesión común.

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

Añade esta línea en ella.

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

Guarde los cambios y cierre el archivo. Luego reinicie el servicio NCSD ( Daemon de caché de servicio de nombres ) con el siguiente comando.

$ sudo systemctl restart nscd
$ sudo systemctl enable nscd

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

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

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

$ getent passwd tecmint

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

Configurar 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 autenticarse usando LDAP. Puede usar 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 = example, dc = 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 ninguna.

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

$ getent passwd tecmint

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

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

LDAP , es un protocolo muy 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 las máquinas cliente de Ubuntu y CentOS. Puede dejar cualquier pregunta o comentario que pueda tener utilizando el formulario de comentarios a continuación.