Obecnie OpenLDAP musi być skonfigurowany przy pomocy ldapmodify cn = config, jak opisano tutaj . Ale nigdzie nie mogę znaleźć sposobu skonfigurowania go tak, aby akceptował tylko ruch TLS. Właśnie potwierdziłem, że nasz serwer akceptuje nieszyfrowany ruch (z ldapsearch i tcpdump).
Zwykle po prostu zamykałem port inny niż SSL za pomocą tabel IP, ale użycie portu SSL jest najwyraźniej przestarzałe, więc nie mam tej opcji.
Tak więc w przypadku poleceń konfiguracyjnych SSL:
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
Czy jest jakiś parametr wymuszania TLS?
Edycja: Próbowałem olcTLSCipherSuite, ale to nie działa. Wyjście debugowania:
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.
Edycja2 (prawie naprawiona): Byłem w stanie to naprawić, ładując:
# cat force-ssl.tx
dn: cn=config
changetype: modify
add: olcSecurity
olcSecurity: tls=1
Ale potem polecenia jak
ldapmodify -v -Y EXTERNAL -H ldapi:/// -f /etc/ssl/tls-required.ldif
Już nie pracuj ... I zmieniając go na:
ldapmodify -v -x -D "cn=admin,dc=domain,dc=com" -H ldap://ldap.bla.tld/ -ZZ -W -f force-ssl.txt
daje mi „ldap_bind: nieprawidłowe dane logowania (49)”. Najwyraźniej, mimo że to binddn jest określone jako rootdn, nie mogę go użyć do modyfikacji cn=config
. Czy można to zmienić?
TLS confidentiality required
komunikatem.