¿Qué es el protocolo ligero de acceso a directorios (LDAP)?
- Glosario IAM
- ¿Qué es el protocolo ligero de acceso a directorios (LDAP)?
El protocolo ligero de acceso a directorios (LDAP) es un protocolo abierto e independiente del proveedor que las aplicaciones usan para acceder y mantener información de directorios a través de una red. Un directorio es un almacén centralizado de datos de los usuarios, grupos y dispositivos de una organización. En este contexto, el uso más frecuente de LDAP es autenticar usuarios en ese directorio. LDAP funciona detrás de escena cuando los usuarios inician sesión en una cuenta de correo electrónico del trabajo, una VPN o una aplicación interna de la empresa con un único nombre de usuario y contraseña. En lugar de que cada aplicación mantenga su propia lista de usuarios, LDAP permite que múltiples aplicaciones verifiquen credenciales en un directorio centralizado y compartido, lo que la convierte en una tecnología fundamental para iniciar sesión en los sistemas corporativos.
LDAP se diseñó como una alternativa más sencilla y eficiente al Protocolo de acceso a directorios (DAP), un protocolo de acceso más antiguo y con un alto consumo de recursos del estándar de directorios X.500. LDAP conservó la idea central de un directorio estructurado a la vez que eliminó la implementación compleja y la sobrecarga, lo que facilitó, en gran medida, su adopción.
LDAP frente a Active Directory
Aunque a menudo se piensa que LDAP y Active Directory son alternativas que compiten entre sí, son dos opciones totalmente diferentes. LDAP es un conjunto estándar de reglas, o un lenguaje compartido, para acceder a la información de directorios y administrarla. No almacena ningún dato en si no que es un protocolo que usan las aplicaciones para comunicarse con un directorio.
Active Directory (AD) es el producto de servicio de directorio de Microsoft para almacenar y administrar información sobre usuarios, grupos y dispositivos en una red. LDAP es un protocolo que Active Directory utiliza para permitir que las aplicaciones lean y escriban en su directorio. En otras palabras, LDAP es un lenguaje que Active Directory puede hablar. Dado que LDAP es un estándar abierto e independiente del proveedor, es compatible con una variedad de productos y servicios de directorio, incluidos OpenLDAP, JumpCloud y Oracle Internet Directory. Las aplicaciones pueden utilizar el mismo protocolo independientemente del directorio que una organización elija ejecutar; esa flexibilidad es una de las razones principales por las que LDAP tiene tan alta adopción.
¿Cómo funciona LDAP?
LDAP sigue un modelo cliente-servidor, donde el cliente es la aplicación que necesita información del directorio (una pantalla de inicio de sesión o un programa de correo electrónico) y el servidor es el propio directorio. Una interacción típica con un directorio LDAP implica que el cliente envíe una solicitud, el servidor LDAP la procese en el directorio y el servidor devuelva una respuesta. Para comprender cómo se organiza un directorio, resulta útil entender qué se puede almacenar en él:
- Entrada: Un solo registro en el directorio. Una entrada suele representar algo como una persona, un grupo o un dispositivo.
- Atributos: Los datos asociados a una entrada, incluidos un nombre, una dirección de correo electrónico, un número de teléfono o un departamento. Cada atributo tiene un tipo y un valor.
- Nombre distinguido (DN): La “dirección” única que identifica una entrada dentro del directorio, lo que significa que no hay dos entradas que puedan compartir el mismo DN. Se escribe como una ruta, formada por el nombre de la entrada y las categorías bajo las que se encuentra, e indica al directorio exactamente dónde encontrar una entrada.
Las entradas se organizan en una jerarquía denominada árbol de información de directorio (DIT). Al igual que un organigrama de una empresa, el DIT se ramifica desde una raíz amplia hacia agrupaciones más específicas, como departamentos, y finalmente hacia entradas individuales, como los usuarios. Esta estructura de árbol permite que un DN se pueda leer como una ruta, en la que el DN de cada persona traza el recorrido desde la parte superior del árbol hasta su entrada.
Casos de uso comunes para LDAP
Casi todo aquello para lo que se utiliza LDAP se remonta a una idea principal: muchas aplicaciones pueden compartir una fuente central de verdad sobre usuarios y recursos, en lugar de que cada aplicación mantenga la suya propia. A continuación se presentan las formas más comunes en que las organizaciones utilizan LDAP.
Autenticación y autorización
El principal caso de uso de LDAP abarca tanto la autenticación como la autorización. La autenticación implica verificar quién es un usuario, lo que ocurre mediante la operación de enlace LDAP: una aplicación envía una identidad de usuario y una contraseña, que el directorio confirma o rechaza. La autorización implica decidir lo que un usuario autenticado tiene permitido hacer. Los directorios LDAP organizan a los usuarios en grupos, y las aplicaciones verifican la pertenencia a los grupos para conceder o denegar el acceso. Por ejemplo, solo los miembros del grupo “RR. HH.” pueden realizar ediciones en el sistema de nóminas.
Gestión centralizada de usuarios
Tradicionalmente, cada aplicación mantenía su propia lista de usuarios y contraseñas. Incorporar a un nuevo empleado solía implicar la creación de cuentas en muchos lugares, una por una, y la desvinculación significaba rastrear y deshabilitar cada una de esas cuentas, lo que generaba un verdadero riesgo de seguridad si se pasaba por alto tan solo una. Con LDAP, existe un único directorio con el que se autentica cada aplicación. El resultado es una incorporación más rápida, una desvinculación más fluida, políticas de contraseñas coherentes y una ubicación centralizada para auditar quién tiene acceso a qué.
Fundamentos de inicio de sesión único (SSO)
Dado que cada aplicación puede apuntar al mismo directorio, LDAP brinda la base para el inicio de sesión único (SSO), donde un solo conjunto de credenciales funciona en diferentes sistemas. Es decir, LDAP es una base para el SSO en lugar de ser el SSO en sí mismo. Una experiencia de SSO completa, donde un usuario inicia sesión una vez y se desplaza entre aplicaciones sin volver a ingresar una contraseña, generalmente incorpora otros protocolos, pero la fuente de identidad compartida subyacente suele ser un directorio LDAP.
Búsquedas de contactos
Dado que el directorio contiene a las personas junto con sus atributos, las aplicaciones pueden consultarlo como una libreta de direcciones compartida en toda la empresa. Por ejemplo, un cliente de correo electrónico puede autocompletar la dirección de un colega cuando alguien comienza a escribir su nombre, o una búsqueda en el “directorio de personal” dentro de una herramienta interna puede mostrar la información de un colega. Aquí, LDAP funciona exactamente según lo previsto: los directorios están optimizados para la lectura y diseñados para gestionar un alto volumen de búsquedas rápidas, lo que los hace ideales para este tipo de consultas.
Almacenamiento de información de configuración
Más allá de las personas, un directorio puede almacenar entradas para recursos de equipos, incluidos impresoras de red, servidores y dispositivos compartidos. Esto permite que las aplicaciones y los usuarios descubran esos recursos y se conecten a ellos desde un lugar central en lugar de configurar cada uno manualmente. Una estación de trabajo puede ubicar una impresora cercana a través del directorio o un sistema puede obtener la configuración de su dispositivo al iniciarse. Aunque es un caso de uso menor, muestra la flexibilidad de LDAP.
Puertos y seguridad de LDAP
De forma predeterminada, LDAP se comunica a través del puerto 389, que es el puerto estándar para el tráfico LDAP. Sin embargo, por sí solo, LDAP no está cifrado, por lo que los datos viajan en texto sin formato. Cualquier persona que pueda interceptar ese tráfico podría leerlo, incluida información confidencial como nombres de usuario y contraseñas. Ese es un riesgo importante para un protocolo que se utiliza con tanta frecuencia para gestionar inicios de sesión, por lo que se recomienda encarecidamente el cifrado. Estas son dos de las formas más comunes de proteger LDAP:
- LDAPS utiliza el puerto 636. Aquí, la conexión se cifra en cuanto se establece, por lo que el tráfico está protegido durante toda la sesión. La S significa seguro, al igual que en HTTPS.
- StartTLS se ejecuta en el puerto estándar 389. En lugar de utilizar un puerto seguro independiente, comienza como una conexión LDAP normal y luego la actualiza a una cifrada mediante TLS. El resultado final es similar a LDAPS, pero se negocia en el mismo puerto en lugar de uno dedicado.
La conclusión principal es que LDAP simple en el puerto 389 no ofrece protección por sí solo. El cifrado debe considerarse esencial, ya sea a través de LDAPS en el puerto 636 o StartTLS en el puerto 389.
Pros y contras de LDAP
Las fortalezas de LDAP explican por qué ha sido un pilar consolidado de la identidad empresarial, mientras que sus limitaciones señalan situaciones en las que necesita herramientas complementarias o no es la opción más adecuada.
| Ventajas de LDAP | Desventajas de LDAP |
|---|---|
Ventajas de LDAP
| Desventajas de LDAP
|