Hallo zusammen,
in unserer Testumgebung (Managed Service Edition v1.6.0p11, 2 x Debian 9, virtuell, 1 x Master, 1 x Slave) möchte ich gern die LDAP-Verbindungen auf LDAPS umstellen. (Die bisherige LDAP-Verbindung funktioniert tadellos). Nach dem Setzen der LDAPS-Einstellungen in WATO / Users (Port 636, Use SSL), habe ich das Zertifikat auf beide Server kopiert (/usr/local/share/ca-certificates), dem Zertifikatsspeicher hinzugefügt (update-ca-certificates) und den Apache durchgestartet. Selbst die OMD-Sites habe ich auf Master und Slave noch mal durchgestartet (omd restart). Aber jeder Versuch, einen Sync durchzuführen, scheitert mit diesem Fehler:
MKLDAPException: Unable to successfully perform the LDAP search (LDAP connection failed:
ldaps://xxx.xx.xx.xx:636: (unknown error code)
Die LDAPS-Verbindung ist aber grundsätzlich möglich:
root@xxxx:# telnet xx.xx.xx.xx 636
Trying xx.xx.xx.xx…
Connected to xx.xx.xx.xx.
Escape character is ‘^]’.
root@xxxx:# openssl s_client -connect xx.xx.xx.xx:636
…
SSL handshake has read 2340 bytes and written 370 bytes
Verification: OK
…
Hat jemand eine Idee, was das Problem sein könnte?
Das Zertifikat muss auch der Site bekannt sein. Entweder im WATO dies der Site direkt hinzufügen oder manuell die Datei im Verzeichnis “~/var/ssl” aktualisieren.
Die erste Variante ist die saubere
Gobal Settings - Site Management - Trusted certificate authorities for SSL
Der Rest deiner Konfiguration sollte schon passen.
vielen Dank für Eure Hilfe! Das Hinzufügen der/s Zertifikate/s in den Global Settings war der entscheidende Hinweis. Leider fehlt dieser im Checkmk-Handbuch…
Die LDAPS-Verbindung funktioniert, der Sync auch! Super!
Etwas verwirrend finde ich aber noch, wo das Zertifikat überall tatsächlich hinterlegt werden muß:
klar, auf alle Fälle in den Global Settings (und damit ins Site-Verzeichnis) - wie ich nun weiß. Aber muß ich es immer zusätzlich im Linux-Pfad /usr/local/share/ca-certificates/ hinterlegen und importieren? Wenn ja, muß ich das auch auf jedem Slave-Server tun?
Wir pushen ja eh alles vom Master zu den Slaves - da kommuniziert doch eigentlich nur der Master per LDAP und nicht die Slaves… Wie ist das?
so lange sich niemand der LDAP User direkt am Slave anmelden soll muss dieser auch nicht mit dem LDAP kommunizieren und braucht die Zertifikate nicht
Zum Thema Zertifikate hinterlegen mach ich mir das eigentlich einfach.
das einzige Zertifikat welches gebraucht wird ist das von der CA der Domäne
dieses wird dann einfach den Zertifikaten des System hinzugefügt und die Datei “ca-certificates” innerhalb der Site mit der neu erzeugten vom System ersetzt
Ich habe es eben noch mal in einer anderen Umgebung getestet und lediglich das Zertifikat in die Global Settings importiert und die LDAP-Connections auf LDAPS umgestellt. Auf dem Linux-System selbst habe ich nichts gemacht. Auch die Slaves habe ich nicht angefaßt. Und es hat einwandfrei funktioniert.
Wichtig ist noch, daß man keine IP-Adressen als LDAP-Server im WATO einträgt, sondern FQDNs.