Instalar OpenLDAP en Debian Jessie y crear un directorio LDAP básico

Directorio LDAP básico con unidades organizativas, grupos y usuarios.

LDAP son las siglas correspondientes a Lightweight Directory Access Protocol, que en español se traduce como Protocolo Ligero/Simplificado de Acceso a Directorios. Como bien indica su nombre, se trata de un protocolo usado para acceder a través de la red a información guardada en directorios en un equipo servidor. Y sí, se recalca su rapidez conforme a otro tipo de sistemas para almacenar información como pueden ser las bases de datos relacionales.

Este sistema se organiza de forma jerárquica haciendo uso de directorios. Estos pueden almacenar variedad de información tanto de personas como de objetos. Su uso más habitual es como agenda de contactos o como método de autenticación de usuarios, los cuales se pueden conectar en red. Ambos casos pueden incluir información de personas como número de teléfono, dirección, dirección de correo electrónico, contraseña o descripción.

Instalando el servidor LDAP en Debian Jessie

Para instalar y configurar el servidor OpenLDAP en Debian Jessie ejecutamos el comando apt-get install slapd donde seguidamente nos requerirá establecer la contraseña de administrador de LDAP.
Configuring-slapd, configurando LDAP.

Esta instalación creará por defecto un directorio LDAP con dos entradas que podemos consultar con el comando slapcat Cada entrada se identifica de manera única con un Distinguished Name (dn). También podemos hacer uso del comando ldapsearch -x -h localhost

Las configuraciones del directorio LDAP instalado no están bien establecidas, por lo que reconfiguramos el paquete mediante la instrucción dpkg-reconfigure -plow slapd y configuramos los parámetros requeridos.

Para ello debemos marcar la opción no en la primera pregunta para omitir la configuración del servidor OpenLDAP. Tras esto pasaremos a la pantalla Configuring slapd que pedirá el nombre de dominio DNS. En nuestro caso será egarcia.gonzalonazareno.org que creará el directorio con dc=egarcia, dc=gonzalonazareno, dc=org.

Las configuraciones a establecer en las pantallas son las siguientes:

  1. Nombre de dominio DNS: egarcia.gonzalonazareno.org
  2. Nombre de la organización: IES Gonzalo Nazareno
  3. Contraseña del administrador de OpenLDAP.
  4. Motor de base de datos: MDB (opción por defecto).
  5. Marcamos que no se elimine el directorio cuando slapd se elimine (opción por defecto).
  6. Seleccionamos que se mueva el antiguo directorio (opción por defecto).
  7. Indicamos que no se utilice el protocolo LDAPv2 para utilizar la versión LDAPv3 (opción por defecto).

Ahora, la salida del comando slapcat mostrará el directorio LDAP con la configuración correcta realizada en el proceso anterior.

Directorio por defecto en OpenLDAP.

Directorio LDAP creado por defecto tras la instalación de OpenLDAP.

También instalamos el paquete ldap-utils que contiene herramientas y utilidades para realizar gestiones en el servidor LDAP. Por lo tanto que ejecutamos apt-get install ldap-utils

Crear y configurar unidades organizativas, grupos y usuarios

El formato LDIF (LDAP Data Interchange Format) es un estándar para archivos con configuraciones de LDAP. Se escribe texto plano y en él se puede agregar, modificar eliminar y cambiar el nombre de registros que luego son cargados mediante un comando. Es el formato en el que se muestran las salidas de slapcat y cada elemento se separa con una línea en blanco.

Los usuarios, grupos y unidades organizativas pueden realizarse a través de un único fichero con extensión .ldif o separando la información en varios ficheros, según creamos conveniente.

Para mantener los ficheros .ldif en un mismo lugar, creamos un directorio llamado LDAP en nuestro directorio personal. En él crearemos fichero unidadesorganizativas.ldif, grupos.ldif y usuarios.ldif.

Comenzamos con la creación de dos unidades organizativas: People y Group.

Cargamos la configuración de este fichero con ldapadd -x -D 'cn=admin,dc=egarcia,dc=gonzalonazareno,dc=org' -W -f unidadesorganizativas.ldif donde se nos pedirá la contraseña del administrador y mostrará adding new entry por cada OU añadida.

Igualmente hacemos lo mismo con el grupo que he decidido llamar Usuarios y tiene como ID de grupo el número 2000: creamos fichero y cargamos configuración.

En el fichero referente a los usuarios puede ser necesario un paso previo para insertar ciertos datos.

Por ejemplo, en el caso de una contraseña es necesario cifrar la contraseña del usuario con el comando slappasswd que generará un resultado a pegar en el campo userPassword.

También es necesario hacerlo para guardar campos con caracteres extraños (tildes, ñ’s, ç’s…). Estos deben ser codificados en Base64 para garantizar que se muestran y almacenan correctamente.

LDIF reconoce que un campo está en Base64 mediante el uso doble del símbolo de dos puntos y no uno como es lo habitual.

En nuestra terminal podemos hacer la codificación con base64 y base64 -d para hacer el proceso inverso.

Directorio por defecto en OpenLDAP.

Directorio LDAP creado por defecto tras la instalación.

Por ejemplo, en este caso el Common Name (CN) ha sido codificado porque mi primer apellido contiene una tilde. Igualmente podéis ver que el Surname (SN) también lo he incluido en Base64.

Al igual que los dos archivos anteriores, lo cargamos en nuestro servidor LDAP con ldapadd -x -D 'cn=admin,dc=egarcia,dc=gonzalonazareno,dc=org' -W -f usuarios.ldif

Cargando configuraciones en OpenLDAP Debian Jessie.

Ejecución de comandos para cargar la configuración de los archivos LDIF.

Nuevamente, podemos ver el resultado de nuestro directorio con la ejecución de slapcat Recuerda que esto generará una salida en formato LDIF que puede resultar útil para realizar backups de nuestro directorio LDAP.

Ejecución del comando slapcat en LDAP.

slapcat muestra el resultado del directorio LDAP configurado.

Referencias

Compartir es agradecer. Si te ha gustado... ¡compartélo!
Comparte con tus amigos










Enviar

1 respuesta

  1. 28 octubre, 2016

    […] en el directorio LDAP básico creado en anteriormente y documentado en la entrada Instalar OpenLDAP en Debian Jessie y crear un directorio LDAP básico, crearemos un sistema de cuentas centralizados en el que se puedan identificar usuarios remotamente […]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.