Soll Linux mit einem LDAP (wie z.B.: Active Directory) kommunizieren, um Authentifizierungen über zentrale Datenbanken abzubilden, sollte bzw. muss die Kommunikation per Zertifikat abgesichert werden.

Der erste Schritt ist der Import des Aussteller- oder Zielzertifikats.

– Transfer des Zertifikates (DER) auf das System in der Betrachtung. (z.B.: wget, Win/SCP …)
– Konvertierung des Zertifikates

openssl x509 -inform der -in [certpath+certname].crt -outform pem -addtrust serverAuth -out /etc/ssl/certs/[certname].pem

– CA-Zertifikate neu indizieren

c_rehash

Nun ist zu prüfen, ob das Zertifikat richtig verwendet wird.

– Prüfung

openssl s_client -host ldapserver.domain.tld -port 636 -CApath /etc/ssl/certs

– in der letzten Zeile sollte dann folgendes zu lesen sein

Verify return code: 0 (ok)

Für LDAP ist nun auch noch die LDAP Konfiguration (/etc/ldap/ldap.conf) anzupassen.

TLS_CACERT /etc/ssl/certs/[certname].pem
TLS_REQCERT hard
TLS_CRLCHECK none

Wichtig ist, dass beim Verwenden von SSL geschützten LDAP auch der FQDN des LDAP Servers angegeben wird, damit des aufgerufene Ziel mit dem Namen im Zertifikat übereinstimmt.

Abschließend noch ein Test, um festzustellen, ob LDAP richtig funktioniert:

ldapsearch -LLL -x -W -D 'CN=[ldap-reader-account],OU=[full-ou-structure-to-account],DC=[domain],DC=[tld]' '(sAMAccountName=[object-to-search-for])'
Share