Oggi OpenLDAP deve essere configurato con ldapmodify cn = config, come descritto qui . Ma da nessuna parte posso trovare come configurarlo per accettare solo il traffico TLS. Ho appena confermato che il nostro server accetta traffico non crittografato (con ldapsearch e tcpdump).
Normalmente, chiuderei semplicemente la porta non SSL con le tabelle IP, ma l'utilizzo della porta SSL è deprecato, a quanto pare, quindi non ho questa opzione.
Quindi, con i comandi di configurazione SSL, in questo modo:
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
Esiste un parametro per forzare TLS?
Modifica: ho provato olcTLSCipherSuite, ma non funziona. Uscita di debug:
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 (quasi risolto): sono stato in grado di risolverlo caricando:
# cat force-ssl.tx
dn: cn=config
changetype: modify
add: olcSecurity
olcSecurity: tls=1
Ma poi comanda come
ldapmodify -v -Y EXTERNAL -H ldapi:/// -f /etc/ssl/tls-required.ldif
Non funziona più ... E cambiandolo in:
ldapmodify -v -x -D "cn=admin,dc=domain,dc=com" -H ldap://ldap.bla.tld/ -ZZ -W -f force-ssl.txt
mi dà "ldap_bind: credenziali non valide (49)". Apparentemente, anche se questo binddn è specificato come rootdn, non posso usarlo per modificarlo cn=config
. Può essere cambiato?
TLS confidentiality required
messaggio.