Sio2 escribió:
A ver si alguien me puede echar un cable porque no consigo dar con la
tecla. Estoy intentando configurar un servidor LDAP con conexión segura.
El caso es que sin TLS funciona perfectamente, pero con la conexión
segura no.
En slapd.conf tengo:
#v+
TLSCertificateFile /etc/ldap/ssl/servercrt.pem
TLSCertificateKeyFile /etc/ldap/ssl/serverkey.pem
TLSVerifyClient allow
#v-
Y el servidor lo levanto a mano, porque como no me funciona así puedo ver
los mensajes de error:
# slapd -u openldap -g openldap -h "ldap:/// ldaps:///" -d16383 \
-f /etc/ldap/slapd.conf
En el cliente (que por ahora es la misma máquina) tengo este ldap.conf:
#v+
BASE dc=z1,dc=lan
URI ldap://ldap.z1.lan
TLS_REQCERT allow
#v-
Obviamente ldap.z1.lan resuelve bien.
Todavía no he creado ningún certificado en el cliente, pero con esta
configuración debería valer.
Primer pruebo una conexión no segura:
$ ldapsearch -x -LLL
y funciona perfectamente.
Ahora voy a por la segura:
$ ldapsearch -x -LLL -H ldaps://ldap.z1.lan -d255
El error que me devuelve es:
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
Antes del error hay más líneas, pero como dice exactamente lo mismo que
cuando intento conectar a cualquier otra máquina de la red que no tenga
ningún servidor LDAP instalado, supongo que es perder el tiempo pegar
todo.
El servidor, sin embargo, si se entera de que he intentado hacer una
conexión y me da este error:
TLS: can't accept: A TLS packet with unexpected length was received..
Por supuesto he probado a que puedo conectarme al puerto 636:
$ telnet ldap.z1.lan 636
y funciona.
También he probado la siguiente línea:
$ openssl s_client -connect ldap.z1.lan:636 -showcerts
Parece que va bien y antes de quedarse esperando me dice:
Verify return code: 18 (self signed certificate)
He probado lo que supongo que será el equivalente con gnutls:
$ gnutls-cli --print-cert --port 636 ldap.z1.lan
y también hay conexión, me muestra el certificado, me dice que no es
confiable (obviamente) y se queda esperando.
Y ya no sé seguir. Me he quemado las cejas buscando en internet, pero no
he encontrado nada. Sólo amargas quejas de cuando decidió debian
compilar ldap con gnutls en vez de openssl.
¿Alguno sabe por donde pueden ir los tiros?
Gracias de antemano.
El caso es que TLS no funciona sobre un puerto diferente del 389, o sea
que no debes usar 636, sino el nativo: 389, tampoco la uri ldaps:// (con
la "s" de seguro)
Por otra parte tienes que asegurarte de que en el certificado creado el
valor cn debe ser igual al nombre del servidor ldap. De lo contrario el
cliente reusará conectarse
Espero que te sirva
Saludos
--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org