Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.1 - Crear un archivo ldif como por ejemplo module.ldif que contenga la siguiente estructura:
** Atención!: Si los comandos siguientes dan error, copiar el directorio /etc/openldap/slapd.d de otro servidor que no haya dado problema o que haya
funcionado en la etapa de prueba, pues puede suceder en los servidores en producción por problemas de concurrencia. También podemos detener el servicio
bloqueando el puerto en el iptables y reiniciar slapd.
# restorecon –R /etc/openldap
# vi module.ldif
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModuleLoad: syncprov.la
1.2 – Después, en cada servidor LDAP ejecutar el siguiente comando para agregar el contenido del archivo recién
creado module.ldif a la configuración del servidor LDAP, en cada uno.
2.1 - Crear un archivo ldif ejemplo config-repl.ldif que contenga la siguiente estructura:
** Nota: Solo se debe sustituir las palabras que están en color rojo, lo que está en negrita y cursiva es lo que se debe ejecutar en la consola ssh y lo que se
encuentra solo en negrita es lo que va dentro de los ficheros y que no se modifica.
# vi config-repl.ldif
dn: cn=config
changetype: modify
add: olcServerID
dn: olcOverlay=syncprov,olcDatabase={0}config,cn=config
changetype: add
objectclass: olcOverlayConfig
objectclass: olcSyncProvConfig
olcOverlay: syncprov
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001 provider=ldap://ip-server1 binddn="cn=admin,cn=config" bindmethod=simple
credentials=<PASSWORD> searchbase="cn=config" type=refreshAndPersist retry="5 5 300 5" timeout=1
olcSyncRepl: rid=002 provider=ldap://ip-server2 binddn="cn=admin,cn=config" bindmethod=simple
credentials=<PASSWORD> searchbase="cn=config" type=refreshAndPersist retry="5 5 300 5" timeout=1
-
add: olcMirrorMode
olcMirrorMode: TRUE
2.2 - Después agregar el archivo a los servidores LDAP ya sean 2 o más ejecutar el siguiente comando:
3. - En todos los servidores LDAP, editar el archivo /etc/sysconfig/ldap para que el servicio slapd corra con la opción
host habilitada (-h) y especificar la URL de este propio servidor, es decir la IP local del servidor que estamos
configurando <ip-server#>. Esto se repite para cada servidor LDAP de la granja master-master.
# vi /etc/sysconfig/ldap
Las siguientes variables las debemos ponerle con valor “no”. Algunas están en “yes”, pero se le debe poner “no”.
SLAPD_LDAP=no
SLAPD_LDAPI=no
SLAPD_LDAPS=no
** A la variable ip-server# se le sustituye por la ip del propio servidor que estamos configurando como miembro de la réplica. Esto se debe
hacer en todos los servidores ldap que se van a adicionar al esquema master-master.
3.2 - Verificar que el servicio esté corriendo ya con la opción hosts (-h).
# ps aux | grep slapd
4. - Habilitar en el servidor ldap principal, miembro de la réplica master-master, la configuración necesaria para que
se replique la base de datos (syncrepl para cn=config database).
4.1 - Crear un archivo ldif como por ejemplo bdb-repl.ldif que contenga la siguiente estructura:
Donde:
Ip-server1: sustituirlo por la ip del primer servidor de la réplica master-master
Ip-server2: sustituirlo por la ip del segundo servidor de la réplica master-master, y así sucesivamente.
<PASSWORD>: Sustituir por el pass de administrador del ldap. Quitar los signos <>.
# vi bdb-repl.ldif
dn: olcDatabase={1}bdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=003 provider=ldap://ip-server1 binddn="cn=admin,dc=idcpub,dc=enet,dc=cu"
bindmethod=simple credentials=<PASSWORD> searchbase="dc=idcpub,dc=enet,dc=cu" type=refreshAndPersist
retry="5 5 5 +" timeout=3
olcSyncRepl: rid=004 provider=ldap://ip-server2 binddn="cn=admin,dc=idcpub,dc=enet,dc=cu"
bindmethod=simple credentials=<PASSWORD> searchbase="dc=idcpub,dc=enet,dc=cu" type=refreshAndPersist
retry="5 5 5 +" timeout=3
-
add: olcMirrorMode
olcMirrorMode: TRUE
dn: olcOverlay=syncprov,olcDatabase={1}bdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
4.2 - Ahora ejecutamos el siguiente comando para que se active la réplica de las base de datos en todos los
servidores miembros de la granja master-master.
** Es importante que cuando se ejecute este comando ya se haya realizado la configuración de réplica de las configuraciones en todos los
servidores ldap que van a ser miembros de la réplica master-master.
Ahora estamos listo para agregar un usuario a uno de los directorios ldap y revisar en los demás para comprobar que
esta replicada la información.
6. Ahora vamos a configurar en cada servidor que use la autentificación LDAP el programa cliente LDAP.
6.1. - Editar archivo /etc/pam_ldap.conf y agregar o descomentariar y modificar las siguientes líneas, donde en la
segunda ponemos separados por espacio todos los servidores miembros:
** recordar que se debe sustituir lo que esta resaltado en rojo por el valor que corresponde para cada uno de los servidores LDAP miembros de
la réplica.
base dc=idcpub,dc=enet,dc=cu
uri ldap://ip-server1/ ldap://ip-server2/
ssl no
tls_cacertdir /etc/openldap/cacerts
pam_password md5
6.2. - Editar archivo /etc/openldap/ldap.conf agregar o descomentariar y modificar las siguientes líneas :
** recordar que se debe sustituir lo que esta resaltado en rojo por el valor que corresponde para cada uno de los servidores LDAP miembros de
la réplica.
TLS_CACERTDIR /etc/openldap/cacerts
URI ldap://ip-server1/ ldap://ip-server2/
BASE dc=idcpub,dc=enet,dc=cu
6.3. - Editar archivo /etc/nslcd.conf y agregar o descomentariar y modificar las siguientes líneas:
6.4- Reiniciar el servicio nslcd para que se active la autentificación hacia cualquiera de los servidores LDAP.
Y con esto podemos considerar el entorno listo para loguearse desde cualquiera de los servidores LDAP.
7. Realizar pruebas de autentificación desde diferentes servidores y aplicaciones para comprobar el correcto
funcionamiento de la alta disponibilidad del servicio.
7.1 apagar servidor principal de la granja master –master y probar entra a alguno de los servidores que usan estos
directorios LDAP por ssh o por web o ftp para comprobar si se mantiene activo el directorio LDAP.
8. Ejemplos de configuración para virtualhost de apache de un sitio Web para usar la granja de LDAPs réplica master-
master y la alta disponibilidad del servicio de autentificación.
** Es muy importante que si ponemos los nombres DNS FQDN (Full Qualify Domain Name) de los servidores LDAP en la cadena de conexión existan
dichos registros en el DNS o en el fichero /etc/hosts de todos los servidores miembros y clientes de servicio de autentificación LDAP.
<VirtualHost *:80>
ServerName www.misitio.cu
Redirect / https://www.misitio.cu/horde
ErrorLog logs/www.misitio.cu-error_log
CustomLog logs/www.misitio.cu-access_log common
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /srv/www/www.misitio.cu/htdocs/
ServerName www.misitio.cu
# SSL Config
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<Files ~ "\.(cgi|shtml|phtml|php3|php?)$">
SSLOptions +StdEnvVars
</Files>
SSLCertificateFile /etc/pki/tls/certs/www.misitio.cu.crt
SSLCertificateKeyFile /etc/pki/tls/private/www.misitio.cu.key
ErrorLog logs/www.misitio.cu-ssl-error_log
CustomLog logs/www.misitio.cu-ssl-access_log common
</VirtualHost>
FIN.