Cómo instalar OpenLDAP en Debian 11
OpenLDAP es una implementación de LDAP (Protocolo Ligero de Acceso a Directorios) de software libre y de código abierto. Es un protocolo independiente de la plataforma que puede utilizarse para la autenticación centralizada y los servicios de acceso al directorio, como el correo electrónico y otras aplicaciones.
OpenLDAP es un demonio LDAP independiente que proporciona sus bibliotecas y utilidades. Además, ofrece soporte para la autenticación de certificados TLS y la autenticación SASL.
En este artículo, te mostraremos cómo instalar y configurar OpenLDAP en Debian 11 Bullseye.
Requisitos previos
- Un servidor Debian 11.
- Un usuario no root con privilegios sudo/root.
Instalación de OpenLDAP en Debian 11
Al principio, instalarás los paquetes de OpenLDAP en el servidor de Debian 11. El repositorio por defecto de Debian proporciona la versión estable OpenLDAP v2.4.
Antes de empezar a instalar los paquetes de OpenLDAP, ejecuta el siguiente comando ‘apt’ para actualizar el repositorio de Debian.
sudo apt update
Ahora instala los paquetes de OpenLDAP ‘slapd‘ y‘ldap-utils‘. El paquete ‘slapd‘ es el paquete principal de OpenLDAP, y el ‘ldap-utils‘ proporciona utilidades de línea de comandos para gestionar el servidor OpenLDAP.
sudo apt install slapd ldap-utils
Escribe‘Y’ y pulsa‘ENTER‘ para confirmar la instalación.
Ahora se te pedirá que configures la contraseña del usuario administrador de OpenLDAP.
Introduce tu contraseña y selecciona ‘OK‘, luego pulsa‘ENTER’.
Repite tu contraseña y selecciona‘OK’, y pulsa‘ENTER’ de nuevo. Y la instalación de OpenLDAP se habrá completado.
Configurar el servidor OpenLDAP
Después de haber instalado los paquetes de OpenLDAP, ahora vas a configurar el OpenLDAP en el servidor de Debian.
Antes de seguir adelante, vamos a configurar el FQDN (Fully Qualified Domain Name ) del servidor utilizando el siguiente comando.
sudo hostnamectl set-hostname ldap.mydomain.local
Ahora edita el archivo‘/etc/hosts‘ utilizando el editor nano.
sudo nano /etc/hosts
Copia y pega la siguiente configuración, y asegúrate de cambiar la dirección IP por la dirección IP de tu servidor, y el FQDN por tu nombre de host y tu nombre de dominio local.
192.168.10.50 ldap.mydomain.local ldap
Guarda y cierra el archivo.
Ahora cierra la sesión SSH actual y vuelve a conectarte a tu servidor.
A continuación, ejecuta el siguiente comando para reconfigurar el paquete‘slapd’ de OpenLDAP.
sudo dpkg-reconfigure slapd
Selecciona «No» cuando se te pregunte si quieres borrar/omitir la antigua configuración de OpenLDAP. Esto mantendrá la antigua configuración disponible.
Ahora introduce el nombre de dominio local DNS de tu servidor OpenLDAP y selecciona Aceptar.
Introduce el nombre de la organización y selecciona Aceptar. Opcionalmente, puedes dejarlo por defecto con el mismo nombre que el del dominio.
Ahora introduce la contraseña de administrador de OpenLDAP y selecciona Aceptar para continuar.
Confirma la contraseña de administrador de OpenLDAP y selecciona de nuevo OK.
Selecciona NO cuando te pidan que elimines la antigua base de datos slapd.
Ahora selecciona Sí para mover la antigua base de datos slapd.
Y la configuración de los paquetes de OpenLDAP ya se ha completado.
Para verificar la configuración de OpenLDAP, ejecuta el siguiente comando‘slapcat’.
sudo slapcat
Ahora deberías obtener una salida similar a la de la captura de pantalla siguiente. El nombre de dominio y el nombre de la organización para OpenLDAP está correctamente utilizando el ‘midominio.local‘
Por último, reinicia el servicio ‘slapd‘ para aplicar los nuevos cambios. A continuación, verifica el servicio ‘slapd‘.
sudo systemctl restart slapd
sudo systemctl status slapd
Ahora deberías obtener el estado del servicio ‘slapd‘ como‘activo (en ejecución)‘.
Configurar el cortafuegos UFW
Si estás ejecutando el servidor Debian con el cortafuegos UFW activado, tendrás que añadir el servicio LDAP y LDAPS al cortafuegos UFW.
Se recomienda utilizar el cortafuegos en tu entorno local, ya que reforzará la seguridad de tu servidor.
Ahora ejecuta el siguiente comando ufw para añadir el servicio LDAP y LDAPS al cortafuegos ufw.
sudo ufw allow LDAP
sudo ufw allow LDAPS
A continuación, recarga la regla del cortafuegos UFW con el siguiente comando.
sudo ufw reload
Por último, verifica la lista de servicios habilitados en tu cortafuegos UFW con el siguiente comando.
sudo ufw status
Deberías obtener un resultado como el de la siguiente captura de pantalla. Los servicios LDAP y LDAPS se han añadido al cortafuegos UFW.
Ahora estás preparado para configurar el grupo y el usuario del servidor OpenLDAP.
Configurar el grupo de usuarios
El servidor OpenLDAP se suele utilizar para la autenticación en un grupo de ordenadores o servidores. Y en este paso, vas a configurar el grupo en el servidor OpenLDAP utilizando el archivo LDIF (LDAP Data Interchange Format).
El LDIF es un archivo de formato de las entradas LDAP y puede utilizarse para gestionar usuarios y grupos en el servidor OpenLDAP.
Crea un nuevo archivo‘/etc/ldap/users.ldif‘ utilizando el editor nano.
sudo nano /etc/ldap/users.ldif
Copia y pega la siguiente configuración. Esta configuración creará un nuevo grupo llamado‘Personas‘ en el nombre de dominio‘midominio.local‘.
dn: ou=People,dc=mydomain,dc=local
objectClass: organizationalUnit
ou: People
Guarda y cierra el archivo.
A continuación, ejecuta el comando«ldapadd» para añadir el grupo definido en el archivo«users.ldif «.
sudo ldapadd -D "cn=admin,dc=mydomain,dc=local" -W -H ldapi:/// -f /etc/ldap/users.ldif
Se te pedirá que introduzcas la contraseña «admin» del servidor OpenLDAP. Y cuando el proceso se realice con éxito, deberías ver un mensaje como‘añadiendo una nueva entrada «ou=People,dc=mydomain,dc=local»‘.
Para verificar el grupo‘People’, ejecuta el comando‘ldapsearch‘ que aparece a continuación. Este comando mostrará los grupos disponibles en el servidor OpenLDAP.
sudo ldapsearch -x -b "dc=mydomain,dc=local" ou
Ahora deberías ver que el grupo «Personas» está disponible en el servidor OpenLDAP.
Configurar el nuevo usuario
Después de configurar el grupo en el OpenLDAP, ahora puedes añadir un nuevo usuario al servidor OpenLDAP. Esto también se puede hacer utilizando el archivo LDIF y la herramienta de línea de comandos ‘ldapadd’.
Ahora crea un nuevo archivo‘alice.ldif‘ utilizando el editor nano.
sudo nano alice.ldif
Copia y pega la siguiente configuración y asegúrate de cambiar la contraseña‘AlicePassword‘ por la contraseña fuerte.
En este ejemplo, crearás un nuevo usuario llamado‘alice‘ con el directorio principal‘/home/alice‘ y el shell por defecto‘/bin/bash‘. Además, el usuario ‘alice‘ forma parte del grupo‘Personas‘.
# Add user alice to LDAP Server
dn: cn=alice,ou=People,dc=mydomain,dc=local
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: alice
uid: alice
uidNumber: 10001
gidNumber: 10001
homeDirectory: /home/alice
userPassword: AlicePassword
loginShell: /bin/bash
Guarda y cierra el archivo.
A continuación, ejecuta el comando«ldapadd» para añadir un nuevo usuario basado en el archivo«alice.ldif«.
sudo ldapadd -D "cn=admin,dc=mydomain,dc=local" -W -H ldapi:/// -f alice.ldif
Introduce la contraseña de administrador de OpenLDAP y deberías obtener una salida como‘adding new entry «cn=alice,ou=People,dc=mydomain,dc=local»‘, lo que significa que el nuevo usuario‘alice‘ se ha añadido al servidor OpenLDAP.
Ejecuta el comando‘ldapsearch‘ que aparece a continuación para obtener la lista de usuarios en el servidor OpenLDAP.
sudo ldapsearch -x -b "ou=People,dc=mydomain,dc=local"
Deberías obtener un resultado como el de la siguiente captura de pantalla. El nuevo usuario «alice» ya está disponible en el servidor OpenLDAP.
Conclusión
¡Enhorabuena! Ya has instalado con éxito el servidor OpenLDAP en el servidor de Debian 11. Además, has aprendido a añadir grupos y usuarios utilizando los archivos LDIF (LDAP Data Interchange Format) y la herramienta de línea de comandos «ldapadd».
En el siguiente paso, quizá te interese saber más sobre cómo añadir máquinas Linux, como Ubuntu y CentOS, al servidor OpenLDAP.