Configurar SSL/TLS en el servidor LDAP para la autenticación segura de clientes linux.

En este documento explicaremos cómo añadir una capa de seguridad a la comunicación cliente ldap – servidor ldap.

Partiendo de esta configuración tendremos que añadir algunas líneas al fichero y crear un certificado para la máquina.

Crear el certificado

  1. apt-get install openssl
  2. mkdir /var/lib/ldap/ssl
  3. cd /var/lib/ldap/ssl
  4. openssl req -new -x509 -nodes -out server.pem -keyout server.pem -days 365

Durante el proceso de generación del certificado nos aparecerán varias preguntas, relacionadas con el lugar físico en el que está el servidor, la organización a la que pertenece, el correo electrónico del responsable del mismo etc … Deberemos responder teniendo en cuenta que esa información es pública y que los clientes la deben consultar.

Configurar el servidor ldap

Editamos /etc/ldap/slapd.conf y añadimos las siguientes líneas:

TLSCipherSuite HIGH:MEDIUM:+SSLv2
TLSCACertificateFile /var/lib/ldap/ssl/cacert.pem
TLSCertificateFile /var/lib/ldap/ssl/servercrt.pem
TLSCertificateKeyFile /var/lib/ldap/ssl/serverkey.pem

TLSVerifyClient never

Configurar samba

La configuración de samba para que utilice ssl en la comunicación con el servidor ldap es muy sencilla, tan sólo hay que añadir ldap ssl = On en la sección global de samba.

passdb backend = ldapsam:ldap://127.0.0.1/
ldap admin dn = cn=manager,dc=aulas,dc=ull,dc=es
ldap suffix = dc=aulas,dc=ull,dc=es
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap ssl = On
ldap idmap suffix = ou=Users

Configurar los clientes ldap

Para que los clientes utilicen un canal seguro para comunicarse con el servidor ldap tenemos que configurar tanto libpam-ldap como libnss-ldap. Para ello deberemos modificar los siguientes ficheros:

/etc/pam_ldap.conf

host 192.168.0.1
base dc=aulas,dc=ull,dc=es
uri ldap://192.168.0.1/
ldap_version 3
pam_password crypt
ssl start_tls
tls_checkpeer no

/etc/libnss_ldap.conf

host 192.168.0.1
base dc=aulas,dc=ull,dc=es
ldap_version 3
nss_base_passwd ou=Users,dc=aulas,dc=ull,dc=es
nss_base_group  ou=Groups,dc=aulas,dc=ull,dc=es
ssl start_tls
tls_checkpeer no

La única modificación es la adición de los parámetros ssl start_tls y tls_checkpeer no. A partir de este momento toda la comunicación entre los clientes y el servidor ldap se realizará de forma segura.

Para que la comunicación se pueda establecer lo más rápidamente posible es muy recomendable tener bien configurado en el DNS (tanto directa como inveramente) el nombre de nuestro servidor LDAP.

Aquí podréis encontrar más información.

Dejar un comentario

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