GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo hacer que Ldapsearch funcione en Sles sobre Tls usando un certificado?

Necesitamos conectar nuestro script php a LDAP sobre tls usando un certificado. La conexión LDAP funciona bien sin tls. Más detalles aquí https://stackoverflow.com/questions/15260252/how-to-use-multiple-tls-certificates-for-ldap-from-php-zend

Logramos conectarnos a través de tls desde Windows usando Softerra LDAP Browser. Nos pidió instalar un certificado y si confiamos en él.

Mi resultado final es poder autenticarme con LDAP usando TLS desde php. Me han dado un certificado de tipo .cer. Viene de una máquina de Windows Exchange. Por lo que puedo ver, SLES admite certificados .pem. Así que mi pregunta es...

P1:¿Necesito convertir de .cer a .pem primero antes de que pueda instalar el certificado en el cliente (que es el servidor SLES) y finalmente P2:¿cuál es la mejor manera de instalar este certificado en el servidor para que mi aplicación php pueda acceder a él y hacer su trabajo . Tenga en cuenta que en el servidor SLES necesitamos conectarnos a diferentes servidores LDAP.

Actualmente si corremos

ldapsearch -H ldaps://localhost:9215 -W

obtenemos

Enter LDAP Password: 
ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (unable to get local issuer certificate)

Encontré mucha información buena aquí http://www.php.net/manual/de/function.ldap-connect.php#36156 y especialmente esta oración es importante en mis ojos Once you've gotten the ldapsearch tool working correctly PHP should work also.

  • SUSE Linux Enterprise Server 11 (x86_64)
  • ldapsearch:@(#) $OpenLDAP:ldapsearch 2.4.26 (26 de septiembre de 2012 13:14:42) $
    [email protected]:/usr/src/packages/BUILD/openldap-2.4.26 /clientes/herramientas
    (biblioteca LDAP:OpenLDAP 20426)

Respuesta aceptada:

Eso significa que el certificado en el servidor ha caducado o no es válido.

En cuanto a la solución alternativa, use el LDAPTLS_REQCERT variable para ignorar el certificado, por ejemplo:

LDAPTLS_REQCERT=never ldapsearch -D "cn=drupal-test,ou=Services,dc=example,dc=com" -w my_pass -h ldap.example.com -b "ou=People,dc=example,dc=com" -s sub -x -ZZ "(uid=admin)"

De lo contrario, puede importar el certificado y marcarlo como de confianza.


Linux
  1. Cómo proteger sus servicios de correo electrónico de Linux con SSL/TLS

  2. Cómo identificar directorios de trabajo usando variables y caracteres de shell

  3. Cómo hacer cambios de configuración específicos de archivo en Vim usando Modeline

  4. ¿Cómo saber si Dd sigue funcionando?

  5. Cómo clonar una partición de disco de Linux a través de la red usando dd

Cómo habilitar TLS 1.3 en Nginx

Cómo crear un certificado TLS/SSL con un operador de administrador de certificados en OpenShift

Cómo generar certificados SSL autofirmados usando OpenSSL

¿Cómo imprimir el directorio de trabajo usando el comando pwd de Linux?

Cómo buscar LDAP usando ldapsearch (con ejemplos)

Cómo comprobar la fecha de caducidad de un certificado TLS/SSL en Ubuntu