MKLDAPException: LDAPS connection failed ldaps://xx.xx.xx.xx:636: (unknown error code)

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?

Vielen Dank und viele Grüße,
Antje

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 :slight_smile:

Gobal Settings - Site Management - Trusted certificate authorities for SSL

Der Rest deiner Konfiguration sollte schon passen.

1 Like

Wobei dort ja auch die systemweiten CA-Zertifikate aus /etc/ssl übernommen werden. Nur wenn welche nachträglich hinzugefügt werden, offenbar nicht.

Genau das ist bisl das Problem. Ich hab dann immer das globale File manuell wieder rein kopiert.

Hallo Andreas, hallo Robert,

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… :frowning:
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ß. :slight_smile: 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?

Vielen Dank und viele Grüße,
Antje

Also zur Master - Slave Frage

  • 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.

Danke, Andreas!

Genau das mit den Global Settings reicht wenn es nur ums LDAP geht. Ich brauch die Root Zertifikate meist auch noch im System außerhalb der OMD Site.

Und möglichst keinen DNS Alias für die LDAP Server im Round Robin nutzen :slight_smile:
Der Name ist dann meist im Zertifikat nicht enthalten.

Genau! Vielen Dank! Problem gelöst! :star_struck:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.