Cargando…

¿Listo para aprender?

Pulsa en el botón y disfruta de nuestros cursos GRATIS o en oferta
VER LOS CURSOS

Conexión segura al servidor LDAP usando TLS

Hasta ahora hemos configurado el servidor OpenLDAP para intercambiar información sin tener en cuanta la seguridad de las conexiónes, pero si lo vamos a utilizar para intercambiar datos sensibles como lo es la gestión de cuentas del sistema, es muy recomendable que los datos viajen cifrados del servidor al cliente. Vamos a utilizar TLS ya que es la evolución de SSL y la opción recomendada.

Instalar paquetes para TLS y certificados

Generaremos nuestros propios certificados, por lo que necesitamos los siguientes paquetes:
apt-get install gnutls-bin ssl-cert

Crear certificados y claves

sh -c “certtool –generate-privkey > /etc/ssl/private/cakey.pem”

Creamos la plantilla con la información necesaria

nano /etc/ssl/ca.info

cn=curseame
ca
cert_signing_key

Creamos el certificado auto firmado
certtool –generate-self-signed –load-privkey /etc/ssl/private/cakey.pem –template /etc/ssl/ca.info –outfile /etc/ssl/certs/cacert.pem

Ahora la clave privada del servidor
certtool –generate-privkey –bits 1024 –outfile /etc/ssl/private/debian_slapd_key.pem

Por último, la plantilla y el certificado del servidor
nano /etc/ssl/meso.info

organization = curseame
cn = curseame
tls_www_server
encryption_key
signing_key
expiration_days = 10000

Hemos puesto una cantida de días muy alta para la expiración. Se puede cambiar si es necesario.

Ahora creamos el certificado:
certtool –generate-certificate –load-privkey /etc/ssl/private/debian_slapd_key.pem –load-ca-certificate /etc/ssl/certs/cacert.pem –load-ca-privkey /etc/ssl/private/cakey.pem –template /etc/ssl/debian.info –outfile /etc/ssl/certs/debian_slapd_cert.pem

Configurar el servidor

Vamos a crear un fichero .ldif con la información que tiene que insertarse en el servidor para que utilice los certificados que acabamos de crear
nano tls_conf.ldif

dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem

add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/debian_slapd_cert.pem

add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/debian_slapd_key.pem

Se la pasamos al servidor con el comando:
ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/ssl/tls_conf.ldif

Ahora tenemos que decirle que utilice esta conexión, vamos al fichero /etc/default/slapd y buscamos esta linea
SLAPD_SERVICES=”ldap:/// ldapi:///”

Si queremos añadirle el acceso seguro la dejarmos así:
SLAPD_SERVICES=”ldap:/// ldapi:/// ldaps:///”

Y si SOLO queremos que se pueda acceder de forma segura, quitamos las otras dos opciones:
SLAPD_SERVICES=”ldaps:///”

Ahora establecemos los permisos adecuados para la clave privada del servidor:

usermod -aG ssl-cert openldap
chgrp sll-cert /etc/ssl/private/debian_slapd_key.pem
chmod g+r /etc/ssl/private/debian_slapd_key.pem
chmod o-r /etc/ssl/private/debian_slapd_key.pem

Y finalmente, reiniciamos el servicio:
service slapd restart

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.