El 12/3/24 a las 11:15, RLL escribió:
El 10/3/24 a las 15:13, Camaleón escribió:
El 2024-03-10 a las 12:34 +0100, RLL escribió:
Estoy de pruebas aprendiendo sobre OpenLDAP con Debian 12. Ya tengo
configurado el servicio y tengo TLS bajo cn=config con los siguientes
atributos:
olcLocalSSF: 128
olcTLSCACertificateFile: /etc/ldap/ca.pem
olcTLSCertificateKeyFile: /etc/ldap/openldap_key.pem
olcTLSCertificateFile: /etc/ldap/openldap_crt.pem
olcTLSVerifyClient: never
Ahora me dispongo a forzar una consulta con -ZZ tipo y funciona sin
problemas:
ldapsearch -x -D cn=admin,dc=oficina,dc=com -W -ZZ -b
ou=Usuarios,dc=oficina,dc=com -ZZ
Pero si no me convence lo hago en modo depuración con `-d 1`pero no
veo en
la salida nada que haga referencia a TLS crypt:
i32lelor@openldap:~$ ldapsearch -x -D cn=admin,dc=oficina,dc=com -W
-ZZ -b ou=Usuarios,dc=oficina,dc=com -ZZ -d 1
(...)
How to test the CA certificate and LDAP connection over SSL/TLS
https://www.ibm.com/support/pages/how-test-ca-certificate-and-ldap-connection-over-ssltls
(...)
** ld 0x558df594ce50 Connections:
* host: openldap.oficina.com port: 389 (default)
* from: IP=127.0.0.1:36570
refcnt: 2 status: Connected
last used: Sun Mar 10 12:23:49 2024
Estás consultando al puerto sin cifrar (ldap://, 389), no al cifrado
(ldaps://, 636).
Saludos,
La verdad es que es muy fácil perderse porque leyendo la wiki de Debian
parece que es suficiente con configurar los certificados en el servidor
y especificar olcLocalSSF a 128, y luego desde el cliente usar con el
comando -ZZ. Y además parece que el TLS se aplica sobre el mismo puerto.
Leer el capítulo 6 y llegarás al mismo error que yo:
https://wiki.debian.org/LDAP/OpenLDAPSetup#TLS.2FSSL , además separa el
TlS en el puerto 389 de lo que es LDAPS en el puerto 636, como así dicen
en el párrafo:
By following the above instructions, slapd is configured to support
StartTLS on the standard LDAP port 389.
Pero no es así. Lo de -ZZ era innecesario, es verdad que tengo que
apuntar a ldaps pero además en Debian 12 he necesitado un nivel de
depuración `-d 2`para ver referencias a TLS.
Ejemplo:
ldapsearch -x -D cn=admin,dc=oficina,dc=com -W -b
ou=Usuarios,dc=oficina,dc=com -d 2 -H ldaps://openldap.oficina.com
La traza devuelta contiene múltiples líneas con tls_write y tls_read.
Resuelto.
O sigo interpretando algo mal a la vista de las trazas de logs, o la
wiki está mal, o algo es diferente en la versión de OpenLDAP 2.5 que usa
Debian 12.
Gracias.
Acabo de hacer una prueba configurando el servidor slapd sólo con ldap,
no ldaps. Están especificados los certificados de servidor y ca.
Y en el cliente /etc/ldap/ldap.conf tampoco hago referencia a ldaps.
Si desde el cliente hago un ldapsearch pero con -Z y un nivel 2 de
depuración entonces efectivamente está usando el protocolo estándar ldap
puerto 389 y veo las trazas de TLS. Eso es lo que indica la wiki.
$ ldapsearch -x -D cn=admin,dc=oficina,dc=com -W -b
ou=Usuarios,dc=oficina,dc=com -d 2 -Z
Eso no quita que activando ldaps en servidor y cliente no sea válido,
pero la wiki de Debian primero trata el caso ldap+TLS y deja aparte como
en desuso ldaps con el puerto 636.
No entiendo si es algo específico de Debian o si el proyecto OpenLDAP
también sigue ese camino.