LDAPS Fehler auf Samba4 nach Update auf 4.0

Hallo,

nach dem Updates eines UCS Master mit Samba4 von der Version 3.2 auf die Version 4.0 ist keine Suche mehr auf den LDAPS Port 636 des Samba 4 möglich.

Telnet auf den Port funktioniert. Bein Versuch eines ldapsearch kommt immer die Meldung: invalid credentials.

Fehler im Samba Log:

[2015/08/10 20:15:18.261132, 1, pid=12774] ../source4/lib/tls/tls_tstream.c:1319(tstream_tls_retry_handshake) TLS ../source4/lib/tls/tls_tstream.c:1319 - Could not negotiate a supported cipher suite. [2015/08/10 20:15:18.261291, 3, pid=12774] ../source4/smbd/service_stream.c:66(stream_terminate_connection) Terminating connection - 'ldapsrv_accept_tls_loop: tstream_tls_accept_recv() - 5:Input/output error'

Versuch einer Verbindung mit dem openssel s_client:

[code]openssl s_client -connect localhost:636
CONNECTED(00000003)
139690983421608:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:

no peer certificate available

No client certificate CA names sent

SSL handshake has read 0 bytes and written 298 bytes

New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
—[/code]

Kann mir Jemand hier weiterhelfen?

Können Sie bitte mal prüfen, welcher Prozess überhaupt auf Port 636 lauscht? Geht wie folgt: »lsof -PniTCP:636«

Ganz normal der samba Prozess.

Schon mal gut :wink:

Haben Sie Samba seit dem Upgrade schon einmal neu gestartet? Falls nicht, bitte sicherheitshalber einmal tun.

Als nächstes sollten Sie das Zertifikat prüfen. Zuerst mal nachschauen, welches Zertifikat überhaupt konfiguriert ist: »testparm | grep tls«. Hier sollten drei Zeilen herausfallen, die mit »tls…« beginnen. Alle drei Dateien sollten existieren und nicht leer sein.

Versuchen Sie nun, das CA-Zertifikat (»tls cafile«) und das Servicezertifikat (»tls certfile«) parsen zu lassen: »openssl x509 -in -noout -text«. Wenn dort jede Menge Text, u.A. eine Zeile »Subject: C=…« erscheint, so sollte das Zertifikat OK sein.

Als Letztes einmal den Schlüssel prüfen. Den kann man so nicht ausgeben lassen, aber man kann ihn konvertieren, z.B. »openssl rsa -in <Pfad zum Schlüssel> -out /dev/null«. Wenn das keine Fehlermeldung liefert: gut.

Nun noch mal Samba neu starten und dabei die log.smb beobachten, ob irgendwelche Meldungen bzgl. der Zertifikate erscheint. Als Letztes erneutes Testen mit »openssl s_client -connect localhost:636«.

Das haben wir natürlich alles schon geprüft. Hier gibt es keine Probleme. Der OpenLdap ist ja auch per SSL erreichbar. Da wird auf das gleiche Zertifikat zugegriffen.

Moin,

klappt denn ein LDAP-Search via SSL/TLS mit dem normalen OpenLDAP? »openssl s_client -connect localhost:7636« sollteim Erfolgsfall eine ordentliche certificate chain zeigen.

Kann es sein, dass das Zertifikat mit einem obsoleten Hash-Algorithmus (MD5) erstellt wurde? Dazu bitte mal die Ausgabe von »openssl x509 -in /etc/univention/ssl//cert.pem -noout -text« sowie von »openssl x509 -in /etc/univention/ssl/ucsCA/CAcert.pem -noout -text« prüfen bzw. hier pasten.

Weiterhin bitte sicherstellen, dass die Baseconfig-Variable dazu richtig eingestellt ist: einmal mit »ucr get ssl/default/hashfunction« nachschauen. Falls sie geändert wird, dann sinnvollerweise gleich auf sha256.

Falls noch MD5 benutzt wird, so sollten die Zertifikate neu erstellt werden. In diesem Support-DB-Artikel wird ausführlich erläutert, wie das geht.

Den verdacht mit dem Zertifikaten hatte ich auch schon. Ich hatte deshalb die ganze Chain schon einmal wie Beschrieben erneuert. Das hat aber nicht ausgereicht.

http://sdb.univention.de/content/15/1/en/renewing-the-ssl-certificates.html

Man muss wirklich wie hier beschrieben alles erneuern.

http://sdb.univention.de/content/15/332/en/renewing-the-complete-ssl-chain.html

Nun scheint es zu laufen. Zumindest mal auf dem Master.

Danke für die Bestätigung meines Verdachts :wink:

Super, dass es geklappt hat. Dass es einen zweiten SDB-Eintrag zum Thema Erneuern von Zertifikaten gibt, war mir gar nicht bewusst – gut zu wissen!

Schönes Wochenende.

Hallo zusammen,

ich bin eben genau bei dem selben Problem vorbei gekommen. Nachdem Erneuerung des Zertifikats des DC Masters wie hier beschrieben Renewing the SSL Certificates ist ein LDAPS Zugriff über Samba4 nicht mehr möglich.

Ist es definitiv die einzige Lösung in diesem Fall die komplette CA neu aufzusetzen ? Das kann ich fast nicht glauben.

Grüße,
Ludwig

Hallo,

nur zur Sicherheit: Haben Sie ebenfalls wie iKu_Systems von 3.2 auf 4.0 aktualisiert und dann trat das Problem auf? Oder haben Sie “nur” die Zertifikate erneuert, ganz ohne Update?

Hallo,

in meinem Fall war es nur ein Erneuern des Serverzertifikats des DC Masters. Die Symptome sind jedoch exakt die Gleichen.

Problem gelöst !

Nach der Erstinstallation des DC Masters wurde der default hash von SHA256 auf SHA512 umgestellt. Somit wurde nun beim Erneuern des Host Zertifikates SHA512 verwendet was in der aktuellen Konfiguration des Sambas nicht unterstützt wird.
Entsprechend nach Rückumstellung auf SHA256 und Neuerstellung des Host Zertifikats funktioniert nun sofort wieder alles perfekt.

Mastodon