Está en la página 1de 34

GUíA COMPLETA DE INSTALACIÓN DE OpenLDAP EN

Ubuntu Server 22.04,4

CONTENIDO
CAPITULO 1...................................................................................................................................... .2
Paso 1: Creación de la maquina virtual ubuntuServer.....................................................................2
Paso 2: Instalación del servidor...................................................................................................... .5
Paso 3: Antes de instalar OpenLDAP........................................................................................... .13
Paso 4: Instalar el software necesario........................................................................................... .15
Paso 5: Realizar la configuración básica...................................................................................... .16
Paso 6: Comprando la instalación..................................................................................................18
CAPITULO 2.................................................................................................................................... .19
Paso 1: Crear la estructura del directorio.......................................................................................19
Paso 2: Añadir información a la base de datos OpenLDAP......................................................... .19
CAPITULO 3.................................................................................................................................... .20
Paso 1: Añadir grupos a la estructura del directorio de openLADP............................................. .20
Paso 2: Añadir nuevos usuarios a la estructura del directorio OpenLDAP.................................. .22
Paso 3: Recuperar la información del usuario.............................................................................. .25
CAPITULO 4.................................................................................................................................... .26
Paso 1: Configurar un cliente Ubuntu para autenticarse en el servidor OpenLDAP.....................26
Paso 2: Realizar ajustes en los archivos de configuración.............................................................30
Paso 3: Comprobar el funcionamiento...........................................................................................33
CAPITULO 5.................................................................................................................................... .34
TAREA: Instalar OpenLDAP....................................................................................................... .34
CAPITULO 1
Paso 1: Creación de la maquina virtual ubuntuServer
Paso 2: Instalación del servidor
Su nombre: Juan
Your servers name: ubuntu
Elija un nombre de usuario: usuario
Elija una contraseña: admin
Confirme contraseña: admin

Paso 3: Antes de instalar OpenLDAP


• Verificar que existen dos adaptadores de red (lo hicimos durante la instalación)
• Uno de ellos debe tener una ip estática.
• 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 ldapserver400.jovellanos.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 ldapserver400.jovellanos.local ldapserver400


192.168.1.5 ldapserver400.jovellanos.local ldapserver400
Paso 4: 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

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


Paso 5: Realizar la configuración básica
Ejecuta 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.
Paso 6: Comprando 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.

Y comprobamos que la salida se corresponde con lo que esperamos.


CAPITULO 2

Paso 1: Crear la estructura del directorio


Se trata de una escructura jerárquica llamada DIT (del inglés, Directory Information Tree).
Esto se consigue creando archivos LDIF (LDAP Data Interchange Format), que no son
más que archivos de texto plano con una estructura particular.
Crearemos una plantilla con la que crearemos una Unidad organizativa. Este será el
elemento lógico que agrupará al resto de los objetos que creemos en el directorio a partir
del próximo artículo.
Comenzaremos por abrir un editor de textos, por ejemplo nano, indicándole el nombre de
nuestro archivo:

sudo nano ou.ldif

Aquí lo hemos llamado ou.ldif, pero, lógicamente, podrás llamarlo como te resulte más
apropiado.
Una vez abierto el editor, escribiremos un contenido como este:

Como ves, el objeto se llamará unidad, se encuentra en la parte superior de la jerarquía, y


es una Unidad organizativa.
Lógicamente, tanto el nombre de la unidad, como los datos del dominio deberás
sustituirlos por los valores adecuados para tu implementación

Paso 2: Añadir información a la base de datos OpenLDAP


A continuación, deberemos añadir la información a la base de datos OpenLDAP. Como
sabemos, esto se hace con el comando ldapadd:

sudo ldapadd -x -D cn=admin,dc=jovellanos,dc=local -W -f ou.ldif

La salida del comando nos informará si se ha producido algún error.


De cualquier modo, para asegurarnos, basta con ejecutar el comando slapcat:

La salida nos muestra la estructura del directorio hasta el momento, en formado LDIF.
Con esto, estaremos listos para añadir usuarios y grupos a la estructura del directorio,
pero esa tarea la dejaremos para el siguiente artículo. Espero que esta serie de artículos
te esté resultado interesante.

CAPITULO 3
Paso 1: Añadir grupos a la estructura del directorio de
openLADP

Lo haremos de un modo muy parecido al que hemos utilizado en el capitulo anterior,


cuando creamos la unidad organizativa. Es decir, crearemos un nuevo archivo ldif y, a
continuación, lo integraremos en la base de datos con el comando ldapadd.
Como puedes imaginar, comenzaremos por crear un grupo, y luego un usuario que forme
parte de dicho grupo. Así, seguiremos el orden que establece la jerarquía de los objetos.
Añadir un grupo
Como hemos dicho antes, para añadir un nuevo grupo, comenzaremos creando un
archivo de texto, con extensión ldif. Y para lograrlo, recurriremos a un comando como
este:

sudo nano grp.ldif

Con esto ya estamos listos para cargar el nuevo usuario en el directorio. Sólo tenemos
que escribir el siguiente comando:

sudo ldapadd -x -D cn=admin,dc=jovellanos,dc=local -W -f grp.ldif

Y para tener la completa certeza de que todo es correcto, solo tenemos que usar el
comando slapcat, que nos permite obtener todas las entradas del directorio:
sudo slapcat

Paso 2: Añadir nuevos usuarios a la estructura del directorio


OpenLDAP

Antes de crear el usuario debemos evitar que la contraseña del usuario se almacene en
texto plano dentro del archivo ldif.
Para lograrlo, usaremos el comando slappasswd que produce, a partir de la contraseña
original, un hash utilizando el algoritmo SHA-1 (aunque podríamos cambiar el algoritmo
que se aplique usando el argumento -h).
Por lo tanto, comenzamos ejecutando el comando slappasswd:

sudo slappasswd
A continuación, el comando nos pide la contraseña que queremos utilizar. Es decir, la que
usará inicialmente el usuario que estamos a punto de crear, cuando necesite autenticarse.
Deberemos escribirla por duplicado, como siempre, para evitar errores tipográficos.
Al momento, obtendremos la cadena, codificada con hash SHA-1, que equivale a la
contraseña que hemos escrito. Debemos copiarla para utilizarla en el archivo ldif que
crearemos a continuación.

Ahora sí, ha llegado el momento de crear el archivo ldif para el nuevo usuario. Recuerda
que usar el nombre de archivo que prefieras:

sudo nano usr.ldif

Una vez abierto el editor, escribiremos este contenido:

Observa que hemos incluido al usuario como miembro del grupo que hemos creado más
arriba (gidNumber: 10000) y hemos usado la contraseña que hemos generado antes
Con esto estamos listos para cargar el nuevo usuario en el directorio. Sólo tenemos que
escribir el siguiente comando:

sudo ldapadd -x -D cn=admin,dc=jovellanos,dc=local -W -f usr.ldif

Como antes usaremos el comando slapcat, para obtener todas las entradas del directorio
y asegurarnos de que todo es correcto:
Paso 3: Recuperar la información del usuario

Por último, podemos comprobar que el contenido anterior se recupera


correctamente. Para lograrlo podemos utilizar el comando ldapsearch, que nos permite
hacer una búsqueda en el directorio

ldapsearch -xLLL -b "dc=jovellanos,dc=local" uid=jcuero sn givenName mail

En este ejemplo buscamos un usuario con uid=jcuero pedimos que nos muestre el
contenido de los atributos sn, givenName y cn.

Recuerda: Las plantilas ou.ldif, grp.ldif y usr.ldif te serviran para ir agregando


unidades organizativas, grupos y usuarios al directorio de openLDAP
CAPITULO 4
Paso 1: Configurar un cliente Ubuntu para autenticarse en el
servidor OpenLDAP
Antes de realizar esta práctica debes tener una maquina con ubuntu 22.04.4
Desktop. Configurar dos adaptadores de red, el primero en Red interna y la
dirección ip debe ser estática 192.168.1,10, y el segundo adaptador debe estar
conectado en NAT.

Instalar el software necesario


En Ubuntu, necesitaremos ajustar el comportamiento de los servicios NSS y PAM en cada
cliente que debamos configurar. Para lograrlo, necesitaremos instalar los siguientes
paquetes:
libnss-ldap: Permitirá que NSS obtenga de LDAP información administrativa de los
usuarios (Información de las cuentas, de los grupos, información de la máquina, los
alias, etc.)
libpam-ldap: Que facilitará la autenticación con LDAP a los usuarios que utilicen
PAM.
ldap-utils: Facilita la interacción don LDAP desde cualquier máquina de la red.
El proceso de instalación es realmente sencillo. Sin embargo, lo primero será asegurarnos
de que el sistema se encuentra completamente actualizado.

sudo apt update -y && sudo apt upgrade -y && sudo apt dist-upgrade -y

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-get install libnss-ldap libpam-ldap ldap-utils -y

Durante el proceso, se activa un asistente que nos permite configurar el comportamiento


de ldap-auth-config. En el primar paso, nos solicita la dirección URi del servidor LDAP. En
nuestro caso, escribiremos la dirección IP del servidor y sustituiremos el
protocolo ldapi:/// por ldap://.
Después, el sistema nos pregunta si queremos que sea necesario identificarse para
realizar consultas en la base de datos de LDAP.

Ya sólo nos queda indicar el nombre de la cuenta LDAP que tendrá privilegios para
realizar cambios en las contraseñas. Como antes, deberemos escribir un nombre global
único (Distinguished Name – DN), sustituyendo el valor predeterminado que nos ofrece
(cn=manager,dc=example,dc=net) por que usamos en la configuración del servidor
(cn=admin,dc=jovellanos,dc=local).
Como ocurría con el servidor, si más adelante observamos algún error o necesitamos
efectuar alguna modificación, sólo tenemos que ejecutar el siguiente comando:

sudo dpkg-reconfigure ldap-auth-config


Paso 2: Realizar ajustes en los archivos de configuración.
Para completar la tarea, deberemos cambiar algunos parámetros en los archivos de
configuración del cliente. En concreto, deberemos
editar /etc/nsswitch.conf, /etc/pam.d/common-password y /etc/pam.d/common-
session.

Editar el archivo /etc/nsswitch.conf


En el archivo /etc/nsswitch.conf se incluyen las fuentes desde las que se obtiene la
información del servicio de nombres en diferentes categorías y en qué orden.
Cada categoría de información se identifica bajo un nombre.
Como es habitual, el archivo está formado por texto plano. En él encontraremos columnas
separadas por espacios o caracteres de tabulación. La primera columna indica el
almacenamiento y, las restantes, el orden de los orígenes a consultar y un conjunto
limitado de acciones a realizar como resultado de la consulta.
Para editar el archivo, basta con hacer uso de un editor de textos con privilegios de
administración:

sudo gedit /etc/nsswitch.conf


Para saber si la configuración anterior funciona adecuadamente, usaremos el
comando getent, que consultará el contenido del archivo /etc/nsswitch.conf para
mostrarnos la lista de usuarios, grupos, equipos, etc., que se encuentran registrados en el
sistema. Si la configuración que hemos hecho es correcta, aparecerán también las
cuentas de usuario definidas en el servidor LDAP.
Su sintaxis es como sigue:

sudo getent passwd


El comando nos responderá con la lista de todos los usuarios, grupos, etc., que sean
conocidos. Entre ellos, deben aparecer las cuentas LDAP.

Editar el archivo /etc/pam.d/common-session

El archivo /etc/pam.d/common-session ofrece un conjunto de reglas PAM para el inicio de


sesión, tanto si éste es interactivo como si es no interactivo.
Aquí será donde indiquemos que se debe crear un directorio home durante el primer inicio
de sesión, también para los usuarios autenticados mediante LDAP. Este comportamiento
lo conseguiremos añadiendo al final del archivo la siguiente línea:

session optional pam_mkhomedir.so skel=/etc/skel umask=077

sudo nano /etc/pam.d/common-session


Paso 3: Comprobar el funcionamiento.
Para asegurarnos de que todo funciona correctamente, comenzaremos haciendo una
consulta en el directorio LDAP, al estilo que lo que hacíamos cuanto trabajábamos en el
servidor:

ldapsearch -x -H ldap://192.168.1.5 -b "dc=jovellanos,dc=local"

En ella, usamos el argumento -x para indicar que, en lugar de usar una autenticación con
SASL, lo haga en el modo sencillo, -H nos permite indicar la ubicación del
servidor LDAP y -b para indicar el punto del árbol donde comenzaremos la consulta (en
este aso, la raíz).
Si hasta aquí todo es correcto, afrontaremos la prueba definitiva: identificarnos el el ordenador
cliente con una cuenta de usuario definida en el servidor LDAP. Para lograrlo, podemos utilizar una
orden como esta:

sudo su - jcuero

CAPITULO 5
TAREA: Instalar OpenLDAP
1. Instalar OpenLDAP
1.1. Nombre del host serverXX donde XX representa el número asignado
1.2. Hostname jovellanos.local
1.3. La dirección ip = 192.168.1.5
1.4. La compañía IESMELCHOR
2. Agregar una unidad organizativa “informatica”
3. Agregar dos grupos
3.1. gerencia y finanzas
4. Agregar dos usuarios
4.1. jlopez pertenece al grupo de gerencia y mclara pertenece al grupo de
finanzas
5. Crear pantalla/s al ejecutar el comando sudo slapcat para ver todas las entradas
del directorio

Sigue la guía paso a paso, si tienes alguna dificultad no olvides consultar el libro
https://somebooks.es/capitulo-11-instalar-y-configurar-openldap-en-ubuntu-14-04-lts/8/

También podría gustarte