OpenLDAP con StartTLS roto en Debian Lenny

OpenLDAP con StartTLS roto en Debian Lenny

Estoy intentando que OpenLDAP en Lenny funcione con StartTLS. Tengo una máquina Fedora 13 que estoy usando como cliente para realizar pruebas. Hasta ahora, el cliente Fedora ignora la directiva 'host' en /etc/ldap.conf cuando intento conectarme usando ldapsearch. El cliente quiere conectarse a 127.0.0.1:389 incluso si especifico -H ldaps://server.name cuando uso ldapsearch. /etc/ldap.conf en la máquina cliente está en modo 444.

Pero incluso cuando intento conectarme localmente desde una sesión ssh, veo errores como este: ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)

Alguien me golpeó con un bate de pistas, por favor.

Actualización: debe usar ~/.ldaprc para configuraciones como 'host'. Además, acabo de usar nmap contra el servidor ldap y mostró 636 y 389 en estado abierto.

Esto es lo que se imprime en la pantalla cuando intento conectarme.ldapsearch -ZZ –x '(objectclass=*)'+ -d -1

ldap_create
ldap_operación_extendida_s
operación_ldap_extendida
ldap_send_initial_request
ldap_nueva_conexión 1 1 0
ldap_int_conexión_abierta
ldap_connect_to_host: TCP 192.168.10.41:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Probando 192.168.10.41:636
ldap_pvt_connect: fd: 3 tm: -1 asíncrono: 0
ldap_open_defconn: exitoso
ldap_send_server_request
ber_scanf fmt ({it) ber:
ber_dump: buf=0x9bdbdb8 ptr=0x9bdbdb8 end=0x9bdbdd7 len=31
  0000: 30 1d 02 01 01 77 18 80 16 31 2e 33 2e 36 2e 31 0....w...1.3.6.1  
  0010: 2e 34 2e 31 2e 31 34 36 36 2e 32 30 30 33 37 .4.1.1466.20037   
ber_scanf fmt ({) ber:
ber_dump: buf=0x9bdbdb8 ptr=0x9bdbdbd end=0x9bdbdd7 len=26
  0000: 77 18 80 16 31 2e 33 2e 36 2e 31 2e 34 2e 31 2e w...1.3.6.1.4.1.  
  0010: 31 34 36 36 2e 32 30 30 33 37 1466.20037        
ber_flush2: 31 bytes a sd 3
  0000: 30 1d 02 01 01 77 18 80 16 31 2e 33 2e 36 2e 31 0....w...1.3.6.1  
  0010: 2e 34 2e 31 2e 31 34 36 36 2e 32 30 30 33 37 .4.1.1466.20037   
ldap_write: quiero = 31, escrito = 31
  0000: 30 1d 02 01 01 77 18 80 16 31 2e 33 2e 36 2e 31 0....w...1.3.6.1  
  0010: 2e 34 2e 31 2e 31 34 36 36 2e 32 30 30 33 37 .4.1.1466.20037   
ldap_result ld 0x9bd3050 msgstr 1
wait4msg ld 0x9bd3050 msgid 1 (tiempo de espera infinito)
wait4msg continuar ld 0x9bd3050 msgstr 1 todos 1
** ld 0x9bd3050 Conexiones:
* host: 192.168.10.41 puerto: 636 (predeterminado)
  refcnt: 2 estado: Conectado
  utilizado por última vez: domingo 6 de junio a las 12:54:05 de 2010


** ld 0x9bd3050 Solicitudes pendientes:
 * msgstr 1, orrigid 1, estado InProgress
   referencias pendientes 0, recuento de padres 0
  ld 0x9bd3050 recuento de solicitudes 1 (abandonado 0)
** ld 0x9bd3050 Cola de respuestas:
   Vacío
  ld 0x9bd3050 recuento de respuestas 0
ldap_chkResponseList ld 0x9bd3050 msgstr 1 todos 1
ldap_chkResponseList devuelve ld 0x9bd3050 NULL
ldap_int_select
read1msg: ld 0x9bd3050 msgstr 1 todos 1
ber_get_next
ldap_read: quiero = 8, tengo = 0

ber_get_next falló.
ldap_err2cadena
ldap_start_tls: No puedo contactar con el servidor LDAP (-1)

Respuesta1

De forma predeterminada, el cliente busca el certificado del servidor. Simplemente agregue "TLS_REQCERT nunca" a /etc/openldap/ldap.conf

Respuesta2

Recientemente logré que SSL funcione con SLAPD en Lenny. Si bien no recuerdo exactamente lo que hice, sí recuerdo que tuvo algo que ver con la diferencia de cifrado entre GNUTLS y OPENSSL. Los paquetes SLAPD para Lenny se compilaron contra GNUTLS. Podría tener algo que ver coneste.

Respuesta3

Parece que no puede leer el archivo clave. Deberías tener una clave sin contraseña. Agregue openldap al grupo ssl-cert. Cree el grupo con la clave ssl-cert y los permisos 440. El comando openssl s_client se puede utilizar para depurar problemas de tls.

Respuesta4

Si tiene un certificado SSL firmado por un certificado intermedio (lo cual no es raro hoy en día), tendrá problemas con TLS en slapd bajo Lenny. Como lo mencionó sybreon, Lenny slapd vincula con GNUTLS, que no admite todas las opciones que necesita.

La solución es utilizar el backport Lenny de slapd. Sin embargo, descubrimos que el backport 2.4.17-2.1~bpo50+1 se compila contra libdb4.6, que tiene un error que nos afecta después de ejecutarlo durante aproximadamente una semana.

Así que en este punto no recomiendo usar Lenny para ejecutar slapd si necesitas TLS. Actualice para apretar en su lugar.

información relacionada