Tabla de contenidos
Resumen
El protocolo ligero de acceso al directorio (LDAP) es un conjunto de protocolos diseñados para acceder a los directorios de información y mantenerlos. Puede usarse LDAP con varios propósitos, como la gestión de usuarios, grupos, configuraciones del sistema y direcciones. En este capítulo se ofrece una explicación básica sobre cómo funciona OpenLDAP y cómo gestionar los datos de LDAP con YaST. Como hay varias implementaciones del protocolo LDAP, este capítulo se centra por completo en la de OpenLDAP.
En un entorno de red es fundamental mantener la información importante estructurada y disponible rápidamente. Esto puede realizarse con un servicio de directorio que, como las páginas amarillas, mantenga la información disponible con un formato de búsqueda rápido y bien estructurado.
En una situación ideal, un servidor central mantiene los datos en un directorio y los distribuye a todos los clientes mediante un protocolo concreto. Los datos se estructuran de manera que permiten que una amplia gama de aplicaciones acceda a ellos. De esta forma, no es necesario que cada herramienta de calendario o cliente de correo electrónico mantenga su propia base de datos. En lugar de ello, se puede acceder a un repositorio central. De ese modo se reduce notablemente el esfuerzo que requiere la administración de la información. El uso de un protocolo abierto y estandarizado como LDAP asegura que todas las aplicaciones cliente puedan acceder a dicha información.
Un directorio en este contexto es un tipo de base de datos optimizada para una lectura y búsqueda rápida y efectiva:
Para hacer posible varios accesos de lectura (simultáneos), el administrador ha limitado el acceso de escritura a un pequeño número de actualizaciones. Las bases de datos convencionales están optimizadas para aceptar el mayor volumen de datos posible en un corto espacio de tiempo.
Puesto que los accesos de escritura sólo se pueden ejecutar de una forma restringida, se emplea un servicio de directorio para administrar sobre todo información estática que no cambia. Los datos de una base de datos convencional cambian normalmente con frecuencia (datos dinámicos). Los números de teléfono en un directorio de empresa no cambian tan rápidamente como, por ejemplo, las cifras manejadas en contabilidad.
Cuando se administran datos estáticos, las actualizaciones de los conjuntos de datos existentes son escasas. Al trabajar con datos dinámicos, sobre todo en cuanto a los conjuntos de datos (cuentas bancarios o datos contables) se refiere, la coherencia de los datos es de suma importancia. Si se debe restar una cantidad de un lugar para sumarla en otro, ambas operaciones deben producirse a la vez, en una misma transacción, para asegurar el equilibro de los datos almacenados. Las bases de datos admiten dichas transacciones. Los directorios no. Las incoherencias de los datos por un corto período de tiempo son bastante aceptables en los directorios.
Un servicio de directorio como LDAP no está diseñado para admitir actualizaciones complejas o mecanismos de consulta. Todas las aplicaciones que accedan a este servicio deben poder hacerlo de manera rápida y sencilla.
Han existido previamente muchos servicios de directorio y aún existen en Unix y fuera de él. Novell NDS, Microsoft ADS, Street Talk de Banyan y el estándar OSI X.500 son sólo algunos ejemplos. LDAP se diseñó en un principio como una variación simplificada de DAP, el protocolo de acceso al Directorio, que se desarrolló para acceder al X.500. El estándar X.500 regula la organización jerárquica de las entradas de directorio.
LDAP es una versión más sencilla de DAP. Sin perder la jerarquía de entradas de X.500, saca partido de las posibilidades de utilizar distintas plataformas de LDAP y ahorra recursos. El uso de TCP/IP hace mucho más sencillo establecer interfaces entre una aplicación de anclaje y el servicio LDAP.
LDAP, entretanto, ha evolucionado y se utiliza cada vez más como una solución autónoma sin la ayuda de X.500. LDAP es compatible con las referencias con LDAPv3 (la versión del protocolo en el paquete openldap2), lo que permite disponer de bases de datos distribuidas. El uso de SASL (Capa sencilla de seguridad y autenticación) también es nuevo.
LDAP no está limitado a la consulta de datos de los servidores X.500, tal y como se pensó en un principio. Hay un servidor de código abierto, slapd, que puede almacenar información de objetos en una base de datos local. También hay una extensión denominada slurpd, que es la responsable de replicar varios servidores LDAP.
El paquete openldap2 consta de lo siguiente:
Servidor LDAPv3 autónomo que administra la información de objetos en una base de datos basada en BerkeleyDB.
Este programa permite la replicación de modificaciones de datos en un servidor LDAP local a otros servidores LDAP instalados en la red.
slapcat, slapadd, slapindex
El administrador del sistema Unix normalmente utiliza el servicio NIS (Servicio de información de red) para la resolución de nombres y la distribución de datos por la red. Los datos de configuración incluidos en los archivos de /etc y los directorios group, hosts, mail, netgroup, networks, passwd, printcap, protocols, rpc y services se distribuyen por los clientes por toda la red. Estos archivos pueden mantenerse sin gran esfuerzo porque son archivos de texto sencillos. La gestión de cantidades más grandes de datos, sin embargo, se vuelve cada vez más difícil debido a una estructura inexistente. NIS sólo está diseñado para plataformas Unix, lo que hace que su empleo como administrador central de datos en un entorno de red heterogéneo sea imposible.
A diferencia de NIS, el servicio LDAP no está restringido a redes Unix puras. Los servidores Windows (a partir de la versión 2000) admiten LDAP como servicio de directorio. Novell también ofrece un servicio LDAP. Las tareas de aplicaciones mencionadas anteriormente también son compatibles en sistemas que no sean Unix.
El principio de LDAP puede aplicarse a cualquier estructura de datos que deba administrarse de manera centralizada. Algunos ejemplos de su aplicación son los siguientes:
Empleo como sustituto para el servicio NIS
Encaminamiento de correo (postfix, sendmail)
Libretas de direcciones para clientes de correo como Mozilla, Evolution y Outlook
Administración de descripciones de zona para un servidor de nombres BIND9
Autenticación de usuario con Samba en redes heterogéneas
Esta lista puede ampliarse porque LDAP es extensible, al contrario que NIS. La estructura jerárquica claramente definida de los datos facilita la administración de grandes cantidades de ellos puesto que se puede buscar mejor.