Hoy en día, OpenLDAP debe configurarse con ldapmodify cn = config, como se describe aquí . Pero en ninguna parte puedo encontrar cómo lo configura para aceptar solo el tráfico TLS. Acabo de confirmar que nuestro servidor acepta tráfico sin cifrar (con ldapsearch y tcpdump).
Normalmente, simplemente cerraría el puerto que no es SSL con tablas IP, pero aparentemente el uso del puerto SSL está en desuso, por lo que no tengo esa opción.
Entonces, con los comandos de configuración SSL, así:
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
¿Hay un parámetro para forzar TLS?
Editar: probé el olcTLSCipherSuite, pero no funciona. Salida de depuración:
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 (casi arreglado): pude solucionarlo cargando:
# cat force-ssl.tx
dn: cn=config
changetype: modify
add: olcSecurity
olcSecurity: tls=1
Pero luego comandos como
ldapmodify -v -Y EXTERNAL -H ldapi:/// -f /etc/ssl/tls-required.ldif
No trabaje más ... Y cámbielo a:
ldapmodify -v -x -D "cn=admin,dc=domain,dc=com" -H ldap://ldap.bla.tld/ -ZZ -W -f force-ssl.txt
me da "ldap_bind: credenciales no válidas (49)". Aparentemente, aunque este enlace se especifica como rootdn, no puedo usarlo para alterarlo cn=config
. ¿Se puede cambiar eso?
TLS confidentiality required
mensaje.