Hallo Joachim,
Joachim Kieferle
Hallo Liste (hallo Dieter Klünter ;-)),
habe die Verschlüsselung in Openldap nach Dieters Buch vorbereitet und in /etc/openldap/slapd.conf auch die drei Zeilen TLSCertificateFile /etc/openldap/ldapcert.pem TLSCertificateKeyFile /etc/openldap/ldapkey.pem TLSCACertificateFile /etc/openldap/cacert.pem eingefügt.
Die Zertifikate sind mit CA.pl -verify überprüft -> OK.
In /etc/sysconfig/openldap ist OPENLDAP_START_LDAPS="yes" eingestellt.
Seltsamerweise lässt der LDAP-Server aber immer noch über Port 389 unverschlüsselte Verbindungen zu.
Das ist der große Unterschied zwischen SSL und TLS :-) Auf Port 389 muss der Client die Verschlüsselung mit der Funktion ldap_start_tls initiieren, über Port 636 stellt der Server sofort eine verschlüsselte Verbindung her und der Client muss das Zertifikat prüfen oder ungeprüft übernehmen.
Über Port 636 bekomme ich dagegen z.B. mit dem Programm Ldapadmin _keine_ Verbindung.
Wie ist denn ldapadmin konfiguriert?
openssl s_client -connect localhost:636 -showcerts zeigt auf dem LDAP-Server die Zertifikate und als letzte Zeile "Verify return code: 21 (unable to verify the first certificate)"
Ich nehme aber an, das kommt vom "Self signed certificate".
Das liegt möglicherweise auch daran, dass der Client nicht den Pfad auf das cacert.pem kennt, hast du denn die entsprechenden Einträge in /etc/openldap/ldap.conf gemacht?
Jetzt die Frage: wie kann ich meinen LDAP-Server überreden dass er nur noch sichere Verbindungen zulässt und auch die "SSL secured connection"? (oder liegt's am Client)?
Wenn du slapd nur mit dem Parameter -h ldaps:/// startest, wird ausschließlich über Port 636 eine Verbindung hergestellt. Allerdings musst du dann auch alle Clients entsprechend konfigurieren. Eine andere Möglichkeit besteht in der Konfiguration entsprechender access Regeln, siehe dazu man slapd.access(5), Stichwort Security Strength Factor (ssf). -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53