Algunos sistemas no pueden conectarse a ldap vía ldaps, pero otros pueden, ¿es el cert de comodín?

Cuando bash hacer conexiones de ldaps a mi server nuevo de Novell eDirectory 8.8, a veces tengo que poner TLS_REQCERT never en el file ldap.conf de los serveres del cliente. Obviamente, esto es una mala idea.

El command que ejecuto es algo como esto con cnetworkingenciales que realmente funcionan …

 ldapsearch -x -H ldaps://ldapserver -b 'ou=active,ou=people,dc=example,dc=org' -D 'cn=admin,dc=example,dc=org' -W "cn=username" 

En Ubuntu 13.10, funciona bien.

En SLES funciona bien.

En CentOS 6.5 devuelve:

 ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1) 

Ahora, el cert que he importado es un cert de comodín comprado de DigiCert. Mi compañero de trabajo encontró algunos informes que indican que algunos sistemas tienen problemas con comodines.

¿Así pues, es el cert del comodín a culpar? Si es así, ¿cómo lo soluciono?

Si no es el cert de comodín, ¿qué es?

Siguiendo la sugerencia de Andrew Schulman, añadí -d1 a mi command ldapsearch. Esto es lo que terminé con:

 ldap_url_parse_ext(ldaps://ldap.example.org) ldap_create ldap_url_parse_ext(ldaps://ldap.example.org:636/??base) Enter LDAP Password: ldap_sasl_bind ldap_send_initial_request ldap_new_connection 1 1 0 ldap_int_open_connection ldap_connect_to_host: TCP ldap.example.org:636 ldap_new_socket: 3 ldap_prepare_socket: 3 ldap_connect_to_host: Trying 10.225.0.24:636 ldap_pvt_connect: fd: 3 tm: -1 async: 0 TLS: certdb config: configDir='/etc/openldap' tokenDescription='ldap(0)' certPrefix='cacerts' keyPrefix='cacerts' flags=readOnly TLS: cannot open certdb '/etc/openldap', error -8018:Unknown PKCS #11 error. TLS: could not get info about the CA certificate directory /etc/openldap/cacerts - error -5950:File not found. TLS: certificate [CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US] is not valid - error -8172:Peer's certificate issuer has been marked as not trusted by the user.. TLS: error: connect - force handshake failure: errno 2 - moznss error -8172 TLS: can't connect: TLS error -8172:Peer's certificate issuer has been marked as not trusted by the user.. ldap_err2string ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1) 

De lo que dice, CentOS no confía en DigiCert? O CentOS no tiene una list de emisores de confianza?

3 Solutions collect form web for “Algunos sistemas no pueden conectarse a ldap vía ldaps, pero otros pueden, ¿es el cert de comodín?”

ldapsearch busca en / etc / openldap / cacerts para su almacén de certificates de CA de confianza, y que al parecer no está configurado, y por lo tanto está rechazando el certificate ya que no puede build una cadena de confianza para él. Si ldapsearch utilizaba OpenSSL, necesitaría una colección de formatting "hashdir" producida por, por ejemplo, el progtwig "authconfig" de Red Hat o un único file con una list plana de certificates de confianza. La reference aquí a "moznss" sugiere que este ldapsearch está construido contra Mozilla NSS, en cuyo caso usted necesita usar "certutil" para hacer el cert db (o mejor, apúntelo en el almacén de certificates NSS del sistema, si lo hay) .

En los sistemas en los que funciona, ldapsearch debe tener un almacén de certificates de trabajo, tal vez porque los packages de OpenLDAP se construyen en lugar de OpenSSL (o tal vez hay una tienda de estilo NSS disponible allí).

ldapsearch dirá "No se puede contactar con el server LDAP" si no puede verificar el certificate TLS. Agregue -d1 al command ldapsearch y compruebe las líneas de salida que comienzan con "TLS:" para get más información sobre si la connection TLS está fallando y por qué.

La solución depende de su installation:

  • Si está utilizando un cert no válido , puede forzarlo a aceptar configurando /etc/openldap/ldap.conf con

     TLS_REQCERT allow 

    o

     TLS_REQCERT never 
  • Si está utilizando un cert válido, probablemente su installation de ldap no sabe dónde está el almacén de certificates de CA de confianza (probablemente dependiendo de su installation de OpenSSL). A continuación, puede intentar establecer la location y verificar la fuerza configurando /etc/openldap/ldap.conf con

     TLS_CACERT /etc/openldap/cacert TLS_REQCERT demand 

    /etc/openldap/cacert puede ser esto o estar ubicado en cualquier ruta. Debe contener cadena de certificates de su CA. Puede ser un solo file con una list plana de certificates de confianza.

Las routes de notas dependen del proveedor ldap. Podría ser /etc/ldap o /etc/openldap o así.

  • ServerAlias ​​con SSL
  • Autenticación LDAP segura con Active Directory
  • ¿Cómo generar un certificate SSL auto-firmado vinculado a la dirección IP?
  • ¿Es posible desactivar la transparencia del certificate (comprobación del logging de auditoría) de los certificates en Chrome?
  • SSL comodín en IIS7 - ¿Cada sitio necesita su propia IP?
  • Cómo saber si se ha revocado un certificate SSL (sin connection)
  • Sha1 depreciación 2017
  • ¿Cómo puedo instalar un certificate en IIS en la máquina que la petición cert no fue generada?
  • Jetty - Virtualhosting - Certificados SSL
  • ¿Cómo saber si un certificate OpenSSL fue creado por una cierta key privada?
  • ¿Pueden coexistir el comodín y el certificate de dominio único para el mismo dominio?
  • Generar CSR teniendo en count el dominio raíz y la versión www
  • "Certificado emitido aún no válido." Con wget?
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.