Making of a forge: LDAP (II)

En esta segunda entrega dedicada a LDAP, vamos a establecer unos mínimos mecanismos de seguridad en nuestro servidor OpenLDAP. La idea es poder utilizar Apache Directory Studio desde una máquina remota para dar de alta usuarios y grupos. Normalmente la administración de los diferentes servicios de la forja (incluyendo los usuarios y grupos gestionados por LDAP) la haremos remotamente. No queremos tener que abrir una conexión SSH o VNC con la máquina cada vez que queramos tocar la configuración de algún servicio.

Lo que hemos hecho es activar TLS como mecanismo de conexión con el servidor OpenLDAP. Para ello he seguido principalmente las instrucciones proporcionadas en esta página: https://help.ubuntu.com/9.10/serverguide/C/openldap-server.html.

Estos son los pasos que he seguido:

Lo primero es crear un certificado con el que se autenticará el servidor LDAP, es importante que el Common Name sea el nombre del servidor (dev.sidelab.es). Aunque el certificado va a estar autofirmado, al menos al hacer coincidir el nombre del certificado con el del servidor evitaremos que los servicios que hagan uso del servidor OpenLDAP se quejen de que el nombre del servidor no coincide con el nombre de la máquina.

openssl req -new -x509 -nodes -out slapdcert.pem -keyout slapdkey.pem -days 3650

En segundo lugar copiaremos los certificados a /etc/ldap y cambiaremos los permisos a los ficheros para que sean del usuario y grupo openldap:

sudo cp slapdcert.pem /etc/ldap
sudo cp slapdkey.pem /etc/ldap
sudo chown openldap:openldap slapdcert.pem
sudo chown openldap:openldap slapdkey.pem

Ahora que lo tenemos todo preparado, vamos a activar tsl en OpenLDAP. Para ello hay que crear un fichero tls-condif.ldif con el siguiente contenido:

dn: cn=config
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/slapdcert.pem

dn: cn=config
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ldap/slapdkey.pem

y lo añadimos a la bbdd config de OpenLDAP así:

ldapmodify -x -D cn=admin,cn=config -W -f tls-config.ldif

Por seguridad, vamos a editar el fichero /etc/default/slapd para dejar activa la conexión segura para todas las interfaces y la no segura sólo en la 127.0.0.1, de esta forma cualquier conexión externa deberá realizarse bajo TLS:

SLAPD_SERVICES="ldap://127.0.0.1/ ldaps:///"

Finalmente, paramos el servicio y reiniciamos el proceso slapd:

sudo kill -INT `cat /var/run/slapd/slapd.pid`
sudo /etc/init.d/slapd start

En este momento, si nos conectamos con Apache Directory Studio, podemos dar de alta una conexión ldaps.

Anuncios

One thought on “Making of a forge: LDAP (II)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s