La autenticación ldap no funciona con la opción start_tls después de la actualización del certificado

La autenticación ldap no funciona con la opción start_tls después de la actualización del certificado

La autenticación ldap de Ubuntu no funciona en mi cliente con la opción ssl start_tls habilitada en el archivo ldap.conf. Puedo autenticarme cuando comento ssl start_tls.

Actualicé el certificado de los servidores ldap y desde entonces los usuarios ya no pueden autenticarse en mi máquina cliente ubuntu 10.04 si SSL está habilitado. Los cambios que ocurrieron:

Cert upgraded from 1024 to 2048 bit
now is a wildcart cert and use it to be a self-signed cert
encryption algorithm is now shaw512 (use to be md5)

Mi auth.log tiene algunos errores:

nss-ldap: do_open: do_start_tls falló:stat=-1

Los nuevos certificados están funcionando porque tengo otros clientes que se autentican utilizando los nuevos certificados (máquinas centOS antiguas).

¿Alguien tiene alguna idea de por qué ya no puedo usar SSL con ldap en mi cliente?

Respuesta1

¿Existe una jerarquía de firmas (es decir, no autofirmadas)? "comodín" y "autofirmado" no son excluyentes. Un certificado comodín comercial tendrá una jerarquía, es decir, una o más CA intermedias y una CA raíz.

sha-512 o md5 sonhashesutilizados en la firma del certificado, no sonalgoritmos de cifrado. Estos se utilizan para verificar la integridad del certificado; el cifrado utilizado para una conexión se negocia independientemente de esto.

Creo que las causas más probables son que sha512 (más correctamente, "sha512WithRSAEncryption") no es compatible con Ubuntu 10; o a la máquina le faltan uno o más certificados de CA (intermedio o raíz), por lo que no se puede completar la verificación de la cadena completa.

Puede ver si openssl puede manejar el nuevo certificado del servidor ejecutando (en la máquina Ubuntu 10):

openssl x509 -in newservercert.crt -noout -text

aunque eso puede no ser concluyente. Esto también puede resultar útil:

ldapsearch -x -Z -v -h your.ldap.server

(Existe una pequeña posibilidad de que se use GnuTLS en lugar de OpenSSL, no puedo ayudar, ¡lo siento!)

Probablemente puedas confirmar o negar un problema de cadena agregando esto a tu archivo /etc/ldap/ldap.conf:

TLS_REQCERT never

Si eso ayuda, debe obtener las partes que faltan de la cadena y agregarlas a su tienda local. La forma de lograrlo depende de la configuración del cliente, verificando "TLS_CACERT" y/o TLS_CACERTDIR en /etc/ldap/ldap.conf directivas es donde se empieza.

Las causas menos probables incluyen:

  • incapacidad para verificar las CRL (verifique ldap.conf para ver si está habilitado)

Y suponiendo que nada más haya cambiado, se incluyen causas improbables para completar:

  • La versión del protocolo del servidor o el conjunto de cifrado no son compatibles con el cliente.
  • cambio en los mecanismos SASL soportados

Respuesta2

No estoy seguro si resolviste esta pregunta. Me encontré con la misma situación. 12.04 se conecta al servidor ldap usando tls pero 10.04 no. Mi solución es agregar una línea a /etc/ldap/ldap.conf:

TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

y el cliente 10.04 puede conectarse al servidor ldap usando tls.

información relacionada