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.

configurar fqdn

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

instalar openldap

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.

configurar contraseña admin

repetir contraseña

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.

omitir base de datos no

Introduce el nombre de dominio de tu servidor OpenLDAP y selecciona Aceptar.

nombre de dominio openldap

Introduce ahora el nombre de la organización y selecciona Aceptar.

nombre de la organización

A continuación, introduce la contraseña de administrador del servidor OpenLDAP y repite la contraseña.

contraseña admin

repetir contraseña admin

Cuando te pregunten si quieres borrar la antigua base de datos del servidor OpenLDAP, selecciona NO.

eliminar base de datos antigua

Para finalizar la configuración del servidor OpenLDAP, selecciona cuando se te pida mover la antigua base de datos OpenLDAP a una nueva ubicación.

mover base de datos antigua SI

Cuando hayas terminado, deberías obtener una salida como ésta:

configuración acabada

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).

verificar el servicio openldap

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.

comprobar el nombre de dominio openldap

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

instalar 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.

activar ufw

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

verificar ufw

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 dominio base o grupo base

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"

verificar usuario

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.

instalar gestor de cuentas ldap

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

gestor de cuentas ldap

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.

Configuración LAM

Haz clic en Editar perfiles de servidor para modificar el perfil OpenLDAP.

editar perfiles de servidor

Cuando se te pregunte, introduce el usuario y la contraseña lam por defecto, y haz clic en Aceptar para continuar.

contraseña por defecto usuario lam

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.

ajustes generales

contraseña del perfil

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.

usuario y grupos

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.

login lam

En la sección Usuarios, deberías ver el usuario debian.

lista de usuarios disponibles

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.

También te podría gustar...