Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
1. Requisitos Previos
Antes de comenzar, asegúrate de tener:
- Un servidor Linux (puede ser cualquier distribución popular como Ubuntu, CentOS, Debian, etc.).
- Acceso root o privilegios de sudo.
- Conexión a internet para descargar paquetes.
2. Instalación de OpenLDAP
En Ubuntu/Debian:
- Actualiza los paquetes del sistema:
sudo apt updatesudo apt upgrade - Instala los paquetes necesarios:
sudo apt install slapd ldap-utils
Durante la instalación, se te pedirá que configures una contraseña para el administrador de LDAP (conocido comoadmin). Esta contraseña se usará para acceder al directorio LDAP. - Reconfigura el paquete slapd si es necesario:
sudo dpkg-reconfigure slapd
Aquí puedes ajustar la configuración del dominio y otros parámetros.
En CentOS/RHEL:
- Actualiza los paquetes del sistema:
sudo yum update - Instala los paquetes necesarios:
sudo yum install openldap openldap-servers openldap-clients - Habilita e inicia el servicio de LDAP:
sudo systemctl start slapdsudo systemctl enable slapd
3. Configuración Básica del Servidor LDAP
La configuración básica del servidor LDAP se puede realizar a través de varios archivos y herramientas. Aquí, nos centraremos en la configuración básica usando el archivo slapd.conf o la base de datos cn=config.
Configuración usando slapd.conf (Método tradicional)
- Edita el archivo de configuración:
sudo nano /etc/ldap/slapd.conf - Asegúrate de que tu archivo de configuración contiene las siguientes líneas:
include /etc/ldap/schema/core.schemainclude /etc/ldap/schema/cosine.schemainclude /etc/ldap/schema/inetorgperson.schemainclude /etc/ldap/schema/nis.schemapidfile /var/run/slapd/slapd.pidargsfile /var/run/slapd/slapd.argsdatabase bdbsuffix "dc=example,dc=com"rootdn "cn=admin,dc=example,dc=com"rootpw secretpassworddirectory /var/lib/ldapindex objectClass eq
Ajustasuffix,rootdn, yrootpwa tus necesidades. - Reinicia el servicio para aplicar los cambios:
sudo systemctl restart slapd
Configuración usando cn=config (Método moderno)
- Accede a la base de datos de configuración:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f config.ldif
Aquí,config.ldifes un archivo que contiene los cambios de configuración en formato LDIF. - Crea un archivo
config.ldifpara agregar tu configuración. Por ejemplo:dn: olcDatabase={1}hdb,cn=configchangetype: modifyreplace: olcSuffixolcSuffix: dc=example,dc=comdn: olcDatabase={1}hdb,cn=configchangetype: modifyreplace: olcRootDNolcRootDN: cn=admin,dc=example,dc=comdn: olcDatabase={1}hdb,cn=configchangetype: modifyreplace: olcRootPWolcRootPW: secretpassword - Aplica los cambios:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f config.ldif
4. Agregar Esquemas LDAP
Los esquemas LDAP definen los tipos de datos que pueden ser almacenados. Asegúrate de que los esquemas necesarios estén incluidos:
sudo cp /usr/share/doc/slapd/examples/ldif/* /etc/ldap/schema/
sudo nano /etc/ldap/slapd.conf
Asegúrate de que los archivos de esquema estén incluidos en el archivo de configuración (slapd.conf o cn=config).
5. Agregar Datos Iniciales al Directorio LDAP
Para agregar datos iniciales (como la base de datos de usuarios y grupos), necesitarás crear archivos LDIF y cargarlos en el servidor LDAP.
- Crea un archivo LDIF para agregar una estructura básica:
dn: dc=example,dc=comobjectClass: topobjectClass: dcObjectobjectClass: organizationo: Example Incdc: exampledn: ou=people,dc=example,dc=comobjectClass: organizationalUnitou: peopledn: ou=groups,dc=example,dc=comobjectClass: organizationalUnitou: groups - Guarda el archivo como
base.ldify cárgalo en el servidor LDAP:sudo ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f base.ldif
Se te pedirá la contraseña que configuraste para el administrador.
6. Administrar Usuarios y Grupos
Agregar Usuarios
- Crea un archivo LDIF para un usuario:
dn: uid=john.doe,ou=people,dc=example,dc=comobjectClass: inetOrgPersonobjectClass: posixAccountobjectClass: topcn: John Doesn: Doeuid: john.doeuidNumber: 1001gidNumber: 1001homeDirectory: /home/john.doeuserPassword: {SSHA}passwordhash - Agrega el usuario al directorio LDAP:
sudo ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f user.ldif
Agregar Grupos
- Crea un archivo LDIF para un grupo:
dn: cn=developers,ou=groups,dc=example,dc=comobjectClass: posixGroupobjectClass: topcn: developersgidNumber: 1001 - Agrega el grupo al directorio LDAP:
sudo ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f group.ldif
7. Configuración del Cliente LDAP
Para que los clientes Linux usen LDAP para autenticarse, debes configurar el cliente LDAP.
- Instala los paquetes necesarios:
sudo apt install libnss-ldap libpam-ldap nslcd - Configura el archivo
/etc/nsswitch.conf:Asegúrate de que las líneas depasswd,group, yshadowincluyanldap:passwd: files ldapgroup: files ldapshadow: files ldap - Configura el archivo
/etc/ldap/ldap.conf:Edita o crea este archivo para incluir:BASE dc=example,dc=comURI ldap://localhost - Configura el archivo
/etc/nslcd.conf:Asegúrate de que contenga:uri ldap://localhostbase dc=example,dc=com - Reinicia los servicios:
sudo systemctl restart nslcdsudo systemctl restart nsswitch
8. Verificación y Solución de Problemas
- Verifica la configuración LDAP:
ldapsearch -x -b "dc=example,dc=com" -D "cn=admin,dc=example,dc=com" -W
Asegúrate de ingresar la contraseña correcta para el administrador LDAP. - Revisa los logs en caso de problemas:Los logs de LDAP suelen estar en
/var/log/dependiendo de la configuración de tu distribución. Revisa los archivos para obtener detalles sobre errores.
9. Mantenimiento y Seguridad
- Realiza copias de seguridad periódicas de tu base de datos LDAP. Utiliza herramientas como
slapcatpara realizar copias de seguridad.sudo slapcat -l backup.ldif - Actualiza regularmente OpenLDAP y otros paquetes del sistema para mantener la seguridad.
- Configura el cifrado usando TLS/SSL para proteger las conexiones LDAP. Debes generar certificados SSL/TLS y configurar OpenLDAP para usarlos. Aquí tienes un ejemplo de cómo configurar TLS en OpenLDAP:
- Genera certificados y claves:
openssl req -new -x509 -nodes -out /etc/ssl/certs/ldapserver.crt -keyout /etc/ssl/private/ldapserver.key -days 365 - Configura TLS en OpenLDAP:Edita el archivo de configuración de OpenLDAP para incluir los siguientes parámetros:
olcTLSCACertificateFile: /etc/ssl/certs/ca-certificates.crt olcTLSCertificateFile: /etc/ssl/certs/ldapserver.crt olcTLSCertificateKeyFile: /etc/ssl/private/ldapserver.key - Reinicia el servicio de LDAP:
sudo systemctl restart slapd
- Genera certificados y claves:
Con esta guía, deberías tener un servidor LDAP funcional en Linux, capaz de manejar la autenticación y la gestión de usuarios y grupos