Es habitual que las organizaciones confíen en LDAP (Protocolo ligero de acceso a directorios) para llevar a cabo la gestión, el almacenamiento y la autenticación de usuarios críticos.
Sin embargo, puede confundir a los usuarios, llevándoles a mezclarlo con Active Directory.
En este artículo, examinaremos LDAP, su propósito y cómo funciona. A continuación, revisaremos sus características clave, la estructura del directorio y las capacidades de organización de datos. Por último, trataremos la importancia de LDAP en la gestión del servicio de directorio y la autenticación de usuarios.
¿Qué es LDAP?
LDAP son las siglas de Lightweight Directory Access Protocol (protocolo ligero de acceso a directorios). Es un protocolo abierto que rige la autenticación segura de usuarios para directorios locales. Además, es un protocolo de aplicación independiente del proveedor, lo que lo hace versátil y ubicuo, especialmente en los servicios de información de directorios distribuidos a través de Internet.
LDAP es eficaz a la hora de permitir que las aplicaciones consulten la información de los usuarios. Esto significa que puede funcionar de varias maneras en los servicios de infraestructura de TI, incluidos los servicios de correo electrónico, autorización, gestión de licencias y gestión de usuarios.
Sin embargo, no debe confundirse con los servicios de directorio activo, un conjunto de servicios/bases de datos que las empresas utilizan para organizar, acceder y proteger los activos de TI. Básicamente, los servicios de directorio permiten a las organizaciones almacenar datos descriptivos, estáticos y valiosos.
Técnicamente, LDAP se atribuye al proceso completo de representación de datos dentro de un servicio de directorio. Garantiza que los usuarios puedan obtener datos de una manera predefinida. Esto significa que LDAP permite a las organizaciones crear entradas de datos dentro de los servicios de directorio a través de sus herramientas.
Así, dentro de un Directorio Activo, LDAP también asegura cómo se componen las entradas basándose en diferentes elementos primitivos esbozados.
En resumen, LDAP es un:
- Un protocolo de comunicación
- Es un protocolo de aplicación abierto e independiente del proveedor
- Es un protocolo de software que almacena y organiza los datos para que se puedan buscar fácilmente.
- Funciona con directorios locales
- Funciona con Active Directory que contiene datos que son estáticos, descriptivos y valiosos
- No es un protocolo nuevo y se lanzó en 2003
¿Cuál es su finalidad?
El propósito de LDAP gira en torno a dos cosas:
- Almacena datos en un directorio LDAP/Activo
- Autentica el acceso del usuario a dicho directorio
- Permitir que las aplicaciones utilicen un lenguaje de comunicación adecuado para enviar y recibir datos de los servicios de directorio.
En otras palabras, actúa como un protocolo de comunicación que no sólo es capaz de autenticar y autorizar, sino que también organiza los datos de forma que se puedan realizar búsquedas. Utilizando LDAP, las organizaciones pueden almacenar información crítica sobre usuarios y activos informáticos, incluidas las credenciales de usuario. Además, puede garantizar un acceso seguro al permitir a los administradores establecer reglas de acceso de forma activa.
¿Cómo funciona LDAP?
En el núcleo de LDAP se encuentra la arquitectura cliente-servidor.
Así, cuando tiene lugar la autenticación LDAP, sigue un modelo cliente-servidor. Y durante el mismo, los actores clave son los siguientes
- Agente del Sistema de Directorio (DSA): Un servidor que ejecuta LDAP en una red específica.
- El nombre distinguido (DN ) contiene la ruta para navegar por el árbol de información del directorio (DIT).
- Agente deUsuario de Directorio (DUA): El DUA se utiliza para acceder a los DSA como cliente.
- Nombre DistinguidoRelativo (RDN): El RDN especifica cada componente en la ruta del DN.
- Interfaz de programación de aplicaciones (API): Disponemos de API que se comunican entre los servicios y los productos.
En el proceso de autenticación LDAP, cuando un usuario inicia un programa cliente LDAP, como una aplicación de correo electrónico, el administrador puede configurar cómo interactúa el cliente LDAP con los servicios de directorio para la autenticación. Por ejemplo, puede utilizar cualquiera de los dos métodos de autenticación de usuario disponibles:
- Autenticación SASL con Kerberos
- Autenticación SSO simple con credenciales de inicio de sesión
En el intento de inicio de sesión, se solicita la autenticación DN. Una vez iniciado el proceso, LDAP asigna el cliente al Agente del Sistema de Directorio (DSA), que utiliza el DN para buscar registros coincidentes en la base de datos.
El Nombre Distinguido Relativo (RDN) dentro del DN es una parte crítica de la búsqueda LDAP, ya que se utiliza en cada paso del proceso de búsqueda a través del Árbol de Información del Directorio (DIT).
Si la búsqueda tiene éxito, el UID y la contraseña del usuario coincidentes se cotejan para validar al usuario. En caso contrario, devuelve resultados no válidos.
Por último, el cliente se desvincula del servidor LDAP. Una vez hecho esto, el usuario autenticado puede comunicarse con los servicios a través de las API. Esto significa que puede recorrer toda la información almacenada — la única limitación son los permisos concedidos.
Si quiere leer más sobre cómo funciona LDAP, consulte el documento publicado en 2003 por Greg Vaneder y Mark Wahl. Y, si desea leer más sobre cómo funcionan las operaciones de búsqueda LDAP, consulte La operación de búsqueda LDAP.
Características clave de LDAP
Las características clave de LDAP pueden resumirse a continuación:
- Autenticar sesiones de usuario: Puede utilizarse para autenticar sesiones de usuario en un servicio de base de datos como Active Directory.
- Diferentes tipos de operaciones: También puede realizar operaciones a una base de datos de un servidor de directorio, incluyendo
- enlazar sesiones
- eliminar entradas LDAP
- Modificar entradas existentes
- Buscar y comparar entradas
- Abandonar solicitudes
- Desvincular operaciones
- Ligereza: LDAP es ligero, lo que garantiza una pequeña sobrecarga para la red y los recursos del sistema.
- Independiente del proveedor y del protocolo: LDAP también es independiente del proveedor y del protocolo. Esto significa que funciona con cualquier proveedor/solución/protocolo. Por ejemplo, puede utilizar LDAP sobre TCP/IP o X.25. Sin embargo, la última versión de LDAP, LDAPv3, utiliza TCP/IP.
- Estructura de directorio: LDAP utiliza una estructura de árbol de directorios para almacenar y acceder a los activos dentro de una base de datos de directorios. La relación padre-hijo permite una búsqueda y recuperación más rápidas.
- Normalización: LDAP está estandarizado por la IETF (Internet Engineering Task Force). La estandarización garantiza que LDAP funcione con distintos proveedores.
- Seguridad: LDAP es seguro. Logra la seguridad utilizando TLS seguro sobre la capa TCP/IP. También puede utilizar Secure Socket (SSL) para cifrar, descifrar y transferir información de forma remota con total integridad y confidencialidad.
- Replicación: LDAP también admite la replicación entre varios servidores. Garantiza la redundancia de los datos y proporciona disponibilidad de los mismos en caso de cualquier fallo. Utiliza Syncrepl, un motor de replicación Sync.
Estructura del directorio LDAP
El directorio LDAP tiene una estructura limpia y definida. Esto permite un fácil acceso a los datos y aumenta la capacidad de búsqueda del contenido del directorio LDAP.
Como LDAP sigue una estructura en forma de árbol, es jerárquico. Y por eso se prefiere principalmente como Árbol de Información de Directorio (DIT).
Los diferentes niveles de la estructura del directorio LDAP incluyen:
- Directorio raíz
- Países
- Organización
- Unidad organizativa
- Individuos
- Unidad organizativa
Como puede ver, existe una estructura de árbol en el directorio LDAP. El directorio «raíz»es una entrada de nivel superior que incluye todas las demás entradas del nivel de directorio. Debajo de ella, tiene País (countries) que luego se ramifica en Organización (Organization) (s).
A continuación, se ramifica en Unidades Organizativas (OU) y, por último, en Individuos y Grupos.
Para comprender la estructura del directorio LDAP, veamos un ejemplo a continuación.
- Raíz (entrada de nivel superior)
|
-- País: "dc=com" (por ejemplo, dc=ejemplo,dc=com)
|
-- Organización: "dc=ejemplo" (por ejemplo, dc=ejemplo)
|
-- Unidad organizativa (OU): "ou=Usuarios"
| |
| -- Usuario: "cn=Nitish Singh"
| |
| -- Usuario: "cn=Oliver Green"
|
-- Unidad organizativa (OU): "ou=Grupos"
|
-- Grupo: "cn=Admins"
|
-- Grupo "cn=Usuarios"
|
-- Grupo: "cn=Superusuarios"
La entidad raíz se identifica con DC, que significa atributo de componente de dominio . Así, si «dc=com«, la entrada raíz se identifica como el dominio «com».
Bajo la raíz, puede tener varias organizaciones o dominios. Está representado por «dc=organización.» bajo el dominio «com».
Del mismo modo, cada organización puede tener una o varias unidades organizativas (OU). El administrador puede organizarlas lógicamente en subdivisiones. Por ejemplo, puede establecer OU para «usuarios», «grupos» o «superusuarios»
Finalmente, bajo cada OU, puede listar diferentes entradas, incluyendo grupos, dispositivos, usuarios, etc. En nuestro ejemplo, dos valores de usuarios OU incluyen «Nitish Singh» y «Oliver Green» Asimismo, bajo Grupos OU, tenemos «Admins», «Usuarios» y «Superusuarios»
La estructura del directorio LDA depende en gran medida del Nombre Distinguido (DN), ya que se utiliza para identificar cada entrada. Esto se debe a que contiene un nombre único y se utiliza para recuperar el Nombre Distinguido Relativo (RDN).
Elementos comunes de LDAP
Para entender la organización de los datos LDAP, necesitaremos comprender los elementos comunes de LDAP, que conducen a la construcción de las entradas del sistema LDAP.
Los componentes básicos de los datos LDAP son
- Atributos:
- Entradas:
- Árboles de información de datos
Atributos
Los atributos en LDAP son pares clave-valor. Estos almacenan datos dentro del sistema LDAP. Por ejemplo, el atributo mail debe utilizarse para almacenar el correo dentro del sistema LDAP.
correo: nitish@geekflare.com/es
Entradas
Las entradas dentro del sistema LDAP se asocian con atributos para proporcionar significado. Puede pensar en las entradas como una colección de atributos relacionados.
Por ejemplo, los datos en formato LDIF (LDAP Data Interchange Format) tendrán el siguiente aspecto:
dn: sn=Hogwarts, ou=wizards, dc=WizardingWorld, dc=fiction
objectclass: mago
sn: Hogwarts
cn: Harry Potter
Árboles de información de datos
Los árboles de información de datos, o DIT, representan y acceden a los datos dentro de un sistema LDAP. Como la mayoría de los datos están ramificados, tiene sentido representarlos mediante árboles. Es análogo a un sistema de archivos con una asociación padre-hijo.
Organización de datos LDAP
Ahora con la idea básica de las entidades, podemos explorar la organización de datos dentro del sistema LDAP.
Aquí, LDAP utiliza la DIT para organizar y estructurar los datos. Sin embargo, ¿cómo lo consigue? Discutámoslo a continuación.
Colocar entradas en una DIT que estén relacionadas entre sí jerárquicamente. Así, cuando se crea una nueva entrada, se añade a la estructura arborescente como hija de una entrada existente.
Todo comienza en la parte superior del árbol jerárquico del DIT. Como abarca todas las entradas hijas, se etiqueta principalmente como una organización como «dc=com o ejemplo». Esto se hace utilizando componentes de dominio para garantizar una gestión sencilla.
De este modo, el administrador puede establecer la ubicación utilizando l=nombre_de_ubicación o segmentos organizativos, como ou=tecnología, marketing, etc.
Las entradas utilizan objectClass de unidad organizativa (OU). Esto se debe a que las entradas pueden utilizar la etiqueta de atributo ou= . Son sencillas y ofrecen una forma excelente de categorizar y encontrar información dentro del DIT.
A continuación viene otro concepto importante conocido como Nombre Distinguido Relativo. Se trata del nombre relativo de un elemento en función de su nivel jerárquico en la DIT. Así, para acceder a una entrada, necesita introducir los valores RDN de la entidad junto con el valor RDN del padre.
Esto crea una cadena de valores RDN, que va de abajo a arriba, creando una ruta hacia esa entrada. Y esta cadena de valores RDN se conoce como «Nombre Distinguido o DN«
En otras palabras, debe mencionar el DN durante la creación de la entrada para que LDAP sepa con precisión dónde debe colocar el nuevo activo o la nueva información. Así pues, RDN actúa como un valor relativo, mientras que DN es más bien una ruta absoluta.
Importancia de LDAP
En esta sección, echaremos un vistazo a la importancia de LDAP desde dos perspectivas:
- Gestión del servicio de directorio: El protocolo LDAP dispone de los medios adecuados para almacenar y acceder a los datos del directorio LDAP. LDAP es un medio para gestionar, almacenar, acceder y asegurar los datos. También garantiza una recuperación eficaz de la información. Además, también ofrece escalabilidad y replicación.
- Autenticación de usuarios: Además de gestionar servicios de directorio, LDAP destaca en la autenticación y autorización de usuarios. Una vez creada la conexión, el usuario puede acceder a los activos almacenados en función de las reglas de acceso establecidas por el administrador.
LDAP frente a Active Directory
Es habitual que la gente confunda LDAP y Active Directory. LDAP y el Directorio Activo de Microsoft trabajan estrechamente para proporcionar a las organizaciones un medio para almacenar y acceder de forma segura y protegida a los datos de la organización en todos los departamentos.
Así, LDAP es un protocolo, mientras que Active Directory es un producto de servicio de directorio que almacena los datos organizativos en una estructura en forma de árbol.
LDAP actúa como protocolo de comunicación para acceder a los servidores de directorio como Active Directory.
Conclusión
LDAP es un protocolo clave para trabajar con servicios de directorio activo. Es un protocolo ligero que no crea ninguna sobrecarga en los servicios y servidores con los que trabaja. Además, su naturaleza de código abierto, neutral con respecto a los proveedores y estandarizada significa que puede integrarse fácilmente en las soluciones existentes.
También puede explorar la autenticación multifactor (MFA).