servidor de autenticación con openldap en centos

14
kr@mer g@r@y Servidor de Autenticación: con CentOS 6.2 y OpenLDAP

Upload: kramer-garay

Post on 12-Jun-2015

4.241 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Servidor de autenticación con OpenLDAP en CentOS

kr@mer g@r@y

Servidor de Autenticación: con CentOS 6.2 y OpenLDAP

Page 2: Servidor de autenticación con OpenLDAP en CentOS

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 :

Page 3: Servidor de autenticación con OpenLDAP en CentOS

kr@mer g@r@y

E ingresamos los DNS correspondientes:

Reiniciamos el demonio NetworkManager:

Visualizamos que se realizaron los cambios:

Probamos si hay conectividad:

Page 4: Servidor de autenticación con OpenLDAP en CentOS

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.

Page 5: Servidor de autenticación con OpenLDAP en CentOS

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:

Page 6: Servidor de autenticación con OpenLDAP en CentOS

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

Page 7: Servidor de autenticación con OpenLDAP en CentOS

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:

Page 8: Servidor de autenticación con OpenLDAP en CentOS

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:

Page 9: Servidor de autenticación con OpenLDAP en CentOS

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

Page 10: Servidor de autenticación con OpenLDAP en CentOS

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

Page 11: Servidor de autenticación con OpenLDAP en CentOS

kr@mer g@r@y

Acceso con putty:

Page 12: Servidor de autenticación con OpenLDAP en CentOS

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

Page 13: Servidor de autenticación con OpenLDAP en CentOS

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:

Page 14: Servidor de autenticación con OpenLDAP en CentOS

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