Configuración de Autenticación LDAP en Servidores Ubuntu 22.04 y Clientes Debian 12 y Rocky Linux 9
Introducción
En este artículo, configuraremos un servidor LDAP con el nombre DNS ldap.davidrgfoss.com
proporcionado por un DNS. Crearemos un usuario llamado prueba
y configuraremos máquinas clientes basadas en Debian 12 y Rocky Linux 9 para que puedan autenticarse en el servidor LDAP utilizando este usuario.
Paso 1: Configuración del Servidor LDAP en Ubuntu 22.04
Instalación y Configuración en el Servidor LDAP
-
Instalar OpenLDAP y herramientas administrativas:
sudo apt update
sudo apt install slapd ldap-utils -y -
Reconfigurar OpenLDAP:
sudo dpkg-reconfigure slapd
- Omite la configuración de DNS.
- Establece el dominio base como
dc=ldap,dc=davidrgfoss,dc=com
. - Configura el nombre de la organización.
- Proporciona la contraseña del administrador LDAP.
- Acepta las configuraciones predeterminadas para los índices de base de datos y los módulos de LDAP.
-
Configurar el Dominio:
Modifica el archivo de configuración para incluir el dominio
ldap.davidrgfoss.com
.sudo nano /etc/ldap/ldap.conf
Asegúrate de incluir las siguientes líneas:
BASE dc=ldap,dc=davidrgfoss,dc=com
URI ldap://ldap.davidrgfoss.com -
Agregar el Esquema de Organización:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/core.ldif
-
Crear la Estructura Básica del Directorio:
Crea un archivo
base.ldif
con el siguiente contenido:dn: dc=ldap,dc=davidrgfoss,dc=com
objectClass: dcObject
objectClass: organization
o: davidrgfoss Company
dc: ldap
dn: cn=admin,dc=ldap,dc=davidrgfoss,dc=com
objectClass: organizationalRole
cn: admin
userPassword: {SSHA}<NUEVA_CONTRASEÑA>
description: LDAP AdministratorAplica la configuración:
sudo ldapadd -x -D cn=admin,dc=ldap,dc=davidrgfoss,dc=com -W -f base.ldif
Creación del Usuario prueba
-
Crear un Archivo LDIF para el Usuario:
Crea un archivo
prueba.ldif
con el siguiente contenido:dn: uid=prueba,dc=ldap,dc=davidrgfoss,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: prueba
sn: Prueba
givenName: Usuario
cn: Usuario Prueba
displayName: Usuario Prueba
uidNumber: 10000
gidNumber: 10000
userPassword: {SSHA}<CifradorDeContraseña>
gecos: Usuario Prueba
loginShell: /bin/bash
homeDirectory: /home/pruebaNota: Genera una contraseña cifrada utilizando
slappasswd
y reemplazaCifradorDeContraseña
con el valor generado. -
Agregar el Usuario al Directorio LDAP:
sudo ldapadd -x -D cn=admin,dc=ldap,dc=davidrgfoss,dc=com -W -f prueba.ldif
Paso 2: Configuración de la Máquina Cliente Debian 12
Instalación de Paquetes Necesarios
-
Instalar los Paquetes Necesarios:
sudo apt update
sudo apt install libnss-ldap libpam-ldap ldap-utils -y -
Configuración del Cliente LDAP:
Durante la instalación, se te pedirá que ingreses la URI del servidor LDAP y el DN base. Utiliza
ldap://ldap.davidrgfoss.com
ydc=ldap,dc=davidrgfoss,dc=com
. -
Configurar la Autenticación LDAP:
Edita el archivo
/etc/nsswitch.conf
para incluir LDAP:sudo nano /etc/nsswitch.conf
Asegúrate de que las líneas de
passwd
,group
yshadow
incluyanldap
:passwd: compat ldap
group: compat ldap
shadow: compat ldap -
Configurar PAM para LDAP:
Edita el archivo
/etc/pam.d/common-password
:sudo nano /etc/pam.d/common-password
Añade la siguiente línea:
password [success=1 user_unknown=ignore default=die] pam_ldap.so
-
Probar la Autenticación LDAP:
Intenta iniciar sesión con el usuario
prueba
:su - prueba
Paso 3: Configuración de la Máquina Cliente Rocky Linux 9
Instalación de Paquetes Necesarios
-
Instalar los Paquetes Necesarios:
sudo dnf install openldap-clients nss-pam-ldapd -y
-
Configuración del Cliente LDAP:
Configura el archivo
/etc/nslcd.conf
para apuntar al servidor LDAP:sudo vim /etc/nslcd.conf
Asegúrate de incluir:
uri ldap://ldap.davidrgfoss.com/
base dc=ldap,dc=davidrgfoss,dc=com -
Configurar
nsswitch.conf
:Edita el archivo
/etc/nsswitch.conf
para incluir LDAP:sudo vim /etc/nsswitch.conf
Asegúrate de que las líneas de
passwd
,group
yshadow
incluyanldap
:passwd: files ldap
group: files ldap
shadow: files ldap -
Habilitar e Iniciar el Servicio
nslcd
:sudo systemctl enable nslcd
sudo systemctl start nslcd -
Configurar PAM para LDAP:
Edita el archivo
/etc/pam.d/password-auth
y/etc/pam.d/system-auth
:sudo vim /etc/pam.d/password-auth
sudo vim /etc/pam.d/system-authAñade la siguiente línea en ambos archivos:
auth sufficient pam_ldap.so
account sufficient pam_ldap.so
password sufficient pam_ldap.so
session optional pam_ldap.so -
Probar la Autenticación LDAP:
su - prueba