Justificacio
Justificación Técnica de la Implementación OpenLDAP
Para la puesta en marcha del servicio de directorio activo OpenLDAP, se han tomado una serie de decisiones técnicas fundamentadas en la seguridad, la escalabilidad y las mejores prácticas de administración de sistemas:
1. Selección del Dominio y Base DN
Decisión: Se ha configurado el dominio interno
illa4.local(generando el Base DNdc=illa4,dc=local).Justificación: Se opta por un dominio con sufijo
.localpara garantizar el aislamiento del entorno de pruebas y evitar conflictos con resoluciones DNS públicas en Internet. Este dominio sirve como raíz del DIT (Directorio de Información del Árbol), permitiendo que futuras integraciones (como clientes Windows o Linux) puedan unirse a la red de forma coherente y centralizada.
2. Parámetros de Seguridad y Usuario Administrador
Decisión: Se ha mantenido el usuario gestor por defecto (
cn=admin) pero aplicando una política de contraseñas estricta. La contraseña asignada (Smx!Repte2.3Ldap) cuenta con 16 caracteres.Justificación: Siguiendo las recomendaciones del CCN-CERT e INCIBE sobre políticas de acceso seguro, se ha implementado una credencial que supera la longitud mínima de 12 caracteres y combina mayúsculas, minúsculas, números y caracteres especiales. Esto garantiza la integridad del directorio mitigando vulnerabilidades frente a ataques de fuerza bruta o de diccionario. Las contraseñas de los usuarios base creados a posteriori se han cifrado utilizando la herramienta
ldappasswd.
3. Estructura del Árbol de Directorio (DIT)
Decisión: Se ha diseñado una estructura jerárquica mediante la creación de dos Unidades Organizativas (OUs) de primer nivel:
ou=Usuariosyou=Grupos.Justificación: En lugar de volcar todos los objetos en la raíz del dominio, esta separación organizativa replica la lógica de una infraestructura empresarial real. Esto no solo facilita la gestión humana y la escalabilidad del sistema, sino que permite en un futuro delegar permisos o aplicar políticas (GPOs/ACLs) de forma granular dependiendo de si el objeto es un departamento, un grupo de permisos o una identidad de usuario.
4. Parámetros de los Objetos (Esquemas utilizados)
Decisión: Para la creación del empleado y su grupo técnico, se han utilizado los esquemas y clases de objeto
inetOrgPerson,posixAccountyposixGroup.Justificación: Esta configuración es vital para un entorno híbrido. El uso de
posixAccountdota al usuario de atributos a nivel de sistema operativo (comouidNumber,gidNumber,/home/empleado1y/bin/bash). Si solo se usaran clases de contactos, el servidor no podría validar correctamente el inicio de sesión de las máquinas cliente que se unan al dominio en la siguiente fase de la práctica.
Instalación y Configuración del Dominio Base
1
Se actualizaron los repositorios y se instalaron los paquetes necesarios para el servidor y las utilidades cliente
sudo apt update
sudo apt install slapd ldap-utils -y
2
Se reconfiguró el paquete slapd para establecer los parámetros personalizados de la infraestructura
Parámetros aplicados:
Nombre de dominio DNS:
illa4.localNombre de la organización:
Illa 4Motor de base de datos:
MDBAdministrator password: Smx!Repte2.3Ldap
sudo dpkg-reconfigure slapd
Creación de la Estructura Lógica
1
Para no crear los usuarios en el directorio raíz, se diseñó la estructura mediante un archivo LDIF para separar a los usuarios de los grupos
#Se creó el archivo estructura.ldif con el siguiente contenido
dn: ou=Usuarios,dc=illa4,dc=local
objectClass: organizationalUnit
ou: Usuarios
dn: ou=Grupos,dc=illa4,dc=local
objectClass: organizationalUnit
ou: Grupos
2
Se inyectó esta estructura en el servidor autenticándose como administrador
ldapadd -x -D "cn=admin,dc=illa4,dc=local" -W -f estructura.ldif
Población del Directorio (Grupos y Usuarios)
1
Una vez creadas las unidades organizativas, se procedió a crear un grupo técnico y un usuario de “prueba” con atributos de sistema operativo
Se generó el archivo empleados.ldif:
# Creación del grupo
dn: cn=tecnicos,ou=Grupos,dc=illa4,dc=local
objectClass: posixGroup
cn: tecnicos
gidNumber: 2000
# Creación del usuario
dn: uid=empleado1,ou=Usuarios,dc=illa4,dc=local
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
uid: empleado1
sn: Sistemas
givenName: Juan
cn: Juan Sistemas
uidNumber: 2000
gidNumber: 2000
homeDirectory: /home/empleado1
loginShell: /bin/bash
2
Se aplicó el archivo al directorio activo
ldapadd -x -D "cn=admin,dc=illa4,dc=local" -W -f empleados.ldif
Asignación de Credenciales Seguras
Por motivos de seguridad, la contraseña del usuario no se introdujo en texto plano en el archivo LDIF, sino que se inyectó cifrada posteriormente mediante la utilidad ldappasswd
ldappasswd -x -D "cn=admin,dc=illa4,dc=local" -W -S "uid=empleado1,ou=Usuarios,dc=illa4,dc=local"
Verificación del Servicio
Finalmente, se comprobó que el servidor respondía correctamente a las consultas (queries) y que el árbol se había construido con éxito
ldapsearch -x -b "dc=illa4,dc=local"