Cómo instalar y configurar un servidor OpenLDAP en Ubuntu

En el mundo digital acelerado de hoy, llevar un registro de las cuentas de usuario y el control de acceso no es una tarea sencilla. ¡Pero no temas! OpenLDAP es la solución a tus problemas, una implementación de código abierto generalizada del Protocolo de Acceso a Directorios Ligeros (LDAP).

Este tutorial te guiará a través de los entresijos de la configuración de un servidor OpenLDAP en tu máquina Ubuntu. Di adiós a los datos de usuario dispersos y hola al manejo centralizado, autenticación y autorización.

¡Sigue leyendo para agilizar la gestión de usuarios y simplificar tus flujos de trabajo de TI!

Requisitos previos

Este tutorial incluye demostraciones prácticas para configurar un servidor OpenLDAP. Si deseas seguir, asegúrate de tener lo siguiente:

  • Dos máquinas (una para el servidor y otra para el cliente) ejecutando Ubuntu 20.04 o posterior.
  • A non-root user with sudo privileges on both machines.

Instalación del servidor OpenLDAP en UbuntuDespués de asegurarte de que tu sistema esté listo, ahora profundizarás en el corazón de tu configuración, instalando el servidor OpenLDAP. LDAP tiene un peso significativo en la administración del servidor, especialmente al gestionar cuentas de usuario y control de acceso dentro de la red de una organización.

Desde garantizar la preparación de su sistema, ahora profundiza en el corazón de su configuración, instalando el servidor OpenLDAP. LDAP tiene un peso significativo en la administración de servidores, especialmente al gestionar cuentas de usuario y control de acceso dentro de la red de una organización.

Para instalar el servidor OpenLDAP en su sistema, siga los siguientes pasos:

? A lo largo de esta guía, debe usar su nombre de dominio para reemplazar ata.com.

1. Abra su terminal y ejecute el siguiente comando para establecer el nombre de host de su máquina (es decir, ldap.ata.com). Este comando no tiene salida en la terminal pero permite que otros dispositivos en la red reconozcan su máquina.

sudo hostnamectl set-hostname ldap.ata.com

2. A continuación, ejecute el comando apt update a continuación para actualizar el índice de paquetes de su sistema.

sudo apt update -y
Updating the system’s package list

3. Una vez actualizado, ejecute el siguiente comando apt install para instalar el servidor web Apache y componentes esenciales (módulos PHP). Estos componentes son necesarios para el funcionamiento adecuado de OpenLDAP.

sudo apt install apache2 php php-cgi libapache2-mod-php php-mbstring php-common php-pear -y
Installing Apache web server and essential PHP modules

4. Ahora, ejecute este comando para instalar el servidor OpenLDAP y LDAP Account Manager (LAM), una herramienta de gestión basada en web conveniente.

sudo apt install slapd ldap-utils -y && sudo apt install ldap-account-manager -y
Installing the OpenLDAP server and LAM

5. Proporcione una contraseña de administrador para su servidor LDAP cuando se le solicite durante la instalación.

Providing an admin password for the LDAP server

6. Una vez instalado, ejecute el siguiente comando systemctl para confirmar el estado del servidor OpenLDAP (slapd).

sudo systemctl status slapd
Confirming the OpenLDAP server is active and running

7. Por último, ejecute el comando slapcat a continuación para verificar el contenido de la base de datos LDAP.

sudo slapcat

A list of default schemas and configurations below indicates that OpenLDAP has been installed correctly.

Checking the LDAP database contents

Manteniendo el servidor OpenLDAP seguro con el firewall UFW

Ha instalado con éxito su servidor OpenLDAP, pero debe fortalecer sus defensas antes de que pueda proteger su red. ¿Cómo? Al pedir ayuda a UFW, el firewall predeterminado de Ubuntu.

Configurar el firewall UFW es como establecer un foso digital alrededor de su castillo. Personalizará el firewall para proteger su servidor, permitiendo que solo pase tráfico esencial y manteniendo a raya a los maraudores digitales.

Para garantizar conexiones seguras en su servidor OpenLDAP, debe abrir ciertos puertos para el servidor OpenLDAP de la siguiente manera:

Ejecute los siguientes comandos ufw para permitir el tráfico entrante en los puertos para HTTP (80), HTTPS (443) y LDAP (389).

# Permitir tráfico HTTP
sudo ufw allow 80
# Permitir tráfico HTTPS
sudo ufw allow 443
# Permitir tráfico LDAP
sudo ufw allow 389
Configuring the UFW Firewall for OpenLDAP Server

Ahora, ejecute el comando a continuación para verificar un resumen detallado del estado actual y la configuración de UFW en su sistema.

sudo ufw status verbose

La salida a continuación confirma que las reglas de firewall que agregó se aplicaron correctamente.

Checking the UFW status

Habilitar soporte PHP en Apache para LAM

Después de fortalecer la seguridad de su servidor LDAP con el Firewall UFW, debe asegurarse de que Apache reconozca y procese archivos PHP de manera efectiva. Este paso crítico abre el camino para la integración sin problemas entre Apache y LAM, lo que permite una gestión eficiente de su directorio LDAP.

Para habilitar el soporte PHP en Apache, realice lo siguiente:

1. Ejecute el siguiente comando a2enconf para habilitar un archivo de configuración para la Interfaz de Puerta de Enlace (CGI) Común de PHP de Apache .

Estos archivos de configuración suelen contener directivas relacionadas con la configuración de PHP para Apache, como configurar manejadores o definir opciones para la ejecución de PHP. Al habilitar estos archivos de configuración, se asegura de que Apache esté correctamente configurado para manejar scripts PHP utilizando la interfaz CGI.

sudo a2enconf php*-cgi
Enabling the PHP module

2. Una vez habilitado, ejecute el comando a continuación para recargar el servicio de Apache (apache2) para aplicar los cambios.

Este comando no devuelve nada, pero garantiza que cualquier modificación realizada en la configuración de Apache entre en efecto. Este proceso incluye habilitar el módulo PHP CGI sin reiniciar todo el servicio de Apache.

sudo systemctl reload apache2

3. Ahora, invoque este comando para verificar el estado del servicio apache2 para asegurarse de que todo funcione sin problemas.

sudo systemctl status apache2

La salida mostrará el estado actual del servidor web Apache como activo (en ejecución) sin errores, como se muestra a continuación.

Checking the status of the Apache service

Configurar la interfaz web de LAM

Pasando de habilitar el soporte de PHP en Apache para LAM, ahora se enfoca en un centro de control central donde puede administrar su servidor OpenLDAP: la interfaz web de LAM. Esta interfaz web ofrece una plataforma intuitiva para que los administradores como usted administren los servicios de directorio.

Para configurar la interfaz web de LAM, siga estos pasos:

1. Ejecute el comando ifconfig a continuación para mostrar su información de red.

ifconfig

Busque y anote su dirección IP del servidor (es decir, 192.168.1.7), típicamente denotada por inet.

Noting down the server’s IP address

2. Abra su navegador web favorito y navegue hasta la dirección IP de su servidor seguida de /lam en la barra de direcciones (por ejemplo, http://192.168.1.7/lam). Al hacerlo, redirige su navegador a la interfaz web de LAM, como se muestra a continuación.

Accessing the LAM web interface

3. Haga clic en Configuración de LAM (en la parte superior derecha) en la página de inicio de sesión para acceder a la página de administrador de cuentas LDAP (paso cuatro).

Accessing the LAM Account Manager

4. Ahora, haga clic en Editar perfiles de servidor para modificar sus ajustes de LAM.

Editing server profiles to modify the LAM settings

5. Ingrese la contraseña predeterminada lam en la segunda página de inicio de sesión y haga clic en Aceptar para autenticarse.

Authenticating access to the LAM web interface

6. Una vez iniciada la sesión, configure los siguientes ajustes de servidor y lenguaje en Ajustes generales:

  • Sufijo de árbol – Escriba el nombre distinguido (DN) base de su directorio, como dc=ata,dc=com, reemplazándolos con sus componentes de dominio reales.
  • Idioma predeterminado – Seleccione su preferencia de idioma para la interfaz web de LAM.
  • Zona horaria – Elija la zona horaria que coincida con la ubicación de su servidor, lo cual es crucial para el manejo preciso de la expiración de cuentas.
Configuring the server and language settings

7. Desplácese hacia abajo y establezca las opciones para la seguridad y la contraseña del perfil con lo siguiente:

  • Lista de usuarios válidos – Inserte el DN de su usuario administrador de LDAP, por ejemplo, cn=admin,dc=ata,dc=com.
  • Nueva contraseña y Volver a introducir contraseña – Cree y confirme una contraseña segura para la cuenta de administrador de LAM para reemplazar la contraseña predeterminada inicial.
  • Mantén otras configuraciones como predeterminadas y haz clic en Guardar para aplicar tus configuraciones. Una vez guardado, tu navegador se redireccionará de nuevo a la página de inicio de sesión.
Configuring security settings and profile password

Creación de grupos y usuarios en LAM

Con tu panel de LAM listo, te enfocas en sentar las bases para una estructura de directorio organizada y segura: grupos y usuarios. Crear grupos y usuarios es como organizar a tu equipo en departamentos y darles a todos su pase de identificación.

Para crear grupos y usuarios en LAM, ejecuta lo siguiente:

1. Navega al Administrador de cuentas LDAP siguiendo los pasos tres a cinco de la sección “Configurar la interfaz web de LAM”. Pero esta vez, introduce tu nueva contraseña configurada para el servidor OpenLDAP.

2. En el Administrador de cuentas LAM, navega al menú Tipos de cuenta para ver todas las opciones de tipo de acceso.

Accessing the account types

3. A continuación, desplázate hacia abajo y configura los Sufijos LDAP reemplazando <base_DN> (es decir, dc=ata,dc=com), de manera adecuada como sigue:

  • Usuariosou=Departamentos,<base_DN>
  • Gruposou=Grupos,<base_DN>
  • Deja otras configuraciones como predeterminadas y haz clic en Guardar.

Después de guardar, tu navegador se redireccionará a la página de inicio de sesión de administrador (paso cuatro).

Setting the LDAP suffixes

4. Ahora, ingrese la contraseña de administrador que configuró durante la instalación y haga clic en Iniciar sesión para acceder a su servidor OpenLDAP.

Logging in to the OpenLDAP server

5. Cuando se le solicite, haga clic en CREAR para establecer las dos sufijos que faltan.

Creating the two missing suffixes

6. Al crearse, haga clic en Vista en árbol (superior derecho) para ver los nuevos sufijos LDAP (Departamentos y Grupos) mostrados en una estructura jerárquica, como se muestra a continuación.

Viewing the hierarchical structure

7. A continuación, haga clic en Herramientas (superior derecho) y elija Editor de OU para configurar un nuevo departamento con lo siguiente:

  • DN padre – Elija Departamento > ata > com para el DN padre. Esta opción especifica dónde se creará el nuevo departamento dentro de su directorio LDAP.
  • Nombre – Ingrese IT (arbitrario) como el nombre del departamento (OU).

Una vez configurado, haga clic en ACEPTAR para agregar un nuevo departamento llamado IT.

Adding a new department within the LDAP directory

8. Ahora, navegue a la pestaña Grupos y haga clic en Nuevo grupo para crear un nuevo grupo.

La creación de grupos simplifica la administración, promueve la colaboración, impone políticas y facilita la escalabilidad organizacional.

Creating a new group

9. Proporcione un nombre de grupo descriptivo (es decir, Mi grupo IP) y haga clic en GUARDAR para confirmar el nuevo grupo.

Naming the new group

10. Una vez que se crea el grupo, navegue a la pestaña Usuarios y haga clic en Nuevo usuario para crear un nuevo usuario.

Establecer un marco sólido agrupando a los usuarios de acuerdo con sus roles, departamentos u otros criterios es fundamental. Este marco ayuda a gestionar el acceso a los recursos y promover la colaboración eficiente en toda su organización.

Creating a new user

11. Posteriormente, configure la información personal del usuario de la siguiente manera:

  • Seleccione IT > Departments > ata > com en el menú desplegable Suffix para colocar al usuario en el departamento de IT.
  • En la pestaña Personal (panel izquierdo), ingrese myituser (arbitrario) en el campo Last name.
Setting the ne user’s personal information

12. Configure las credenciales del nuevo usuario con lo siguiente:

  • Diríjase a la pestaña Unix (panel izquierdo) y asegúrese de que el nombre del grupo recién creado (es decir, My IP Group) esté establecido como el Primary Group.
  • Haga clic en Set password, lo que abrirá un cuadro de diálogo en el que establecerá una contraseña para el nuevo usuario (paso 13).
Initiating setting a password for the new user

13. Proporcione una contraseña segura para el nuevo usuario y haga clic en OK para confirmar.

Providing a secure password

14. Mantenga las otras configuraciones tal cual están y haga clic en Save para finalizar la creación de la nueva cuenta de usuario.

Saving the new user

15. Vuelva a visitar el Tree view para ver la estructura actualizada con el nuevo departamento (IT), grupo (My IP Group) y cuenta de usuario (myituser) incluidos.

Verifying the updated structure

Instalación y configuración del cliente OpenLDAP

Ahora que tienes un gran servidor configurado, necesitas una forma de interactuar con él mediante la instalación y configuración del cliente OpenLDAP. Configurar este cliente es esencial para habilitar la autenticación centralizada y el acceso a recursos en toda tu red.

Integrar tu sistema Ubuntu con el servidor de directorio LDAP establece un mecanismo de autenticación unificado, mejorando la seguridad y simplificando la gestión de usuarios.

Para instalar y configurar el cliente OpenLDAP, sigue estos pasos:

1. Ejecuta el siguiente comando sh para agregar el nombre de host e IP del servidor OpenLDAP a tu máquina cliente en el archivo /etc/hosts, permitiendo la comunicación basada en nombres de host.

Recuerda reemplazar 192.168.1.7 y ldap.ata.com con la dirección IP y el nombre de host de tu servidor.

sudo sh -c 'echo "192.168.1.7 ldap.ata.com" >> /etc/hosts'
Adding the OpenLDAP server’s hostname and IP address to the hosts file

2. Una vez agregado, ejecuta el siguiente comando ping para verificar la conectividad entre tu sistema y tu servidor OpenLDAP (ldap.ata.com).

ping -c3 ldap.ata.com

La salida a continuación confirma que la máquina cliente puede comunicarse con éxito con el servidor OpenLDAP utilizando la dirección IP y el nombre de host especificados.

Pinging the LDAP server

3. A continuación, ejecuta el comando a continuación para actualizar tus listas de paquetes y instalar los siguientes paquetes de cliente OpenLDAP necesarios:

  • libnss-ldap – Permite que tu sistema utilice LDAP para bases de datos de configuración comunes.
  • libpam-ldap – Permite la autenticación del sistema contra directorios LDAP.
  • ldap-utils – Proporciona herramientas de línea de comandos para administrar entradas de directorio LDAP.
  • nscd – Almacena en caché las búsquedas de NSS, mejorando el rendimiento al reducir las consultas al servidor LDAP.
sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd -y

Durante la instalación, recibirá una serie de mensajes para configurar el cliente OpenLDAP (paso cuatro).

Updating the package lists and installing the necessary OpenLDAP client packages

4. Ahora, ingrese ldap://192.168.1.7 en el campo Identificador uniforme de recursos LDAP, que dirige al cliente a su servidor OpenLDAP.

Setting the LDAP server Uniform Resource Identifier

5. Introduzca el DN de la base de búsqueda (es decir, dc=ata,dc=com) para operaciones LDAP.

Entering the DN of the search base

6. Elija 3 para la versión LDAP a utilizar para mayor seguridad y características

Selecting the preferred LDAP version

7. A continuación, seleccione para otorgar privilegios de administrador de base de datos al usuario raíz.

Making local root a Database admin

8. Después, elija No para la administración de la cuenta raíz para deshabilitar el inicio de sesión en la base de datos LDAP.

Disabling the LDAP database login

9. Ingrese la cuenta LDAP para raíz (es decir, cn=admin,dc=ata,dc=com). Esta configuración especifica la cuenta de administrador para administrar LDAP.

Provide the LDAP account for the root

10. Proporcione una contraseña segura para la cuenta raíz LDAP (contraseña de administrador).

Provide an LDAP root account password

11. Después de la configuración del cliente, abra el archivo /etc/nsswitch.conf en su editor preferido (es decir, nano o vim) para configurar el interruptor de servicio de nombre de su sistema.

Este archivo determina el orden jerárquico para la búsqueda de elementos como cuentas de usuario, grupos, hosts y servicios en el sistema.

12. Cambie el valor de las siguientes líneas en el archivo /etc/nsswitch.conf para incluir lo siguiente:

compat – Se refiere a archivos locales como /etc/passwd.

ldap – Especifica el uso de LDAP.

Esta configuración permite el uso de la autenticación de usuario LDAP y otras funciones del sistema

passwd:         compat systemd ldap
group:          compat systemd ldap
shadow:         compat
Allowing the use of LDAP user authentication

13. Ahora, abra el archivo /etc/pam.d/common-password, localice y elimine la opción use_authtok, como se destaca a continuación, guarde los cambios y cierre el archivo.

Esta acción le permite ajustar la configuración de contraseñas de PAM para usar la contraseña proporcionada por el usuario.

Adjusting the PAM password settings

14. Además, abra el archivo /etc/pam.d/common-session, agregue la siguiente línea y guarde y cierre el archivo.

Al iniciar sesión el usuario, esta configuración agrega la creación automática de directorios domésticos para garantizar que los directorios domésticos de los usuarios se creen con los permisos adecuados.

session optional pam_mkhomedir.so skel=/etc/skel umask=077
Adding automatic home directory creation upon user login

15. Por último, ejecute el comando a continuación para reiniciar el Demonio de Caché de Servicio de Nombre (nscd) y aplicar los cambios de configuración.

sudo systemctl restart nscd

Comprobando su Configuración de OpenLDAP

Con todo en su lugar, debe asegurarse de que su servidor y configuraciones de cliente de OpenLDAP funcionen como se espera. Probará para confirmar que su directorio LDAP es accesible, que los usuarios pueden autenticarse con éxito y que los datos se están recuperando y actualizando correctamente.

Para garantizar la integridad y funcionalidad de su configuración de servidor y cliente de OpenLDAP, realice lo siguiente:

Ejecute el siguiente comando ldapsearch para consultar su directorio LDAP sobre todas las cuentas de usuario.

ldapsearch -x -H ldap://192.168.1.7 -b "dc=ata,dc=com"

Verá una salida que se parece a algo como lo siguiente, enumerando los detalles de cada usuario. Esta salida indica que el servidor OpenLDAP responde correctamente a sus consultas de búsqueda.

Querying the LDAP directory for all user accounts

Finalmente, intente iniciar sesión (su) en la cuenta de usuario myituser.

su - myituser

Un inicio de sesión exitoso indica que la autenticación contra el servidor OpenLDAP está funcionando como se espera.

? Un mensaje de inicio de sesión exitoso no siempre se mostrará; en su lugar, podría simplemente iniciar sesión y presentarse con un nuevo símbolo del sistema, como se muestra a continuación. Si hay errores, se mostrarán y permanecerá conectado como el usuario actual.

Logging in as the myituser user

Conclusión

¡Lo has logrado! Su servidor Ubuntu ahora tiene un sistema OpenLDAP completamente operativo con un firewall seguro, un servidor web con PHP y una interfaz de administrador de cuentas LDAP elegante.

Los grupos y las cuentas de usuario están configurados y su cliente OpenLDAP está listo para conectarse. Por lo tanto, puede confiar en el rendimiento de su servidor.

Ahora, tómese un tiempo para explorar la completa página oficial de documentación de OpenLDAP, repleta de consejos y trucos valiosos. Además, ¿por qué no considerar aprender cómo hacer una copia de seguridad y restaurar su servidor OpenLDAP para garantizar la seguridad de sus cuentas de usuario y configuraciones?

Source:
https://adamtheautomator.com/openldap/