Tabla de contenidos
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:
Para permitir un alto número de accesos de lectura (simultáneos), los permisos de escritura están limitados a unas pocas actualizaciones por parte del administrador. Las bases de datos tradicionales están optimizadas para recoger en poco tiempo el mayor volumen de datos posible.
Debido a que los permisos de escritura sólo pueden ejercerse de forma muy limitada, el servicio de directorio administra información estática que cambia rara vez. En contraposición, los datos en una base de datos convencional se modifican con mucha frecuencia (se trata de información dinámica). Por poner un ejemplo, los números de teléfono de un directorio de empleados están sujetos a muchos menos cambios que las cifras manejadas por el departamento de contabilidad.
En la gestión de datos estáticos, los registros de datos se actualizan con muy poca frecuencia. En cambio, cuando se trabaja con datos dinámicos, especialmente en el terreno de cuentas bancarias y datos de contabilidad, la coherencia de los datos es primordial. Si una cantidad ha de restarse de un sitio para ser añadida a otro, ambas operaciones han de ejecutarse simultáneamente en una “transacción” para garantizar la concordancia del conjunto de los datos. Las bases de datos soportan estas transacciones, mientras que los directorios no lo hacen. En estos últimos, la falta de concordancia de los datos resulta aceptable durante breves periodos de tiempo.
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.
Un servidor LDAPv3 autónomo que gestiona la información de objetos en una base de datos basada en BerkeleyDB.
Este programa permite replicar los cambios realizados en los datos del servidor LDAP local en otros servidores LDAP instalados en la red.
slapcat, slapadd, slapindex
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.