Capítulo 29. El servicio de directorio LDAP

Tabla de contenidos

29.1. LDAP versus NIS
29.2. Estructura de un árbol de directorios LDAP
29.3. Configuración de servidor con slapd.conf
29.4. Administración de datos en el directorio LDAP
29.5. El cliente LDAP de YaST
29.6. Información adicional

Resumen

LDAP (Lightweight Directory Access Protocol) es un conjunto de protocolos diseñados con el fin de acceder y mantener directorios de información. LDAP puede ser empleado para varios propósitos, tales como la gestión de usuarios y grupos, de la configuración del sistema o de las direcciones. Este capítulo le ofrece una descripción básica acerca de cómo funciona LDAP y cómo puede administrarse mediante YaST.

En entornos de trabajo en red es de vital importancia el poder acceder de forma rápida y estructurada a la información que se necesita. Los servicios de directorio son la respuesta a este problema. De manera semejante a las páginas amarillas (Yellow Pages) en la vida ordinaria, dichos servicios contienen toda la información necesaria de forma estructurada y accesible.

En el caso ideal, un servidor central guarda los datos en un directorio y los distribuye a los clientes de la red a través de un protocolo determinado. Los datos han de estar estructurados de tal forma que un máximo número de aplicaciones pueda acceder a ellos. De este modo no es necesario que cada aplicación de calendario o cliente de correo electrónico disponga de una base de datos propia, sino basta con que puedan recurrir al depósito central, lo que reduce considerablemente el esfuerzo de administración de la información. El uso de un protocolo estandarizado y abierto como LDAP (Lightweight Directory Access Protocol) garantiza que el mayor número posible de aplicaciones de clientes tenga acceso a esta información.

En este contexto, un directorio es una especie de base de datos optimizada para poder ser examinada y leída muy fácil y rápidamente:

El diseño de un servicio de directorio como LDAP no está concebido para soportar complejos mecanismos de actualización o consulta. Todas las aplicaciones que accedan a este servicio han de poder hacerlo de la forma más fácil y rápida posible.

Han existido y existen numerosos servicios de directorio, no sólo en el mundo Unix, sino también, por ejemplo, NDS de Novell, ADS de Microsoft, Street Talk de Banyan y el estándar OSI X.500. Originalmente, LDAP fue planeado como una variante más simple de DAP (Directory Access Protocol) desarrollado para acceder a X.500. El estándar X.500 reglamenta la organización jerárquica de entradas de directorio.

LDAP no incorpora algunas de las funciones de DAP y puede ser utilizado en múltiples plataformas y, sobre todo, con un bajo consumo de recursos, sin renunciar a la jerarquía de entradas definida en X.500. Gracias al uso de TCP/IP es mucho más fácil implementar interfaces entre la aplicación y el servicio LDAP.

Entre tanto, LDAP ha seguido desarrollándose y se utiliza cada vez con más frecuencia como solución autónoma sin soporte X.500. Con LDAPv3 (la versión de protocolo disponible en su sistema con el paquete openldap2 instalado), LDAP soporta remisiones o referrals que permiten implementar bases de datos distribuidas. Otra de las novedades consiste en la utilización de SASL (Simple Authentication and Security Layer) como capa de autenticación y protección.

LDAP no sólo puede aplicarse para consultar datos de servidores X.500 como era su propósito original: slapd es un servidor de código abierto u Open Source que permite guardar la información de un objeto en una base de datos local. Este servidor se complementa con slurpd, el cual se encarga de replicar varios servidores LDAP.

El paquete openldap2 está formado fundamentalmente por dos programas.

slapd

Un servidor LDAPv3 autónomo que gestiona la información de objetos en una base de datos basada en BerkeleyDB.

slurpd

Este programa permite replicar los cambios realizados en los datos del servidor LDAP local en otros servidores LDAP instalados en la red.

Herramientas adicionales para el mantenimiento del sistema

slapcat, slapadd, slapindex

29.1. LDAP versus NIS

Tradicionalmente, los administradores de sistemas Unix utilizan el servicio NIS para la resolución de nombres y distribución de datos en la red. Los datos de configuración procedentes de los archivos /etc y los directorios group, hosts, mail, netgroup, networks, passwd, printcap, protocols, rpc y services son distribuidos entre los clientes de la red desde un servidor central. Como simples archivos de texto, estos archivos pueden mantenerse sin grandes dificultades. No obstante, la administración de cantidades mayores de datos resulta bastante más complicada debido a la falta de estructura. NIS está dirigido únicamente a plataformas Unix, lo que hace imposible su uso para la administración central de datos en redes heterogéneas.

Al contrario que NIS, el campo de aplicación del servicio LDAP no está limitado a redes sólo Unix. Los servidores Windows (2000 y superiores) soportan LDAP como servicio de directorio. Novell también ofrece un servicio LDAP. Además, sus funciones no se limitan a las mencionadas en líneas superiores.

El principio de LDAP puede aplicarse a cualquier estructura de datos que deba administrarse de forma centralizada. Entre los ejemplos de aplicación cabe destacar:

  • Uso en sustitución de un servidor NIS.

  • Enrutamiento de correo (postfix, sendmail).

  • Libreta de direcciones para clientes de correo como Mozilla, Evolution, Outlook, ...

  • Administración de descripciones de zonas para un servidor de nombres BIND9.

Esta enumeración podría prolongarse indefinidamente ya que LDAP, al contrario que NIS, es expandible. Su estructura de los datos claramente definida ayuda a la hora de administrar grandes cantidades de datos, ya que puede examinarse más fácilmente.


SUSE LINUX Manual de administración 9.3