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])'