LDAP (parte 1): Instalar OpenLDAP en Ubuntu 20.04 LTS
LDAP es un protocolo de acceso distribuido, con una estructura ordenada, que permite establecer un servicio de directorio, con información accesible a través de la red.
Como en otros casos más complejos, como Active Directory, LDAP permite la organización de datos por ámbitos geográficos, estructurales, etc. Y suele utilizar un espacio de nombres basado en DNS.
Las entradas del directorio pueden representar un amplio abanico de objetos, como usuarios, grupos, unidades organizativas, carpetas, archivos, impresoras, etc.
Uno de los usos más interesantes que podemos darle, es el almacenamiento de la información de autenticación de los usuarios, que nos permitirá gestionarla de forma centralizada. Este es el uso que aprenderemos a hacer del protocolo LDAP en la serie de artículos que comenzamos hoy
Por cierto, el nombre LDAP está formado por las siglas en inglés de Lightweight Directory Access Protocol (Protocolo Ligero de Acceso a Directorios).
Si necesitas conocer más datos sobre LDAP, puedes consultar nuestro libro gratuito Sistemas Operativos en Red (2ª edición). En particular, el Capítulo 12: Instalar y configurar OpenLDAP en Ubuntu.
Para nuestra implementación usaremos OpenLDAP, una implementación de código abierto para el protocolo LDAP, que podemos encontrar en multituc de sistemas, como BSD (FreeBSD), Solaris (OpenSolaris), HP-UX, IBM AIX, macOS, Windows (versiones de escritorio y servidor) y, por supuesto, GNU/Linux.
Hoy te mostramos cómo instalarlo sobre Ubuntu Server 20.04 LTS, y en los próximos artículos veremos cómo configurarlo de forma adecuada.
En el último artículo de la serie, dando por hecho que dispones del sistema de archivos NFS debidamente instalado y configurado para exportar la carpeta /home, te enseñaremos a crear perfiles móviles de usuario en Ubuntu usando NFS y LDAP… Aunque esta última parte solo será necesaria cuando necesites este tipo de perfiles.
Si necesitas ayuda con NFS, te recomiendo revisar el capítulo 11, Instalar y configurar NFS en Ubuntu, de nuestro libro Sistemas Operativos en Red (2ª edición).
Configuración inicial
Existen algunas cuestiones que deberemos tener en cuenta antes de instalar y configurar Ubuntu como servidor LDAP:
-
Lo primero será asegurarnos de que el sistema tiene asignada una dirección IP estática. Si tienes dudas sobre cómo conseguirlo, puedes consultar el artículo Establecer una dirección IP estática en Ubuntu Server 20.04.
Para consultar la configuración de red y asegurarte de que es correcta, puedes ejecutar el siguiente comando, aunque el nombre concreto del archivo puede cambiar ligeramente en tu sistema:
cat /etc/netplan/00-installer-config.yaml
-
También comprobaremos que los archivos/etc/hostname y /etc/hosts contienen los nombres adecuados para el servidor.
En el caso de /etc/hostname, para asignar un nuevo nombre al servidor, bastará con ejecutar el siguiente comando:
sudo hostnamectl set-hostname ldapserver.somebooks.local
Con /etc/hosts el proceso es un poco más largo: debemos editar el archivo e incluir las líneas que relacionen la dirección IP estática del servidor con los nombres lógicos que tenemos previsto utilizar.
Para lograrlo, comenzaremos usando, por ejemplo, el editor nano:
sudo nano /etc/hosts
Una vez que nos encontramos en el entorno del editor, modificamos la línea que hace referencia al bucle local y añadimos una nueva línea que haga referencia a la dirección IP estática. En definitiva, algo como esto:
127.0.1.1 ldapserver.somebooks.local ldapserver 192.168.1.10 ldapserver.somebooks.local ldapserver
… pero, como antes, adaptando los nombres a tus necesidades.
Como antes, si tienes alguna duda sobre cómo hacerlo, puedes consultar el artículo Proporcionar un nuevo nombre para el equipo en Ubuntu 20.04 LTS.
Instalar el software necesario
El proceso de instalación es realmente sencillo. Básicamente consiste en instalar el paquete slapd, aunque nosotros también instalaremos el paquete que contiene las utilidades de administración de LDAP: ldap-utils. Sin embargo, lo primero será asegurarnos de que el sistema se encuentra completamente actualizado. Para lograrlo, bastará con ejecutar una orden como la siguiente:
sudo apt update -y && sudo apt upgrade -y && sudo apt dist-upgrade -y
En realidad, se trata de tres comando, que se ejecutarán de forma sucesiva: el primero actualiza los repositorios del sistema, el segundo actualiza los paquetes que sean necesarios y el tercero se asegura de llevarlos a su última versión.
Por su parte, con el argumento -y indicamos que aplique, de forma predeterminada, una respuesta afirmativa para cualquier pregunta que el sistema necesite hacernos. De este modo, el comando se ejecuta sin preguntar nada.
Una vez completada la actualización, pasamos a la instalación propiamente dicha. Como los dos paquetes que necesitamos se encuentran en los repositorios oficiales de Ubuntu 20.04 LTS, sólo tenemos que escribir en la terminal la siguiente orden:
sudo apt install slapd ldap-utils -y
Durante el proceso, aparece el asistente de instalación de OpenLDAP, que realiza una configuración predeterminada y solo nos pide la contraseña de administración.
En realidad, no es importante el valor que incluyas ahora, porque después realizaremos la configuración de forma manual.
Como suele ocurrir cuando escribimos una contraseña, para evitar que hayamos cometido algún error tipográfico que después nos impida la entrada, el sistema nos pide que volvamos a escribirla.
Al hacerlo, la pantalla vuelve a su aspecto habitual y la instalación sigue su curso, hasta completarse un momento más tarde.
Realizar la configuración básica
Una vez concluida la instalación, debemos realizar la configuración que te mencionaba más arriba. Y para lograrlo, basta con usar el siguiente comando:
sudo dpkg-reconfigure slapd
Así conseguiremos que se inicie de nuevo el asistente de configuración, pero esta vez nos pedirá todos los datos.
Lo primero que nos pregunta el asistente es si queremos omitir la configuración de OpenLDAP.
Después, deberemos escribir el nombre DNS del dominio que usaremos en nuestro directorio LDAP. En mi ejemplo, usaré el siguiente:
somebooks.local
… Pero te recuerdo que deberás ajustarlo a tus necesidades.
A continuación, deberemos escribir el nombre de la empresa o entidad en la que estemos realizando la instalación. En mi caso, escribiré lo siguiente:
somebooks
Lo siguiente será escribir la contraseña de administración. Ahora sí debe ser la buena y, como siempre, deberá ser segura.
Si consideras que la contraseña local cumple con las necesidades, no hay ningún inconveniente para volver a usarla, aunque serás tú quien deba evaluar este aspecto en función de los requisitos de seguridad de tu entorno.
Como se trata de una contraseña, deberemos volver a escribirla para evitar contratiempos futuros.
Seguidamente, el asistente nos pregunta si queremos eliminar la base de datos de configuración antigua.
Por último, el asistente nos avisa de que aún quedan archivos en la carpeta de LDAP, que pueden estropear el proceso de configuración y nos pide autorización para retirarlos antes de creare la nueva base de datos.
Al hacerlo, se cierra el asistente la ventana vuelve a su aspecto inicia, donde podemos comprobar que las operaciones de configuración se han realizado correctamente.
Con esto, habremos terminado la tarea.
Comprobar la instalación
Una vez concluida la instalación, podemos comprobar que todo es correcto usando el comando slapcat:
sudo slapcat
El objetivo de este comando consiste en obtener la información de la base de datos LDAP.
La salida se produce en formado LDIF, lo que nos facilitará exportar la estructura del directorio LDAP o, sencillamente, obtener una copia de respaldo de su contenido. Para lograrlo, bastará con con redirigir su salida a un archivo.
Puedes obtener más información sobre los archivos LDIF en el Capítulo 12: Instalar y configurar OpenLDAP en Ubuntu de nuestro libro Sistemas Operativos en Red (2ª edición).
Nosotros lo ejecutamos sin hacer ninguna redirección, porque solo pretendemos obtener el resultado en la pantalla.
Y comprobamos que la salida se corresponde con lo que esperamos.
Con esto terminamos el contenido del artículo. En los siguientes, seguiremos añadiendo funcionalidad al directorio LDAP. Espero que te esté resultado interesante.