Inhaltsverzeichnis

Todo: DH-Parameter einbinden

SSL / TLS für OpenLDAP

Vorraussetzungen

Als root Zertifikate, Anträge und Schlüssel an die passenden Stellen kopieren

Debian (ab 8)

Paket: ssl-cert 1)

cd /etc/ssl
cp /root/server-ssl/servercert.pem  certs/
cp /root/server-ssl/serverkey.pem   private/
cp /home/ca/ca.*/cacert.pem certs/
chgrp ssl-cert private/serverkey.pem
chmod 440 private/serverkey.pem
chmod 444 certs/{server,ca}cert.pem
adduser openldap ssl-cert
service slapd restart

slapd konfigurieren

olcTls.ldif
dn: cn=config
changetype: modify
add: olcTlsCaCertificateFile
olcTlsCaCertificateFile: /etc/ssl/certs/cacert.pem
-
add: olcTlsCertificateFile
olcTlsCertificateFile: /etc/ssl/certs/servercert.pem
-
add: olcTlsCertificateKeyFile
olcTlsCertificateKeyFile: /etc/ssl/private/serverkey.pem

2)

ldapmodify -Y EXTERNAL -H ldapi:/// -f ./olcTls.ldif
ldapsearch -Y EXTERNAL cn=config | grep -i olcTls

/etc/default/slapd :

SLAPD_SERVICES="ldap:/// ldaps:/// ldapi:///"

Konfiguration prüfen:

slaptest

Dienst neu starten:

service slapd restart

testen

openssl s_client -connect YOUR_LDAP_SERVER:636 -showcerts -CAfile /home/ca/ca.example.com/cacert.pem

oder

openssl s_client -connect YOUR_LDAP_SERVER:389 -showcerts -starttls ldap -CAfile /home/ca/ca.example.com/cacert.pem

3)

(sollte u.a. „Verification: OK“ ausgeben)

Client einrichten

$HOME/.ldaprc :

BASE dc=villa,dc=local
BINDDN cn=admin,dc=villa,dc=local
URI ldap://ldap1.villa.local

TLS_CACERT /etc/ssl/certs/ca.linuxhotel.de.cert.pem

Testen

ldapsearch -x -W -ZZ

Dokumentation

1)
legt die gruppe ssl-cert an und setzt passende Berechtigungen für /etc/ssl/private
2)
/etc/ldap/slapd.conf : ( Debian 4.0 )
TLSCACertificateFile  /etc/ssl/certs/cacert.pem
TLSCertificateFile    /etc/ssl/certs/servercert.pem
TLSCertificateKeyFile /etc/ssl/private/serverkey.pem