Protocolo LDAP

1. ¿Qué es exactamente LDAP?

Es un protocolo estándar de la industria (basado originalmente en el estándar X.500) que sirve para consultar y modificar servicios de directorio.  

  • No es una base de datos relacional: A diferencia de MySQL o Oracle, LDAP está optimizado para muchas lecturas y pocas escrituras.  
  • Estructura Jerárquica: La información se organiza en un árbol llamado DIT (Directory Information Tree).
2. Estructura de un registro (Entrada LDAP)

En el examen te pueden preguntar por los componentes de un nombre distinguido. Cada objeto en LDAP se identifica de forma única mediante su DN (Distinguished Name).  

Ejemplo de un DN: cn=Juan Perez,ou=Informatica,dc=minhap,dc=es

  • cn (Common Name): El nombre del objeto (Juan Perez).
  • ou (Organizational Unit): El departamento o contenedor (Informatica).
  • dc (Domain Component): Los componentes del dominio (minhap.es).
  • uid (User ID): El identificador único de login.
3. El modelo de información: Esquemas y Clases
  • ObjectClasses: Definen qué tipo de objeto es una entrada (ej. person, organizationalPerson, inetOrgPerson).  
  • Attributes: Son las propiedades del objeto (nombre, teléfono, email).  
  • Esquemas: Es el conjunto de reglas que define qué clases y atributos se pueden usar. Si intentas meter un atributo que no está en el esquema, el servidor dará error.  
4. Puertos y Seguridad (Pregunta típica de Test)
  • Puerto 389: LDAP estándar (tráfico en claro).  
  • Puerto 636: LDAPS (LDAP sobre SSL/TLS). Es la versión segura.  
  • STARTTLS: Una forma de elevar una conexión clara (389) a una segura sin cambiar de puerto.
5. Operaciones principales
  • Bind: Es el proceso de autenticación (login). Puede ser anónimo o con usuario/contraseña.  
  • Search: La operación más usada. Permite filtrar usando operadores lógicos (ej. (&(objectClass=person)(uid=jperez))).
  • Unbind: Cierre de la conexión.

6. LDAP en el mundo real (Administración Pública)

Cuando oigas hablar de Active Directory (AD) de Microsoft, debes saber que es una implementación propietaria que utiliza LDAP como protocolo de comunicación. En software libre, la referencia es OpenLDAP.