De nos jours, OpenLDAP doit être configuré avec ldapmodify cn = config, comme décrit ici . Mais je ne trouve nulle part comment le configurer pour accepter uniquement le trafic TLS. Je viens de confirmer que notre serveur accepte le trafic non crypté (avec ldapsearch et tcpdump).
Normalement, je fermerais simplement le port non SSL avec des tables IP, mais l'utilisation du port SSL est obsolète, donc je n'ai pas cette option.
Donc, avec les commandes de configuration SSL, comme ceci:
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
Existe-t-il un paramètre pour forcer TLS?
Edit: J'ai essayé l'olcTLSCipherSuite, mais cela ne fonctionne pas. Sortie de débogage:
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 (presque fixe): j'ai pu le réparer en chargeant:
# cat force-ssl.tx
dn: cn=config
changetype: modify
add: olcSecurity
olcSecurity: tls=1
Mais des commandes comme
ldapmodify -v -Y EXTERNAL -H ldapi:/// -f /etc/ssl/tls-required.ldif
Ne travaillez plus ... Et changez-le en:
ldapmodify -v -x -D "cn=admin,dc=domain,dc=com" -H ldap://ldap.bla.tld/ -ZZ -W -f force-ssl.txt
me donne "ldap_bind: Identifiants invalides (49)". Apparemment, même si ce binddn est spécifié en tant que rootdn, je ne peux pas l'utiliser pour le modifier cn=config
. Cela peut-il être changé?
TLS confidentiality required
message.