De los nombres distinguidos a la autenticación de usuarios

Es común que las organizaciones confíen en LDAP (Protocolo ligero de acceso a directorios) para llevar a cabo la administración, el almacenamiento y la autenticación de usuarios críticos.

Sin embargo, puede confundir a los usuarios, llevándolos a mezclarlo con Active Directory.

En este artículo, veremos LDAP, su propósito y cómo funciona. Luego, revisaremos sus características clave, estructura de directorios y capacidades de organización de datos. Por último, cubriremos la importancia de LDAP en la administración del servicio de directorio y la autenticación de usuarios.

¿Qué es LDAP?

LDAP significa 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 directorio distribuidos a través de Internet.

LDAP es eficiente al permitir que las aplicaciones consulten la información del usuario. Esto significa que puede funcionar de varias formas en los servicios de infraestructura de TI, incluidos los servicios de correo electrónico, la autorización, la gestión de licencias y la 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 que son 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.

Por lo tanto, dentro de Active Directory, LDAP también garantiza cómo se componen las entradas en función de los diferentes elementos primitivos descritos.

En resumen, LDAP es un:

  • protocolo de comunicaciones
  • Es un protocolo de aplicación neutral de proveedor abierto
  • El protocolo de software almacena y organiza los datos para que se puedan buscar fácilmente.
  • Funciona con directorios locales
  • Funciona con Active Directory que contiene datos estáticos, descriptivos y valiosos
  • No es un protocolo nuevo y fue lanzado en 2003

¿Cual es su propósito?

El propósito de LDAP gira en torno a dos cosas:

  • Almacena datos en un directorio LDAP/Active
  • Autenticar el acceso del usuario a dicho directorio
  • Permita 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 comunicaciones que no solo es capaz de autenticación y autorización, sino que también organiza los datos de forma que se puedan buscar. Con LDAP, las organizaciones pueden almacenar información crítica sobre los activos de TI y los usuarios, incluidas las credenciales de los usuarios. Además, puede garantizar un acceso seguro al permitir que los administradores establezcan reglas de acceso de forma activa.

¿Cómo funciona LDAP?

En el núcleo de LDAP, está en juego la arquitectura cliente-servidor.

Entonces, cuando se lleva a cabo la autenticación LDAP, sigue un modelo cliente-servidor. Y durante esto, los jugadores clave incluyen lo siguiente:

  • 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 de usuario de directorio (DUA): El DUA se utiliza para acceder a los DSA como cliente.
  • Nombre Distinguido Relativo (RDN): El RDN especifica cada componente en la ruta del DN.
  • Interfaz de Programación de Aplicaciones (API): Contamos con APIs que se comunican entre los servicios y productos.

En el proceso de autenticación LDAP, cuando un usuario inicia un programa de 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:

En el intento de inicio de sesión, se solicita la autenticación de DN. Una vez que comienza el proceso, LDAP asigna el cliente al Agente del sistema de directorio (DSA), que usa 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 usa 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 coinciden para validar al usuario. Si no, devuelve resultados no válidos.

Finalmente, 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 revisar toda la información almacenada; la única limitación son los permisos otorgados.

Si desea leer más sobre cómo funciona LDAP, consulte su artículo publicado en 2003 por Greg Vaneder y Mark Wahl. Y, si desea leer más sobre cómo funcionan las operaciones de búsqueda de LDAP, consulte La operación de búsqueda de LDAP.

Características clave de LDAP

Las características clave de LDAP se pueden resumir a continuación:

  • Autenticar sesiones de usuario: se puede usar para autenticar sesiones de usuario en un servicio de base de datos como Active Directory.
  • Diferentes tipos de operaciones: también puede realizar operaciones en una base de datos de un servidor de directorio, incluidas
    • sesiones vinculantes
    • borrado de entradas LDAP
    • Modificar entradas existentes
    • Buscar y comparar entradas.
    • Solicitudes de abandono
    • Desvincular operaciones
  • Ligero: LDAP es liviano, 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 usar 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 directorio para almacenar y acceder a activos dentro de una base de datos de directorio. La relación padre-hijo significa una búsqueda y recuperación más rápidas.
  • Estandarización: LDAP está estandarizado por el IETF (Grupo de Trabajo de Ingeniería de Internet). La estandarización garantiza que LDAP funcione en diferentes proveedores.
  • Seguridad: LDAP es seguro. Logra la seguridad mediante el uso de TLS seguro sobre la capa TCP/IP. También puede usar 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 en varios servidores. Garantiza la redundancia de datos y proporciona disponibilidad de datos en caso de fallas. Utiliza Syncrepl, un motor de replicación Sync.

Estructura del directorio LDAP

El directorio LDAP tiene una estructura clara y definida. Esto permite un fácil acceso a los datos y se suma a la capacidad de búsqueda del contenido del directorio LDAP.

Como LDAP sigue una estructura en forma de árbol, es jerárquico. Y es por eso que se prefiere principalmente como árbol de información de directorio (DIT).

Los diferentes niveles de la estructura de directorios LDAP incluyen:

  • Directorio raíz
  • Organización

Como puede ver, hay 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 en el nivel de directorio. Debajo, obtiene País (países) que luego se ramifica a Organización (s). A continuación, se ramifica a Unidades Organizativas (OU) y, por último, Individuos y Grupos.

Para comprender la estructura del directorio LDAP, echemos un vistazo a un ejemplo a continuación.

 - Root (Top-level entry)
   |
   +-- Country: "dc=com" (e.g., dc=example,dc=com)
         |
         +-- Organization: "dc=example" (e.g., dc=example)
               |
               +-- Organizational Unit (OU): "ou=Users"
               |      |
               |      +-- User: "cn=Nitish Singh"
               |      |
               |      +-- User: "cn= Oliver Green"
               |
               +-- Organizational Unit (OU): "ou=Groups"
                      |
                      +-- Group: "cn=Admins"
                      |
                      +-- Group: "cn=Users"
		|
		+-- Group: “cn=Superusers”

La entidad raíz se identifica con DC, que significa atributo de componente de dominio. Entonces, 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 organizarlos lógicamente en subdivisiones. Por ejemplo, puede establecer OU en «usuarios», «grupos» o «superusuarios».

Finalmente, debajo de cada OU, puede enumerar diferentes entradas, incluidos grupos, dispositivos, usuarios, etc. En nuestro ejemplo, dos valores de usuarios de OU incluyen «Nitish Singh» y «Oliver Green». Del mismo modo, en Grupos de unidades organizativas, tenemos «Administradores», «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 comprender la organización de datos LDAP, necesitaremos comprender los elementos comunes de LDAP, que conducen a la construcción de entradas del sistema LDAP.

Los componentes de datos básicos de LDAP incluyen:

  • 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 usarse para almacenar correo dentro del sistema LDAP.

correo: [email protected]

Entradas

Las entradas dentro del sistema LDAP se asocian con la atribución para proporcionar significado. Puede pensar en las entradas como una colección de atributos relacionados.

Por ejemplo, los datos en formato LDIF (formato de intercambio de datos LDAP) tendrán el siguiente aspecto:

dn: sn=Hogwarts, ou=wizards, dc=WizardingWorld, dc=fiction

objectclass: wizard

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 a través de á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 el DIT para organizar y estructurar los datos. Sin embargo, ¿cómo lo logra? Vamos a discutirlo a continuación.

Para colocar entradas en un DIT que están relacionadas entre sí jerárquicamente. Entonces, cuando se crea una nueva entrada, se agrega a la estructura en forma de árbol como elemento secundario de una entrada existente.

Todo comienza en la parte superior del árbol de jerarquía en el DIT. Como cubre todas las entradas secundarias, se etiqueta principalmente como una organización como “dc=com o ejemplo. Esto se hace usando componentes de dominio para asegurar una fácil administración. De esta forma, el administrador puede establecer la ubicación usando l=nombre_ubicación o segmentos organizacionales, como ou=tech, marketing, etc.

Las entradas utilizan la clase de objeto de la unidad organizativa (OU). Eso es porque las entradas pueden usar la etiqueta de atributo ou=. Son simples y ofrecen una excelente manera de categorizar y encontrar información dentro del DIT.

Luego viene otro concepto importante conocido como Nombre Distinguido Relativo. Es el nombre relativo de un elemento dependiendo de su nivel de jerarquía DIT. Entonces, para acceder a una entrada, debe ingresar los valores RDN de la entidad junto con el valor RDN del padre.

Esto crea una cadena de valores RDN, que va de abajo hacia arriba, creando una ruta a 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 necesita colocar el nuevo activo o información. Entonces, RDN actúa como un valor relativo, mientras que DN es más una ruta absoluta.

Importancia de LDAP

En esta sección, veremos la importancia de LDAP desde dos perspectivas:

  • Administrar el servicio de directorio: el protocolo LDAP tiene los medios adecuados para almacenar y acceder a los datos del directorio LDAP. Ya los discutimos en las secciones «Cómo funciona LDAP y los componentes de datos» y «Organización». LDAP es un medio para administrar, almacenar, acceder y asegurar datos. También asegura la recuperación eficiente de la información. Además, ofrece escalabilidad y replicación también.
  • Autenticación de usuarios: además de administrar los servicios de directorio, LDAP se destaca en la autenticación y autorización de usuarios. Una vez que se crea la conexión, el usuario puede acceder a los activos almacenados según las reglas de acceso establecidas por el administrador.

LDAP frente a Active Directory

Es común que la gente confunda LDAP y Active Directory. LDAP y Active Directory de Microsoft trabajan en estrecha colaboración para proporcionar a las organizaciones un medio para almacenar y acceder de forma segura a los datos de la organización en todos los departamentos de forma segura.

Entonces, LDAP es un protocolo, mientras que Active Directory es un producto de servicio de directorio que almacena los datos de la organización en una estructura similar a un árbol.

LDAP actúa como un 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 liviano que no crea ningún gasto adicional en los servicios y servidores con los que trabaja. Además, su naturaleza estandarizada, independiente del proveedor y de código abierto significa que se puede integrar fácilmente en las soluciones existentes.

También puede explorar la autenticación multifactor (MFA).