Sei sulla pagina 1di 15

1.

OBJETIVOS
• Conocer los conceptos de protocolo LDAP y OpenLDAP en Linux.
• Instalar OpenLDAP en Linux.
• Aprender a utilizar los comandos de un servidor LDAP en Linux.

2. MARCO TEÓRICO

2.1. Definición

El Protocolo ligero de acceso a directorios (en inglés, Lightweight Directory Access Protocol,
LDAP) es un conjunto de protocolos abiertos usados para acceder información guardada
centralmente a través de la red. Protocolo TCP-Orientado a la conexión. Un cliente inicia una
sesión de LDAP conectándose a un servidor LDAP, preestablecido en el puerto TCP 389 para un
enlace Sencillo o el puerto TCP 636 para un enlace Simple por SSL (Puerto Seguro) [7].
¨Ç
2.2. Información del protocolo

Un cliente inicia una sesión de LDAP conectándose a un servidor LDAP, preestablecido en el


puerto TCP 389. El cliente luego envía una petición de operación al servidor, y el servidor envía
respuestas. Con algunas excepciones, el cliente no necesita esperar una respuesta antes de
enviar la siguiente petición, y el servidor puede responder en cualquier orden.

El cliente puede requerir las siguientes operaciones:

OPERACIÓN DESCRIPCIÓN
Start TLS Usar la extensión Transport Layer Security (TLS) LDAPv3 para una
conexión segura
Bind Autenticarse y especificar una versión del protocolo LDAP
Search buscar y obtener entradas de directorio
Compare probar si una entrada nombrada contiene un valor de atributo dado
Add Añadir una nueva entrada
Delete Borrar una entrada
Modify Modificar una entrada
Modify Modificar o renombrar una entrada
Distinguished
Name (DN)
Abandon abortar una petición previa
Extended operación genérica usada para definir otras operaciones
Operation
Unbind cerrar la conexión (no es el inverso de Bind)

Además, el servidor puede enviar "notificaciones no solicitadas" que no son respuestas a


ninguna petición, por ejemplo, antes de que se termine el tiempo de conexión.

2.3. Origen

En 1988, la CCITT creó el estándar X.500, sobre servicios de directorio. En 1990 este estándar
fue adoptado por la ISO, como ISO 9594, Data Communications Network Directory,
Recommendations X.500-X.521 [7].

1
X.500 organiza las entradas en el directorio de manera jerárquica, capaz de almacenar gran
cantidad de datos, con grandes capacidades de búsqueda y fácilmente escalable. X.500
especifica que la comunicación entre el cliente y el servidor de directorio debe emplear el
Directory Access Protocol (DAP). Pero DAP es un protocolo a nivel de aplicación, por lo que,
tanto el cliente como el servidor debían implementar completamente la torre de protocolos OSI.
LDAP (Lightweight Directory Access Protocol) surge como una alternativa a DAP. Las claves del
éxito de LDAP en comparación con DAP de X.500 son [7]:

 LDAP utiliza TCP/IP en lugar de los protocolos OSI. TCP/IP requiere menos recursos y
está más disponible, especialmente en ordenadores de sobremesa.
 El modelo funcional de LDAP es más simple y ha eliminado opciones raramente
utilizadas en X.500.
 LDAP es más fácil de comprender e implementar.
 LDAP representa la información mediante cadenas de caracteres en lugar de
complicadas estructuras ASN.1

2.4. Servicio de Directorio


El Servicio de Directorio o simplemente el Directorio es un término que se utiliza para referirse
tanto a la información contenida, el conjunto hardware/software que gestiona dicha
información, las aplicaciones cliente/servidor que utilizan esta información, etc. El Servicio de
Directorio es un conjunto complejo de componentes que trabajan de forma cooperativa para
prestar un servicio. Los directorios permiten localizar información, para ello definen que
información se almacenará y en qué modo se organizará [5].

También un servicio de directorio (SD) es una aplicación o un conjunto de aplicaciones que


almacena y organiza la información de los usuarios de una red de computadores, permitiendo a
los administradores gestionar el acceso de usuarios a los recursos sobre dicha red. Además, los
servicios de directorio actúan como una capa de abstracción entre los usuarios y los recursos
compartidos. Los directorios tienden a contener información descriptiva basada en atributos y
tienen capacidades de filtrado muy sofisticada. Un servicio de directorio no debería confundirse
con el repositorio de directorio, que es la base de datos, esta es la que contiene la información
sobre los objetos nombrados, gestionado por el servicio de directorio [5].

2.5. Árbol de Directorio LDAP


Un directorio LDAP tiene una estructura de árbol. Todos los objetos del directorio tienen una
posición definida en esta jerarquía. A veces refleja varios límites políticos, geográficos u
organizacionales. Se tiende a usar nombres de Sistema de Nombres de Dominio para estructurar
los niveles más altos de la jerarquía. Mientras se desciende en el directorio pueden aparecer
entradas que representan personas, unidades organizacionales, impresoras, documentos,
grupos de personas o cualquier cosa que representa una entrada dada en el árbol [5].
Figura 1 Estructura de Árbol de directorios LDAP.

2.6. Razones para usar LDAP


En un directorio se espera un número muy alto de lecturas frente a escrituras, esto se debe a
que generalmente la información contenida en el directorio cambia raramente. Este es un
aspecto importante, ya que mientras que, en una base de datos de propósito general, las
optimizaciones se realizan tanto en las lecturas como en las escrituras, al crear un directorio, los
esfuerzos de optimización se concentran en las búsquedas y lecturas. Se usará LDAP cuando los
accesos de lectura sean muy superiores a los de escritura (más del 80%).

La mayor ventaja de LDAP es que se puede consolidar información para toda una organización
dentro de un repositorio central. Por ejemplo, en vez de administrar listas de usuarios para cada
grupo dentro de una organización, puede usar LDAP como directorio central, accesible desde
cualquier parte de la red. Puesto que LDAP soporta la Capa de conexión segura (SSL) y la
Seguridad de la capa de transporte (TLS) [5].

2.7. Funcionamiento
2.7.1. Interacción Cliente-Servidor

El esquema de interacción entre el cliente y el servidor LDAP sigue el siguiente esquema:

a) El cliente establece una sesión con el servidor LDAP.


b) El cliente indica el servidor y el puerto en el que el servidor LDAP está escuchando.
c) El cliente puede proporcionar información de autenticación o establecer una sesión
anónima con los accesos por defecto.
d) El cliente efectúa las operaciones sobre los datos. LDAP proporciona capacidades de
búsqueda, lectura y actualización.
e) Una vez finalizadas las operaciones, el cliente cierra la sesión.
Figura 2 Interacción Cliente/Servidor.

2.7.2. Arquitectura Cliente-Servidor del Servicio LDAP

Los servicios de directorio suelen implementarse siguiendo el modelo cliente-servidor, de modo


que una aplicación que desea acceder al directorio no accede directamente a la base de datos,
sino que llama a una función de la API (Application Programming Interface), que envia un
mensaje a un proceso en el servidor. Dicho proceso accede al directorio y devuelve el resultado
de la operación. Algunas veces, el servidor puede convertirse en el cliente de otro servidor para
conseguir la información necesaria para conseguir procesar la petición que se le ha realizado.

Figura 3 Arquitectura Cliente/Servidor.

2.7.3. Método de enlace del Servidor LDAP

La opción Método de enlace del servidor LDAP determina cómo accederá el dispositivo al
servidor LDAP, y puede ser:
 Sencillo: el servidor LDAP seleccionado no es compatible con el cifrado de datos. Tenga
en cuenta que la contraseña, si introduce una, se enviará a través de la red sin cifrar.
 Simple por SSL: el servidor LDAP seleccionado es compatible con el cifrado de datos
mediante el protocolo SSL (Capa de sockets seguros, del inglés, Secure Sockets Layer).
Se cifrarán todos los datos, incluidos el nombre de usuario y la contraseña.

2.8. OpenLDAP
OpenLDAP es una implementación libre y de código abierto del protocolo Lightweight Directory
Access Protocol (LDAP) desarrollada por el proyecto OpenLDAP. Está liberada bajo su propia
licencia OpenLDAP Public License. LDAP es un protocolo de comunicación independiente de la
plataforma [6].

Figura 4 Logo OpenLDAP.

Plataformas: Muchas distribuciones GNU/Linux incluyen el software OpenLDAP para el soporte


LDAP. Este software también corre en plataformas BSD, AIX, HP-UX, Mac OS X, Solaris, Microsoft
Windows (NT y derivados, incluyendo 2000, XP, Vista), y z/OS [6].

3. DESARROLLO DE LA PRÁCTICA

3.1 Software Utilizado

 Plataforma de Simulación: VMware Workstation Pro 12


 Sistema Operativo: CentOS 7 x64bit
 OpenLDAP
o Descarga: https://www.openldap.org/software/download/
 Apache Directory
o Descarga: http://directory.apache.org/studio/downloads.html

3.2 Procedimiento

3.2.1. Instalación de un servidor con OpenLDAP

Para instalar un servidor LDAP se lo realizará con el comando apt-get install slapd ldap-utils:

Asignar la contraseña del administrador del directorio LDAP.


Con el comand dpkg, reconfigurar las opciones del servidor

Para este caso omitimos la configuración la base de datos LDAP

Asignar el nombre del dominio.

Asignar el nombre de la organización.


Escoger el tipo de base de datos, para este caso HBH.

Rechazar el siguiente mensaje, ya que usaremos la versión 3 del protocolo LDAP

El archivo de configuración se encontrarán en la ruta: /etc/ldap/slapd.d/

Para mostrar las contraseñas cifradas se usa slappasswd

Esta contraseña nos servirá para los archivos de configuración LDIF.

Para el cambio de contraseña:


3.2.2. Configuraciones con Apache Directory
Para un uso más fácil en la gestión del servidor LDAP, utilizaremos Apache Directory. Luego de
instalar ya se puede establecer una conexión con el servidor LDAP:

Asignar un nombre de conexión se crea por defecto en el directorio con el respectivo puerto
del servidor LDAP:
Escribir los datos de autenticación de la rama

Luego asignar la base DN:

Finalmente, se observa todas las ramas y objetos del directorio LDAP que se crearon
3.2.3. Creación de nuevos objetos

Para la creación crear de objeto dentro del directorio LDAP se usa archivos de extensión .ldif,
aquí se especificará los atributos del objeto. En caso de una unidad organizacional se tendría:

Luego se lo agrega desde consola.

Al revisar el Apache Directory, se encuentra el nuevo objeto creado:

Se puede agregar varios objetos desde un mismo archivo.


Los agregamos desde consola.

Y observamos los objetos creados desde Apache Directory

2.3.4. Creación de nuevos usuarios


Para el archivo .ldif se tiene el formato que se utilizaría para la creación de usuarios en el
directorio.

Para agregar los nuevos usuarios


Observar en Apache Directory los usuarios creados
2.3.5. Modificación de elementos
Si se quiere modificar algún elemento dentro del directorio también se lo puede realizar con
archivos de extensión .ldif. Para este caso cambiaremos el atributo mail.

Ejecutar el archivo

Desde el Apache Directory, observar que el objeto ya tiene un nuevo correo asignado:

2.3.6 Eliminar objetos


Para eliminar objetos del directorio.

Desde el Apache Directory, se verifica su eliminación.


2.3.7. Búsquedas
Para buscar cualquier objeto dentro del directorio, se lo puede realizar a través de ldapsearch.
Se debe especificar el DN y entre comillas simples se escriben los parámetros de los cuales se
quiera realizar la búsqueda (para este caso con dc=prueba, cd=com)

Para esta búsqueda se especifica que sólo se quiere recuperar el uidNumber de los objetos.
4. CONCLUSIONES
 Es recomendable utilizar una interfaz gráfica para realizar las operaciones de lectura y
escritura, ya que simplifica mucho la dificultad de realizarlas.
 OpenLDAP es la mejor opción para implementar en cualquier empresa ya que se adapta a
las necesidades de esta además de que no hay inconveniente en la instalación de un sistema
operativo ya que es multiplataforma y cuenta con la documentación necesaria en la página
oficial de OpenLDAP.
 Podemos notar que LDAP es utilizable para almacenar información que desees leer desde
muchas localizaciones, pero que no sea actualizada frecuentemente.
 La mayoría de los servidores LDAP son simples de instalar, fácilmente mantenibles y
fácilmente optimizables. Por lo que implementar en una empresa es una ventaja.

1. REFERENCIAS
[1] Merkasys, Curso OpenLDAP: Parte 01. 2014. [Online]. Available:
https://www.youtube.com/watch?v=Zmj6A5ggcgg&t=1s

[2] Merkasys, Curso OpenLDAP: Parte 02. 2014. [Online]. Available:


https://www.youtube.com/watch?v=8levXvHTn5o&t=117s

[3] Merkasys, Curso OpenLDAP: Parte 03. 2014. [Online]. Available:


https://www.youtube.com/watch?v=p4w0c0ABioo&t=714s

[4] Merkasys, Curso OpenLDAP: Parte 04. 2014. [Online]. Available:


https://www.youtube.com/watch?v=fzArbxLbQi4&t=323s

[5] R. Calzada Pradas, "Introducción al Servicio de Directorio", 2014.

[6] "OpenLDAP", Es.wikipedia.org, 2017. [Online]. Available:


https://es.wikipedia.org/wiki/OpenLDAP . [Accessed: 07- Jun- 2017].

[7] "Protocolo LDAP", CCM, 2017. [Online]. Available: http://es.ccm.net/contents/269-


protocolo-ldap . [Accessed: 07- Jun- 2017].

Potrebbero piacerti anche