kr@mer g@r@y
Servidor de Autenticación: con CentOS 6.2 y OpenLDAP
kr@mer g@r@y
Paquetes necesarios para la instalación
openldap
openldap-clients
openldap-server
authconfig
authconfig-gtk
nss_ldap
migrationtools
Configuración de los parámetros de Red:
Ingresar al sistema con el usuario root y poner la contraseña correspondiente:
Para probar la conectividad de internet editamos el siguiente fichero:
Y modificamos los siguientes parámetros (de acuerdo a su dirección de IP):
A continuación configuramos los servidores DNS editando el siguiente fichero :
kr@mer g@r@y
E ingresamos los DNS correspondientes:
Reiniciamos el demonio NetworkManager:
Visualizamos que se realizaron los cambios:
Probamos si hay conectividad:
kr@mer g@r@y
Realizar una actualización de los repositorios con el siguiente comando
Instalación a través de yum:
Editamos el fichero /etc/selinux/config y configuramos en modo enforcing para un mejor
funcionamiento:
Todo el contenido del directorio /var/lib/ldap debe tener contexto tipo slapd_db_t.
Configuramos el nombre del host (/etc/sysctl.conf) y reiniciamos el sistema (#reboot):
Certificados para TLS/SSL.
Es muy importante utilizar TLS/SSL cuando se configura el sistema para fungir como
servidor de autenticación, por lo cual el siguiente procedimiento es obligatorio. Si utiliza
CentOS 6, o Red Hat™ Enterprise Linux 6, requerirá al menos openldap-2.4.23-16.el6,
debido a que la versiones anteriores tienen roto el soporte para TLS/SSL.
kr@mer g@r@y
Cambie al directorio:
La creación de la firma digital y certificado requiere utilizar una firma digital con algoritmo RSA de 2048 octetos, y estructura x509. De modo predeterminado se establece una validez por 365 días (un año) para el certificado que se creará.
Ingresamos los datos correspondientes que solicita:
El certificado solo será válido cuando el servidor LDAP sea invocado con el nombre
definido en el campo Common Name. Es decir, sólo podrá utilizarlo cuando se defina
como nombre de anfitrión, es decir server.garay.com. Para que esto funcione, será
indispensable que un servidor DNS se encargue de la resolución del nombre de anfitrión del
servidor LDAP para toda la red de área local.
Es indispensable que el archivo que contiene la firma digital y el certificado tenga permisos
de acceso de lectura y escritura para el usuario root, y permisos de acceso de sólo lectura
para el grupo ldap:
kr@mer g@r@y
Creación de directorios.
Con fines de organización se creará un directorio específico para este directorio y se
configurará con permisos de acceso exclusivamente al usuario y grupo ldap.
Se requiere copiar el archivo DB_CONFIG.example dentro del directorio
/var/lib/ldap/autenticar/, como el archivo DB_CONFIG. Ejecute lo siguiente:
Todo el contenido del directorio /var/lib/ldap/autenticar debe pertenecer al usuario y
grupo ldap. Ejecute lo siguiente:
Creación de claves de acceso para LDAP.
Para crear la clave de acceso que se asignará en LDAP para el usuario administrador de
directorio, ejecute lo siguiente:
El cual generará el siguiente criptograma: {SSHA}ZhMUst58Sxh5nTLTk4rgA1RJZjhnNTsC
El texto de la salida será utilizado más adelante en el archivo /etc/openldap/slapd.conf y se
definirá como clave de acceso para el usuario Administrador, quien tendrá todos los privilegios
sobre el directorio.
Archivo de configuración /etc/openldap/slapd.conf.
Se debe crear /etc/openldap/slapd.conf como archivo nuevo:
Ver fichero salida1.txt que se adjunta
kr@mer g@r@y
Por seguridad, el archivo /etc/openldap/slapd.conf deberá tener permisos de lectura y
escritura, sólo para el usuario ldap.
Eliminamos el conjunto de archivos y directorios que componen los configuración
predeterminada:
Convertimos el archivo /etc/openldap/slapd.conf en el nuevo subconjunto de archivos ldif
que irán dentro del directorio /etc/ldap/slapd.d:
Todo el contenido del directorio /etc/ldap/slapd.d debe pertenecer al usuario y grupo ldap.
Ejecute lo siguiente:
Inicio del servicio.
Inicie el servicio slapd, y añada éste al resto de los servicios que arrancan junto con el
sistema, ejecutando los siguientes dos mandatos:
Añadimos usuario:
kr@mer g@r@y
Migración de cuentas existentes en el sistema.
Edite el archivo /usr/share/migrationtools/migrate_common.ph:
Modifique los los valores de las variables $DEFAULT_MAIL_DOMAIN y
$DEFAULT_BASE a fin de que queden del siguiente modo:
A continuación, hay que crear el objeto que a su vez contendrá el resto de los datos en el
directorio, utilizando migrate_base.pl para generar el archivo base.ldif.
Genere el archivo base.ldif, ejecutando lo siguiente:
Utilice el mandato ldapadd para insertar los datos necesarios. Las opciones utilizadas con
este mandato son las siguientes:
-x autenticación simple
-W solicitar clave de acceso
-D binddn Nombre Distinguido (dn) a utilizar
-h anfitrión Servidor LDAP a acceder
-f archivo archivo a utilizar
Una vez entendido lo anterior, se procede a insertar la información generada en el
directorio utilizando lo siguiente:
Una vez hecho lo anterior, se podrá comenzar a poblar el directorio con datos. Lo primero
será importar los grupos y usuarios existentes en el sistema. Realice la importación de
usuarios creando los archivos group.ldif y passwd.ldif, utilizando migrate_group.pl y
migrate_passwd.pl.
Ejecute los siguientes dos mandatos:
kr@mer g@r@y
Lo anterior creará los archivos group.ldif y passwd.ldif, los cuales incluirán la información de los
grupos y cuentas en el sistema, incluyendo las claves de acceso. Los datos se podrán insertar en el
directorio LDAP utilizando lo siguiente:
Habilitar la autentificación
Habilitamos Utilizar Autenticación ldap y damos en siguiente
Ponemos la IP del servidor y el nombre de dominio en los campos
kr@mer g@r@y
Damos clic en aceptar y reiniciamos el demonio:
Comprobaciones.
Antes de configurar el sistema para utilizar LDAP para autenticar, es conveniente verificar
que todo funciona correctamente.
El siguiente mandato verifica que directorios disponibles existen en el servidor
192.168.1.35
El siguiente mandato debe devolver toda la información de todo el directorio solicitado
(dc=garay,dc=com).
Ver fichero salida2.txt que se adjunta
Otro ejemplo es realizar una búsqueda específica, para un usuario en particular. Asumiendo
que en el directorio existe el usuario denominado kramer, ejecute lo siguiente:
Ver fichero salida3.txt que se adjunta
kr@mer g@r@y
Acceso con putty:
kr@mer g@r@y
Administración de OpenLDAP
Una vez instalado y configurado el servidor LDAP, la siguiente tarea es la del diseño de la
estructura y la introducción de datos en el directorio.
Puesto que la finalidad de nuestro servidor LDAP es que sirva de almacén de usuarios y grupos
para autentificar sistemas linux y servicios como ftp y web, deberemos crear una estructura que
parta de la base de nuestro directorio, para almacenar dicha información
Explorador de directorios LDAP
Para acceder al directorio LDAP y poder crear y modificar elementos en dicho directorio, es
necesario disponer de un explorador de directorios LDAP (LDAP browser). Existen muchos
exploradores LDAP tanto de pago como libres. Entre las aplicaciones libres destacamos gq,
phpldapadmin (aplicación web) y JXplorer.
En este caso particular utilizaremos JXplorer – Explorador LDAP en java
Detenemos el firewall
Abrimos JXplorer y creamos una conexión a DSA
kr@mer g@r@y
Una vez hecho clic en el botón Ok JXplorer conectará con el servidor LDAP y mostrará el directorio
para su respectiva administración:
kr@mer g@r@y
Weblografía
1. http://www.alcancelibre.org/staticpages/index.php/como-ldap-auth
2. http://blacklunaredes.blogspot.com/2011/04/instalacion-de-openldap-phpldapadmin-
en.html