Secciones

Autenticación con el protocolo ligero de acceso a directorios (LDAP)

Copiar URL

El protocolo ligero de acceso a directorios (LDAP) permite que los usuarios encuentren información sobre las empresas y las personas, entre otros datos. Tiene dos objetivos principales: almacenar estos datos en su directorio y autorizar a los usuarios para que puedan acceder a él. También ofrece el lenguaje de comunicación que las aplicaciones necesitan para enviar información a los servicios de directorio y recibirla de estos. Los servicios de directorio proporcionan acceso al lugar dentro de una red donde se encuentra la información sobre las empresas y las personas, entre otros datos.

El uso más común que se le da al LDAP es la disposición de una ubicación central desde donde se pueda acceder a los servicios de directorio y gestionarlos. El protocolo permite almacenar, gestionar y proteger la información sobre las empresas, los usuarios y los recursos, como los nombres de usuario y las contraseñas. Esto simplifica el acceso al almacenamiento, ya que la información se organiza en una estructura jerárquica, lo cual puede ser fundamental para las empresas que crecen y adquieren cada vez más recursos y datos de los usuarios.

El LDAP también funciona como una solución de gestión de identidades y accesos (IAM) que se centra en la autenticación de los usuarios y es compatible con Kerberos y single sign-on (SSO), Simple Authentication Security Layer (SASL) y Secure Sockets Layer (SSL).

Por un lado, el LDAP es el protocolo central que se utiliza en Active Directory (AD) de Microsoft, un servicio de directorio de gran tamaño que contiene la información de todas las cuentas de usuario de una red. Más específicamente, es una versión ligera del protocolo de acceso a directorios (DAP) y brinda una ubicación central desde donde se puede acceder a los servicios de directorio que se ejecutan en el protocolo de control de transmisión/protocolo de Internet (TCP/IP) y gestionarlos. La versión más reciente es LDAPv3. 

Por el otro, AD no solo brinda funciones de autenticación y gestión de los usuarios y los grupos, sino que básicamente se encarga de autenticar a los usuarios o las computadoras. La base de datos contiene muchos más atributos de los que se incorporan en el LDAP. Sin embargo, la ventaja del LDAP es que se especializa en encontrar un objeto de directorio con poca información, por lo que no necesita extraer todos sus atributos desde el AD o cualquier otro servicio de directorio desde el cual se recuperen los datos.

El objetivo principal de LDAP es comunicarse con los objetos (p. ej., dominios, usuarios, grupos, etc.), almacenarlos y extraerlos del AD en un formato que se pueda utilizar para su propio directorio, el cual está ubicado en el servidor del LDAP.

Piénselo de la siguiente manera: el AD es la biblioteca más grande del mundo, y usted está buscando un libro cuyo título menciona zombis. En el mundo del LDAP, hay determinada información relativa al libro que no es relevante, aunque sí ayuda a reducir las opciones disponibles: si se publicó en los EE. UU. o no, si contiene más de 1000 páginas o si es una guía sobre cómo sobrevivir a un apocalipsis zombi. El LDAP es el bibliotecario experto que sabe exactamente dónde se encuentran los libros que coinciden con la búsqueda y quien comprobará que haya encontrado el que necesita.

Conozca los factores que activan las búsquedas del LDAP y su funcionamiento.

El proceso de autenticación con el LDAP es un modelo de autenticación cliente-servidor que consta de los siguientes roles clave: 

  • Agente del sistema de directorios (DSA): el servidor que ejecuta el LDAP en su red.
  • Agente del usuario de directorios (DUA): accede a los DSA como cliente (p. ej.: la PC de un usuario).
  • DN: el nombre distinguido describe una ruta en el árbol de información de directorios (DIT) que llevará al LDAP al resultado deseado (p. ej., cn=Susana, ou=usuarios, o=Empresa).
  • Nombre distinguido relativo (RDN): se refiere a cada uno de los elementos en la ruta dentro del DN (p. ej., cn=Susana).
  • Interfaz de programación de aplicaciones (API): permite que su producto o servicio se comunique con otros, sin necesidad de saber cómo se implementan.

El proceso comienza cuando un usuario intenta acceder desde la computadora a un programa de clientes habilitado para el LDAP, como una aplicación de correo electrónico empresarial. Con LDAPv3, utilizará uno de los dos métodos posibles de autenticación: uno sencillo, como SSO con los datos para iniciar sesión, o uno denominado SASL, que crea un enlace entre el servidor del LDAP y un programa como Kerberos. Con el intento de inicio de sesión, se envía una solicitud para autenticar el DN asignado al usuario, el cual se envía a través de la API del cliente o del servicio que inicia el DSA.

De forma automática, se crea un enlace entre el cliente y el DSA, y el LDAP utiliza el DN para buscar el objeto o el conjunto de objetos que coincida con los registros en la base de datos. En esta etapa, los RDN en el DN son muy importantes, ya que se encargan de establecer cada paso en la búsqueda del LDAP a través del DIT para encontrar a la persona. De hecho, si falta algún RDN de conexión en el backend de la ruta, es probable que el resultado no sea válido. En este caso, el objeto que busca el LDAP es la cuenta de usuario individual (cn=Susana), y solo podrá validarlo si la cuenta presente en el directorio tiene los valores de uid y userPassword adecuados. Los grupos de usuarios también se identifican como objetos dentro del directorio del LDAP.

Una vez que el usuario reciba una respuesta, independientemente de si es válida o no, el cliente se desvinculará del servidor del LDAP. De esta manera, los usuarios autenticados podrán acceder a la API y sus servicios, como ciertos datos de las aplicaciones, la información del usuario y los archivos necesarios, en función de los permisos otorgados por el administrador del sistema.

Gracias a la estructura ligera del LDAP y al uso de un DIT, es posible realizar una búsqueda rápida y obtener resultados exitosos. Es fundamental comprender el concepto del DIT para consultar correctamente los servidores del LDAP y entender la manera en que funcionan las búsquedas.

Con el DIT, es posible explorar rápidamente los diferentes niveles del directorio del LDAP para reducir los resultados de las búsquedas y obtener la respuesta a una consulta. El DIT inicia con el directorio raíz; luego, siguen los países, los cuales se dividen en dos subclases: el elemento de dominio (dc) y el nombre de la empresa (o).

Elemento de acceso del dominio (dc)

El dc (es decir, dc=com, dc=ejemplo) utiliza el mapa del sistema de nombres de dominio (DNS) para ubicar los nombres de dominio de Internet y transformarlos en direcciones IP.

La mayoría de los usuarios no sabe la dirección IP o el nombre de dominio de la persona que están buscando. En este caso, el LDAP utiliza el nombre distinguido (DN) asignado al usuario como una ruta para explorar rápidamente el DIT y encontrar el resultado de la búsqueda. Este es el momento en el que aparece la subclase o.

Nombre de la empresa (o)

La subclase o (p. ej., o-Empresa) es una de las más generales que se incluyen en el DN y, generalmente, es el punto de partida para la búsqueda del LDAP. Por ejemplo, una ruta sencilla suele comenzar con la subclase o, dividirse en la unidad organizacional (ou), y finalmente en un grupo o una cuenta de usuario.

Unidad organizacional (ou)

Como mencionamos anteriormente, la ou es una subclase de la o y, por lo general, se ve como ou=usuarios u ou=grupo, donde cada una de ellas contiene una lista de grupos o cuentas de usuarios. Así es como lo vería en un directorio:

  • o-Empresa

    • ou=grupos

      • cn=desarrolladores

    • ou=usuarios

      • cn=Susana 

Nombre común (cn)

Un nombre común, o cn, se utiliza para identificar el nombre de un grupo o una cuenta de usuario individual (p. ej., cn=desarrolladores, cn=Susana). Un usuario puede pertenecer a un grupo, así que si Susana es desarrolladora, también puede aparecer en cn=desarrolladores.

Atributos y valores

Cada subclase (o, ou, cn) en el DIT del LDAP incluye atributos y valores, o bien esquemas que contienen información sobre la estructura del directorio de LDAP que puede ayudar a reducir los resultados de una búsqueda. Los atributos son similares al contenido de las entradas de una libreta de direcciones, con etiquetas como nombre, número de teléfono y dirección, y cada uno tiene valores asignados. Por ejemplo, Susana sería el valor del atributo nombre.

En la cuenta cn=Susana, los atributos son el identificador del usuario (uid) y la userPassword, y los datos de inicio de sesión son los valores. No obstante, en el grupo cn=desarrolladores, Susana contaría con el atributo uniqueMember (p. ej., uniqueMember=cn-Susana,ou-Usuarios,o-Empresa). Esto establece una ruta hacia la ubicación de la cuenta de usuario individual de Susana, así como a la información que busca el LDAP. La cuenta de usuario es la última parte del DIT, y es el lugar desde el cual el LDAP extrae los resultados de la búsqueda.

Hay muchas otras sintaxis y tipos de atributos que pueden ayudar a limitar la búsqueda, lo cual incluye ObjectClasses, como organizationalPerson (estructural) o personal (estructural). Sin embargo, la cantidad de atributos en el LDAP se limita para mantener la ligereza y la facilidad de uso que lo caracterizan.

En general, los administradores de redes empresariales gestionan miles de usuarios a la vez. Es decir, son los responsables de asignar políticas y controles de acceso según la función de un usuario y su acceso a archivos para las tareas diarias, como el intranet de la empresa.

Gracias al LDAP, no solo podrá simplificar el proceso de gestión de los usuarios y centralizar el de autenticación; también ayudará a los administradores de redes a ahorrar tiempo. Antes de integrarlo a su entorno, es importante que tenga en cuenta lo siguiente:

  • Capacidad: ¿cuántos datos de gestión de los usuarios necesita almacenar? Considere si los productos que implementan las soluciones de LDAP tienen la capacidad necesaria para almacenar y gestionar todos los datos que tiene.

  • Frecuencia de búsqueda: ¿hay datos a los cuales un usuario necesita acceder diariamente, como el intranet de la empresa, un servicio o una aplicación de correo electrónico? En ese caso, el LDAP puede ser la opción adecuada.

  • Organización: ¿considera que el DIT sencillo del LDAP será suficiente para organizar sus datos o cree que necesitará un sistema más detallado?

Si bien el LDAP suele utilizarse en AD, también puede emplearse para autenticar a los usuarios en otras herramientas y entornos de clientes, como Red Hat Directory Servers en UNIX y OpenLDAP, una aplicación open source, en Windows. También puede aprovechar las funciones de autenticación y administración de usuarios del LDAP para la gestión de las API, el control de acceso basado en funciones (RBAC) u otras aplicaciones y servicios como Docker y Kubernetes.

Red Hat® Enterprise Linux® incluye la gestión centralizada de las identidades, para que pueda autenticar a los usuarios e implementar el RBAC con una sola interfaz, las cual se puede ajustar para abarcar todo su centro de datos.

La gestión de la identidad con Red Hat Enterprise Linux incluye varias funciones de autenticación y autorización, como por ejemplo: 

  • Controlador de dominios para Linux: gestione las identidades, los accesos y las políticas para todos los usuarios, los servicios y los hosts dentro de este almacén de identidades confiable y centralizado, lo cual ayuda a reducir los gastos administrativos y simplifica el registro de los dominios para crear un límite de seguridad confiable. Además, los usuarios obtienen una experiencia de autenticación simplificada.

  • Integración de AD: elimine las diferencias sobre la identidad de los usuarios entre Linux y Windows con la integración de Red Hat Enterprise Linux con Active Directory. Utilice Active Directory como una fuente única de información para las identidades de usuarios y aplique políticas personalizadas de control de acceso directamente al dominio de Linux, para aumentar la eficiencia administrativa y centralizar el lugar donde se crean las políticas.

  • SSO de Kerberos: simplifique el proceso de autenticación de los usuarios con Kerberos, el elemento principal de la gestión de identidades, a fin de respaldar el SSO para la infraestructura. Trasládelo a los servicios para evitar el uso de contraseñas y respaldar la autenticación web con el SSO (basado en Keycloak).

  • Funciones del sistema: utilice los flujos de trabajo de configuración uniformes y repetibles para ahorrar tiempo y recursos. Con el paso del tiempo, la automatización reducirá en gran medida la carga técnica y las tareas manuales asociadas con la implementación y la administración de las identidades.

Red Hat también ofrece Red Hat Directory Server como complemento para quienes tienen necesidades más especializadas.

Red Hat Directory Server es un directorio basado en el LDAP que se puede ajustar a entornos grandes y diversos. Reemplace sus soluciones actuales y costosas de LDAP de terceros casi sin implementar ningún cambio, y gestione las topologías de directorio distribuidas y complejas con diversas opciones de replicación. Este producto proporciona flexibilidad gracias al esquema y los atributos personalizables para los datos del directorio.

Artículos relacionados

Artículo

El edge computing con Red Hat Enterprise Linux

Red Hat Enterprise Linux amplía su infraestructura de nube híbrida al extremo de la red, y llega a cientos de miles de nodos en todo el mundo.

Artículo

Red Hat Enterprise Linux security

Red Hat Enterprise Linux is the world’s leading open source Linux platform, enabling you to mitigate risk, enforce security configuration and policy, and streamline compliance strategy.

Artículo

¿Por qué conviene elegir Red Hat para Linux?

Es necesario que las cargas de trabajo se puedan ampliar y trasladar entre los diferentes los entornos. Red Hat Enterprise Linux es la base uniforme y estable para todas las implementaciones de nube híbrida.

Pruebe Red Hat Enterprise Linux

Red Hat Enterprise Linux Server

Versión de Red Hat Enterprise Linux® que organiza los recursos de hardware y se ejecuta en los sistemas físicos, en la nube o como guest de un hipervisor. 

Red Hat Enterprise Linux for IBM Power

Innovación open source que se combina con la arquitectura de IBM para ofrecer una base de nube híbrida estable.