[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

LDAP y TLS



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.

-- 
   -- Hoy he reñido a un hostelero.
-- ¿Por qué? ¿Cuándo? ¿Dónde? ¿Cómo?
-- Porque cuando donde como
   sirven mal, me desespero
                  --- Tomás de Iriarte ---


Reply to: