Cómo instalar el servidor OpenLDAP y el gestor de cuentas LDAP en Debian 12
OpenLDAP es una implementación de software del Protocolo Ligero de Acceso a Directorios (LDAP). OpenLDAP es un software libre y de código abierto con su licencia de estilo BSD llamada OpenLDAP Public License. Su software LDAP de línea de comandos está disponible en la mayoría de las distribuciones de Linux, como CentOS, Ubuntu, Debian, SUSE y muchas más.
OpenLDAP es un paquete completo de software para servidores LDAP, que incluye SLAPD (demonio LDAP autónomo), SLURPD (demonio LDAP autónomo de replicación de actualizaciones) y algunas utilidades y herramientas para gestionar servidores LDAP. OpenLDAP es un servidor LDAP altamente personalizable y compatible con las principales plataformas informáticas.
Este artículo te guiará paso a paso en la instalación del servidor OpenLDAP en Debian 12. También instalarás el Gestor de Cuentas LDAP o LAM, una aplicación web PHP que puede utilizarse para gestionar el servidor OpenLDAP.
Requisitos previos
Debes tener lo siguiente para empezar esta guía:
Un servidor Debian 12 – Esta demo utiliza una máquina con nombre de host ldap y dirección IP 192.168.10.15.
Un usuario no root con privilegios de administrador.
Configurar el FQDN
En el primer paso, debes configurar el fqdn (Fully Qualified Domain Name) adecuado de tu servidor Debian. Esto puede conseguirse utilizando la utilidad hostnamectl y modificando el archivo /etc/hosts.
Ejecuta el siguiente comando hostnamectl para configurar el fqdn de tu servidor Debian. En este caso, la fqdn que se utilizará para el servidor OpenLDAP es ldap.midominio.local.
sudo hostnamectl set-hostname ldap.mydomain.local
Utilizando el comando editor nano, abre el archivo /etc/hosts.
sudo nano /etc/hosts
Añade la dirección IP de tu servidor OpenLDAP, el nombre de host y el fqdn de esta forma:
192.168.10.15 ldap.mydomain.local ldap
Una vez terminado, guarda el archivo y sal del editor.
Por último, ejecuta el siguiente comando para asegurarte de que tienes el fqdn adecuado. A continuación, asegúrate de que el fqdn apunta a la dirección IP correcta.
sudo hostname -f sudo ping -c3 ldap.mydomain.local
En el siguiente resultado, deberías ver que la fqdn del servidor Debian es ldap.midominio.local, que apunta a la dirección IP local 192.168.10.15.
Instalación y servidor OpenLDAP
Tras configurar la fqdn, puedes instalar el paquete del servidor OpenLDAP mediante APT desde el repositorio oficial de Debian. A continuación, debes configurar algunos datos básicos sobre tu servidor OpenLDAP, como el nombre de dominio y la contraseña de administrador.
Antes de instalar OpenLDAP, ejecuta el comando apt update para actualizar el índice de paquetes de Debian.
sudo apt update
A continuación, ejecuta el comando apt install para instalar el paquete del servidor OpenLDAP. Cuando se te solicite, introduce y para confirmar y continuar con la instalación.
sudo apt install slapd ldap-utils
Durante la instalación, se te pedirá que establezcas la contraseña de administrador para el servidor OpenLDAP. Introduce tu contraseña y repite la operación.
Una vez instalado el servidor OpenLDAP, ejecuta el siguiente comando para configurar tu instalación de OpenLDAP.
sudo dpkg-reconfigure slapd
Selecciona NO cuando se te pregunte si deseas omitir la configuración por defecto de OpenLDAP.
Introduce el nombre de dominio de tu servidor OpenLDAP y selecciona Aceptar.
Introduce ahora el nombre de la organización y selecciona Aceptar.
A continuación, introduce la contraseña de administrador del servidor OpenLDAP y repite la contraseña.
Cuando te pregunten si quieres borrar la antigua base de datos del servidor OpenLDAP, selecciona NO.
Para finalizar la configuración del servidor OpenLDAP, selecciona SÍ cuando se te pida mover la antigua base de datos OpenLDAP a una nueva ubicación.
Cuando hayas terminado, deberías obtener una salida como ésta:
Una vez configurado el servidor OpenLDAP, ejecuta el siguiente comando systemctl para reiniciar el servicio slapd de OpenLDAP y aplicar los cambios. A continuación, verifica el servicio slapd para asegurarte de que se está ejecutando.
sudo systemctl restart slapd sudo systemctl status slapd
Si se está ejecutando, deberías obtener una salida como activo (en ejecución).
Por último, ejecuta el siguiente comando para verificar el nombre de dominio de tu servidor OpenLDAP.
sudo slapcat
Si todo va bien, deberías ver que el servidor OpenLDAP está configurado con el dominio personalizado. En este caso, el nombre de dominio es ldap.midominio.local.
Proteger OpenLDAP con UFW
En este caso, protegerás tu servidor OpenLDAP mediante UFW. Por tanto, instalarás UFW mediante APT, luego configurarás UFW y abrirás los protocolos LDAP, LDAPS, HTTP y HTTPS.
Primero, instala UFW mediante el siguiente comando apt install. Escribe y para confirmar la instalación.
sudo apt install ufw
Una vez instalado UFW, ejecuta el siguiente comando para añadir el perfil OpenSSH y habilitar UFW. Escribe y y pulsa ENTER para confirmar.
sudo ufw allow OpenSSH sudo ufw enable
La salida«El cortafuegos está activo y habilitado al iniciar el sistema» debería indicar que el UFW está ahora en ejecución y habilitado.
A continuación, ejecuta los siguientes comandos ufw para habilitar los perfiles LDAP, LDAPS y WWW Full en UFW.
sudo ufw allow LDAP sudo ufw allow LDAPS sudo ufw allow "WWW Full"
Por último, ejecuta el siguiente comando para recargar la UFW y aplicar los cambios. A continuación, comprueba el estado de la UFW para asegurarte de que tanto LDAP como LDAPS están disponibles en la UFW.
sudo ufw reload sudo ufw status
Añadir grupo base
Tras instalar el servidor OpenLDAP y UFW, ahora crearás el grupo base para tu servidor OpenLDAP mediante el archivo LDIF. El grupo base se utilizará aquí para almacenar los usuarios y grupos de OpenLDAP.
Crea un nuevo archivo LDIF base.ldif utilizando el siguiente comando del editor nano.
sudo nano base.ldif
Introduce la siguiente configuración y asegúrate de cambiar el nombre del dominio por tu dominio. En este caso, crearás dos grupos base, Personas y Grupos.
# base.ldif dn: ou=People,dc=ldap,dc=mydomain,dc=local objectClass: organizationalUnit ou: people dn: ou=Groups,dc=ldap,dc=mydomain,dc=local objectClass: organizationalUnit ou: groups
Cuando hayas terminado, guarda el archivo y sal del editor.
Ahora ejecuta el siguiente comando para añadir un nuevo grupo base a través del archivo base.ldif. Cuando se te solicite, introduce tu contraseña de administrador de OpenLDAP.
sudo ldapadd -x -D cn=admin,dc=ldap,dc=mydomain,dc=local -W -f base.ldif
Por último, ejecuta el siguiente comando ldapsearch para encontrar el grupo base disponible en tu servidor OpenLDAP.
sudo ldapsearch -x -b "dc=ldap,dc=mydomain,dc=local" ou
Si todo va bien, deberías ver dos grupos base Personas y Grupos disponibles en el OpenLDAP.
Añadir un nuevo usuario
En esta sección, crearás un nuevo usuario OpenLDAP a través del archivo LDIF.
Para crear un nuevo usuario OpenLDAP, debes generar la contraseña cifrada mediante el comando slappasswd que se indica a continuación. Introduce tu contraseña y repítelo, luego copia la contraseña generada.
sudo slappasswd
Ahora utiliza el siguiente comando del editor nano para crear un nuevo archivo LDIF user.ldif.
nano user.ldif
Introduce la siguiente configuración y asegúrate de cambiar los detalles del usuario, la contraseña y el nombre de dominio. En este caso, crearás un nuevo usuario y grupo debian.
# user.ldif dn: uid=debian,ou=People,dc=ldap,dc=mydomain,dc=local objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount cn: debian sn: bookworm userPassword: {SSHA}23rFF1ofbNo5MRxEJo6D2Z4PT2GOxeWt loginShell: /bin/bash uidNumber: 2000 gidNumber: 2000 homeDirectory: /home/debian shadowLastChange: 0 shadowMax: 0 shadowWarning: 0 dn: cn=debian,ou=Groups,dc=ldap,dc=mydomain,dc=local objectClass: posixGroup cn: debian gidNumber: 2000 memberUid: debian
Al terminar, guarda y sal del archivo.
A continuación, ejecuta el siguiente comando ldapadd para añadir tu usuario a través del archivo LDIF user.ldif. Introduce tu contraseña de administrador de OpenLDAP cuando se te solicite.
sudo ldapadd -x -D cn=admin,dc=ldap,dc=mydomain,dc=local -W -f user.ldif
Por último, ejecuta el siguiente comando para buscar usuarios que estén disponibles en el grupo base Personas. Si tienes éxito, deberías ver el usuario debian añadido al servidor OpenLDAP.
sudo ldapsearch -x -b "ou=People,dc=ldap,dc=mydomain,dc=local"
Instalación del Gestor de Cuentas LDAP
Llegados a este punto, ya has finalizado la instalación del servidor OpenLDAP. En los dos pasos siguientes, instalarás el Gestor de Cuentas LDAP (LAM) a través del repositorio oficial de Debian, y después configurarás LAM con tu instalación del servidor OpenLDAP.
Ejecuta el siguiente comando apt install para instalar el gestor de cuentas ldap-account-manager en tu servidor OpenLDAP. Al instalar ldap-account-manager, también instalarás dependencias adicionales como PHP 8.2 y el servidor web Apache2.
sudo apt install ldap-account-manager
Escribe y para confirmar la instalación.
Una vez instalado ldap-account-manager, utiliza el comando editor nano para abrir el archivo de configuración de PHP /etc/php/8.2/apache2/php.ini.
sudo nano /etc/php/8.2/apache2/php.ini
Cambia el parámetro por defecto memory_limit a 256M.
memory_limit = 256M
Cuando hayas terminado, guarda y sal del archivo.
A continuación, abre la configuración de Apache2 para ldap-account-manager /etc/apache2/conf-enabled/ldap-account-manager.conf utilizando el comando editor nano.
sudo nano /etc/apache2/conf-enabled/ldap-account-manager.conf
Cambia el parámetro » Requerir todo concedido» por «Requerir subred ip», y asegúrate de añadir tu dirección IP local y permitir que acceda al Gestor de Cuentas LDAP.
``` #Require all granted Require ip 127.0.0.1 192.168.10.0/24 ```
Guarda el archivo y sal de él cuando hayas terminado.
Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio apache2 y aplicar los cambios.
sudo systemctl restart apache2
Por último, inicia tu navegador web y visita la dirección IP del servidor con la ruta lam (es decir: http://192.168.10.15/lam) para acceder al Gestor de Cuentas LDAP. Si tienes éxito, deberías ver la página LAM como ésta
Configuración del Gestor de Cuentas LDAP
En el siguiente paso añadirás tu servidor OpenLDAP al Gestor de Cuentas LDAP. Esto se puede hacer fácilmente a través de un navegador web.
Haz clic en el menú Configuración L AM de la parte superior derecha.
Haz clic en Editar perfiles de servidor para modificar el perfil OpenLDAP.
Cuando se te pregunte, introduce el usuario y la contraseña lam por defecto, y haz clic en Aceptar para continuar.
Ahora deberías ver la página de configuración del LAM.
Dentro de la Configuración General, configura la siguiente sección:
- En Configuración de la herramienta, introduce el nombre de dominio de tu servidor OpenLDAP.
- En Configuración de seguridad, selecciona el método de inicio de sesión como Lista fija e introduce los datos del usuario administrador del servidor OpenLDAP.
- En Contraseña del perfil, introduce la nueva contraseña y repítelo.
Haz clic en Guardar para aplicar los cambios.
A continuación, haz clic en la sección Tipos de Cuenta y configura la siguiente sección:
- En la sección Usuarios, introduce el dominio base por defecto para los usuarios OpenLDAP. En este caso, el sufijo por defecto es Personas.
- En la sección Grupos, introduce el dominio base por defecto para el grupo. En este caso, el otro grupo por defecto es Grupos.
Haz clic en Guardar para aplicar los cambios.
Ahora deberías ser redirigido a la página de inicio de sesión de LAM. Introduce el usuario administrador y la contraseña de tu servidor OpenLDAP, y haz clic en Iniciar sesión.
En la sección Usuarios, deberías ver el usuario debian.
Conclusión
Siguiendo esta guía paso a paso, habrás completado la instalación del servidor OpenLDAP y del Gestor de Cuentas LDAP en Debian 12. También has asegurado el servidor OpenLDAP mediante UFW y has creado un usuario en OpenLDAP mediante un archivo LDIF. Por último, también has integrado LAM con el servidor OpenLDAP. Ahora puedes añadir más usuarios al servidor OpenLDAP mediante el Gestor de cuentas LDAP.