Heutzutage muss OpenLDAP mit ldapmodify cn = config konfiguriert werden, wie hier beschrieben . Aber nirgendwo kann ich herausfinden, wie Sie es so konfigurieren, dass es nur TLS-Verkehr akzeptiert. Ich habe gerade bestätigt, dass unser Server unverschlüsselten Datenverkehr akzeptiert (mit ldapsearch und tcpdump).
Normalerweise würde ich nur den Nicht-SSL-Port mit IP-Tabellen schließen, aber die Verwendung des SSL-Ports ist anscheinend veraltet, sodass ich diese Option nicht habe.
Also, mit den SSL-Konfigurationsbefehlen, wie folgt:
dn: cn=config
changetype:modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/bla.key
-
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/bla.crt
-
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/ca.pem
Gibt es einen Parameter zum Erzwingen von TLS?
Edit: Ich habe die olcTLSCipherSuite ausprobiert, aber sie funktioniert nicht. Debug-Ausgabe:
TLS: could not set cipher list TLSv1+RSA:!NULL.
main: TLS init def ctx failed: -1
slapd destroy: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.
Edit2 (fast behoben): Ich konnte es durch Laden beheben:
# cat force-ssl.tx
dn: cn=config
changetype: modify
add: olcSecurity
olcSecurity: tls=1
Aber dann Befehle wie
ldapmodify -v -Y EXTERNAL -H ldapi:/// -f /etc/ssl/tls-required.ldif
Funktioniere nicht mehr ... und ändere es in:
ldapmodify -v -x -D "cn=admin,dc=domain,dc=com" -H ldap://ldap.bla.tld/ -ZZ -W -f force-ssl.txt
gibt mir "ldap_bind: Ungültige Anmeldeinformationen (49)". Obwohl dieses binddn als rootdn angegeben ist, kann ich es anscheinend nicht zum Ändern verwenden cn=config
. Kann das geändert werden?
TLS confidentiality required
Nachricht.