OPENLDAP Servidor
- Crear el certificado autofirmado CA, este certificado sirve para que el servidor y el cliente ldap puedan comunicarse entre sí, para determinar que puede confiar un cliente en nuestro servidor.
cd
/etc/pki/tls/misc
./CA –newca
Llenarlo con los
datos usados por usted en su organización, como se ve en la imagen.
yum install openldap* migrationtools nss-pam-ldapd
- nano /etc/openldap/ldap.conf Aumentamos las líneas que se ven en nuestra imagen, nótese que el URI tiene una dirección de loopback, para la instalación del servidor vamos a usar esta ip, una vez concluido la cambiaremos por la ip de nuestro equipo en la red
- eliminar los archivos dentro de la carpeta slapd.d, con el objetivo de crear los nuestros luego de una manera limpia.
rm -rf /etc/openldap/slapd.d/*
- Copiamos los archivos de configuración a la carpeta de nuestro servidor.
cp
/usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
- Copiamos el archivo de configuración de la base de datos de OpenLDAP en las librerías del sistema.
cp
/usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
- Generamos un password para el administrador de nuestro servidor LDAP, en el terminal escribir.
slappasswd
Escribimos una
clave y nos devolverá una clave encriptada que la usaremos en la configuración
del servidor.
Ejemplo:
{SSHA}VunsxK6jm4ezu01KJyBKR259oJVHimvp
·
Editamos el archivo
slapd.conf con nuestra clave y agregamos los permisos necesarios para que los
usuarios puedan cambiar sus claves.
Modificamos las
líneas
·
suffix
“dc=uce,dc=com,dc=ec”, la cantidad de parámetros dc domain component
(componente de dominio) se usan según el tipo de dominio que tenemos en nuestra
organización; en nuestro caso el dominio es uce.com.ec.
·
rootdn “cn=Manager,dc=uce,dc=com,dc=ec” donde la
directiva cn es el identificador mnemotécnico common name (nombre común); Aquí
usted puede colocar cualquier nombre, pero recuérdelo porque es el nombre con
el cual haremos la administración de los permisos.
Y aumentamos los permisos
para nuestros usuarios en cuanto a la
modificación de claves y tipo de login que pueden usar.
- Creamos un archivo root.ldif para agregarlo en nuestra base de datos.
nano
/root/root.ldif
y lo configuramos
como se ve en la imagen, recuerde cambiar todos los parámetros con los de su
dominio.
- Agregamos este archivo root.ldif a nuestra base de datos
slapadd -l
/root/root.ldif
en caso de falla usar el parámetro
–c para que sobrescriba en la base de datos.
slapadd –c -l
/root/root.ldif
La terminal retornara un mensaje:
Bdb_db_open: DB_CONFIG
for suffix “dc=uce,dc=com.dc=ec” has changed.
_#####################
100.00% eta none elapsed none
fast!
Closing DB…
Verificar siempre que el
porcentaje sea del 100%
- Hacer una prueba de los archivos de configuración, esta prueba generara los archivos cn=config y otros en nuestro archivo slapd.d
slaptest -f
/etc/openldap/slapd.conf -F /etc/openldap/slapd.d
retornara: config file
testing succeeded.
- Cambiamos de propietario a los directorios y chequeamos el estado del servicio slapd:
chown -R ldap:ldap /var/lib/ldap
chown -R
ldap:ldap /etc/openldap/slapd.d
service slapd
status
- Cambiamos la configuración para que nuestro servidor para que se inicie con nuestro sistema operativo e iniciamos el servicio slapd (nuestro servicio slapd debe estar detenido).
chkconfig slapd on
service slapd
start
- eliminar los archivos dentro de la carpeta slapd.d, para generarlos nuevamente con una prueba con los nuevos cambios realizados al servidor.
rm -rf
/etc/openldap/slapd.d/*
slaptest -f
/etc/openldap/slapd.conf -F /etc/openldap/slapd.d
- Como los archivos han sido generados nuevamente debemos cambiar el propietario de los mismo en la carpeta slapd.d y reiniciamos el servicio slapd.
chown -R
ldap:ldap /etc/openldap/slapd.d
service slapd restart
- Hasta este momento nuestro servidor posee una sola entrada, pero queremos agregar todas las entradas base del sistema operativo como son los grupos, usuarios, servicios, etc.
- Editamos el archivo /usr/share/migrationtools/migrate_common.ph
- Modificamos el “Default_mail_domain” y el “Default base” como se observa en la imagen.
- migramos el archivo base
./migrate_base.pl > /etc/openldap/base.ldif
- agregamos la base.ldif en la DB, con el parámetro –c para sobrescribir si este archivo existiere.
ldapadd -x -W -c -D "cn=Manager,dc=uce,dc=com,dc=ec" -f
/etc/openldap/base.ldif
La consola
retornara mensajes: New entry added.
- Si deseamos agregar a los usuarios del sistema usamos:
grep huesped
/etc/passwd > /etc/openldap/passwd.huesped
./migrate_passwd.pl
/etc/openldap/passwd.huesped /etc/openldap/huesped.ldif
ldapadd -x -D
"cn=Manager,dc=uce,dc=com,dc=ec" -W -f /etc/openldap/huesped.ldif
- probamos lo que agregamos
ldapsearch -x -b
"dc=uce,dc=com,dc=ec" "objectclass=*"
- Ahora generamos los certificados usados en los clientes OpenLDAP
rm
/etc/pki/tls/certs/slapd.pem
make
/etc/pki/tls/certs/slapd.pem
- Cambiamos los permisos de acceso al archivo slapd.pem y cambiamos de propietario al mismo.
chmod 650
slapd.pem
chown :ldap slapd.pem
- Generamos un link de nuestro certificado para que sea usado por el cliente OpenLDAP
ln -s /etc/pki/tls/certs/slapd.pem /etc/openldap/cacerts/slapd.pem
- Editamos el archivo:
nano /etc/sysconfig /ldap.conf
Buscamos la línea SLAPD_LDAPS=no
Y la cambiamos
por SLAPD_LDAPS=yes
- Editamos el archivo /etc/openldap/slapd.conf
y agregamos las líneas de los certificados TLS que se observan al final de la imagen.
- Editamos el archivo /etc/openldap/ldap.conf y agregamos las líneas del certificado como se observa en la imagen
Note
que se cambia el URI como mencione antes por la ip del servidor, se coloca la
carpeta donde están los certificados para el uso del mismo y se indica que no
se verifique el certificado nunca (never) ya que es autofirmado.
- eliminar los archivos dentro de la carpeta slapd.d, para generarlos nuevamente con una prueba con los nuevos cambios realizados al servidor.
rm -rf
/etc/openldap/slapd.d/*
slaptest -f
/etc/openldap/slapd.conf -F /etc/openldap/slapd.d
- Como los archivos han sido generados nuevamente debemos cambiar el propietario de los mismo en la carpeta slapd.d y reiniciamos el servicio slapd.
chown -R
ldap:ldap /etc/openldap/slapd.d
service slapd
restart
- Ahora verificamos que datos tenemos en nuestro servidor
ldapsearch -x -ZZ
-h localhost
ldapsearch -x -H
ldaps://localhost
Obtendremos algo parecido a la imagen, en caso de
presentar errores verifique la configuración y que el servicio slapd este
iniciado, si el error ocurre durante la prueba ldaps se debe verificar que los
certificados fueron creados y tienen los permisos necesarios.
- Para acceder como usuario debemos configurar la herramienta:
authconfig-tui
- Damos permisos para crear los directorios de cada usuario en el primer login.
authconfig –enablemkhomedir --update
Phpldapadmin
·
Descargamos el rpm del
repositorio epel, para nuestra distribución de CentOS 6
http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
·
Una vez instalado el
repositorio epel, descargamos el administrador de LDAP phpldapadmin
yum install phpldapadmin
Editamos el archivo de configuración de phpldap
vim /etc/phpldapadmin/config.php
vim /etc/phpldapadmin/config.php
Des comentamos la línea 397, y comentamos la línea 398 para permitir el acceso como administrador del sistema con nuestro rootdn descrito en el literal 8, guardamos e iniciamos el servicio httpd.
service httpd start
·
Abrimos nuestro navegador web y escribir:
http://127.0.0.1/phpldapadmin
·
Clic en conectar, y nos
identificamos con el rootdn que está en el literal 8.
·
Clic en grupos
·
Clic en crear un objeto
nuevo, y seleccionamos el grupo posix
·
Damos un nombre al grupo
y creamos el objeto
·
Una vez realizado esto
podemos crear usuarios, clic en usuarios y crear un nuevo objeto
·
Clic en Genérico cuenta
de usuario
·
Llenamos los campos como
se ven en la imagen
Nota: observe que la consola de Login está como /bin/sh, esto nos permitirá
conectarnos por telnet o ssh en consola, pero no podremos acceder de manera
grafica al pc, para eso debemos modificar la consola login por /bin/bash
después de creado nuestro usuario.
·
Clic en el usuario
creado, modificar el loginShell y agregar el parámetro shadowAccount.
con estos datos podemos conectarnos a nuestro servidor
ldap con el nuevo usuario creado desde cualquier pc.
Próximamente configuración de los clientes Ldap.