Pruebas de conectividad de LDAP seguro

Ediciones compatibles con esta función: Business Plus; Enterprise; Education Fundamentals, Education Standard, Teaching and Learning Upgrade y Education PlusComparar ediciones

Antes de intentar conectar el cliente LDAP al servicio LDAP seguro, puedes hacer una prueba de conectividad rápida de manera opcional, con herramientas como ldapsearch, ADSIldp.exe. Estas herramientas también sirven para solucionar problemas en el caso de que surjan errores al intentar conectar tu cliente LDAP al servicio.

Con las pruebas descritas en este artículo, puedes saber si tienes un problema de configuración, ver los mensajes de error más habituales y consultar recomendaciones sobre cómo resolver dichos problemas.

Este artículo contiene las siguientes secciones:

Nota: Si durante este proceso necesitas ponerte en contacto con el equipo de asistencia de Google Workspace o con el de Cloud Identity Premium, recuerda guardar el resultado de los comandos. Asegúrate de quitar cualquier tipo de información personal identificable de los resultados antes de compartirlos con el equipo de asistencia.

Verificar la conectividad y hacer consultas LDAP

Una vez que hayas configurado el servicio LDAP seguro en la consola de administración de Google, puedes verificar la conectividad con LDAP seguro mediante una de estas tres herramientas sencillas: ldapsearch, ADSI o ldp.exe. Para obtener más información e instrucciones, consulta las secciones de este artículo.

ldapsearch

Desde una línea de comandos, con la herramienta ldapsearch puedes hacer una consulta LDAP básica. Si el resultado es positivo, significa que el cliente LDAP y las sesiones TLS subyacentes, además de las conexiones TCP, están funcionando correctamente.

Para probar la conectividad con ldapsearch, sigue estos pasos:

  1. Crea una configuración LDAP y descarga el certificado siguiendo las instrucciones de la sección 1. Añadir clientes LDAP.

    Nota: Para simplificar el entorno de prueba, asegúrate de que haya al menos un usuario en la unidad organizativa a la que has autorizado el acceso al cliente LDAP.
     
  2. Haz una consulta LDAP.

    Consulta la página sobre ldapsearch de OpenLDAP para obtener más información sobre cómo hacer una consulta sobre un usuario particular. A continuación tienes un ejemplo de cómo se puede emplear la herramienta de línea de comandos ldapsearch
     

    LDAPTLS_CERT={crt_file} LDAPTLS_KEY={key_file} ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} '(mail={user_email})'

    Sustituye los siguientes marcadores de posición:

    {crt_file} : el nombre del archivo .crt
    {key_file} : el nombre del archivo .key
    {domain} : cada parte del nombre de dominio, por ejemplo, example.com sería dc=example,dc=com"
    {user_email} : dirección de correo electrónico principal de un usuario del dominio

Utilizar ldapsearch con Stunnel

Si tu implementación requiere que utilices Stunnel, emplea este comando:

ldapsearch -H ldap://{stunnel_host}:{stunnel_port} -b
dc={domain},dc={domain} '(mail={user_email})'

Sustituye los marcadores de posición específicos de Stunnel:
{stunnel_host} : dirección IP o nombre de host del equipo que ejecuta Stunnel en tu red.
{stunnel_port} : puerto en el que se ejecuta Stunnel. Comprueba la configuración.

Comando ldapsearch ejecutado correctamente

Si el comando ldapsearch devuelve un resultado positivo, se mostrará en formato LDIF el usuario con el correo electrónico que especificaste al crear el cliente LDAP.

Por ejemplo:

# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# example.com
dn: dc=example,dc=com
objectClass: top
objectClass: domain
objectClass: dcObject
dc: example

# admin-group, Groups, example.com
dn: cn=admin-group,ou=Groups,dc=example,dc=com
objectClass: top
objectClass: groupOfNames
objectClass: posixGroup
cn: admin-group
displayName: admin-group
description:
gidNumber: 12345
member: uid=admin,ou=Users,dc=example,dc=com
memberUid: admin
googleAdminCreated: FALSE


# example-user, Users, example.com
dn: uid=example-user,ou=Users,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
uid: example-user
googleUid: example-user
posixUid: example-user
cn: example-user
cn: FirstName LastName
sn: FirstName
displayName: FirstName LastName
givenName: FirstName
mail: example-user@example.com
uidNumber: 12345
gidNumber: 12345
homeDirectory: /home/example-user
loginShell: /bin/bash
gecos:

Posibles errores

  • El cliente o la biblioteca de OpenLDAP se compilan sin compatibilidad con el SNI

    El cliente LDAP (OpenLDAP, en este caso) debe ser compatible con el indicador del nombre del servidor (SNI). Si el SNI no está disponible, es posible que aparezca un error similar a este:

    SASL/EXTERNAL authentication started

    ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
     additional info: SASL(-4): no mechanism available:

    Recomendación:
    • Si utilizas macOS, el método SASL está habilitado de forma predeterminada y se puede omitir con la opción "-x".
    • Añade la opción -d5  a ldapsearch y comprueba el resultado de la siguiente línea:

      TLS certificate verification: depth: 0, err: 18, subject: /OU=No SNI provided; please fix your client.
       
  • ldapsearch se ejecuta correctamente y devuelve el estado 0, pero no hay resultados de usuarios

    Si especificas la opción de ldapsearch -x (utilizar autenticación SASL) con certificados de cliente, se autenticará correctamente, pero no se generará una lista con los usuarios del dominio.

    Recomendación: Elimina la opción -x e inténtalo de nuevo.

ADSI Edit (Windows)
  1. Sigue los 11 primeros pasos de la sección ldp.exe (Windows) para instalar los certificados de cliente.
  2. Ve a Action > Connect to (Acción > Conectar a).
  3. Introduce la siguiente configuración de conexión:

    Name (Nombre): da un nombre a la conexión, como Google LDAP.
    Connection Point (Punto de conexión): selecciona o introduce un nombre completo o contexto de nombre.
    Introduce el nombre de tu dominio en formato DN (por ejemplo, dc=example,dc=com si tu dominio fuera example.com).

    Computer (Equipo): selecciona o escribe un dominio o servidor.
    ldap.google.com

    Use SSL-based Encryption (Usar cifrado SSL): marca esta opción.
     
  4. Haz clic en Advanced... (Opciones avanzadas) e introduce los siguientes detalles:

    Specify credentials (Especificar credenciales): marca esta opción.
    Username (Nombre de usuario): nombre de usuario de acceso generado en la consola de administración.
    Password (Contraseña): contraseña de acceso generada en la consola de administración.
    Port Number (Número de puerto): 636.
    Protocol (Protocolo): LDAP.
    Simple bind authentication (Autenticación de enlace simple): marca esta opción.
     
  5. Haz clic en Aceptar y, a continuación, vuelve a hacer clic en Aceptar.
  6. Si se conecta correctamente, se mostrará el contenido del directorio de la base DN en el panel derecho.
ldp.exe (Windows)
  1. Instala OpenSSL.
  2. Convierte los archivos .crt y .key en un archivo con formato PKCS12. En una ventana de símbolo del sistema, introduce lo siguiente:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    Introduce la contraseña para cifrar el archivo de salida.
     
  3. Ve al panel de control.
  4. En el cuadro de búsqueda, introduce "certificado" y haz clic en Manage user certificates (Administrar certificados de usuario).
  5. Ve a Action > All Tasks > Import (Acción > Todas las tareas > Importar).
  6. Selecciona Current User (Usuario actual) y haz clic en Next (Siguiente).
  7. Haz clic en Browse (Examinar).
  8. En el menú desplegable para elegir el tipo de archivo, situado en la esquina inferior derecha del cuadro de diálogo, selecciona Personal Information Exchange (*.pfx;*.p12), es decir, "Intercambio de información personal (*.pfx;*.p12)".
  9. Selecciona el archivo ldap-client.p12 del paso 2, haz clic en Open (Abrir) y, después, en Next (Siguiente).
  10. Introduce la contraseña del paso 2 y haz clic en Next (Siguiente).
  11. Selecciona el almacén de certificados Personal, haz clic en Next y, después, en Finish (Finalizar).
  12. Ejecuta Ldp.exe.
  13. Ve a Connection > Connect (Conexión > Conectar).
  14. Introduce los siguientes detalles de conexión:

    Server (Servidor): ldap.google.com
    Port (Puerto): 636
    Connectionless (Sin conexión): desmarca esta opción
    SSL: marca esta opción
     
  15. Haz clic en OK (Aceptar).
  16. Ve a View > Tree (Ver > Árbol).
  17. Introduce el nombre de dominio base; es decir, el nombre del dominio en formato DN. Por ejemplo, dc=example,dc=com si tu dominio fuera example.com.
  18. Haz clic en Aceptar.
  19. Si se conecta correctamente, se mostrará el contenido del directorio de la base DN en el panel derecho.

Hacer pruebas de conectividad básicas si es necesario

Si no te funciona lo descrito en el apartado Verificar la conectividad y hacer consultas LDAP, sigue las instrucciones de las pruebas de conectividad que encontrarás en esta sección. Si ldapsearch no devuelve el usuario esperado ni indica de forma clara si la sesión TLS subyacente se ha ejecutado correctamente, comprueba con el cliente OpenSSL si las capas de red en las que se basa OpenLDAP funcionan como deberían.

Para hacer pruebas de conectividad básicas, sigue estos pasos:

  1. Instala la utilidad de cliente OpenSSL correspondiente a tu sistema operativo.

    En la mayor parte de las distribuciones GNU/Linux se usa el nombre del paquete "openssl". Consulta información detallada sobre otros sistemas operativos.
     
  2.  Establece una conexión manual con el servicio LDAP seguro mediante el cliente OpenSSL:

    openssl s_client -connect ldap.google.com:636

    La presencia de la siguiente línea al final del resultado de openssl s_client indica que la negociación SSL ha sido positiva: 

    Verify return code: 0 (ok)

Posibles errores

El cliente o la biblioteca OpenSSL no es compatible con el SNI (indicador del nombre del servidor)

Durante la prueba de conectividad, se puede devolver el siguiente resultado:

Verify return code: 18 (self signed certificate)

El servicio LDAP seguro requiere un cliente TLS que sea compatible y que inicie una sesión TLS mediante SNI. Si ese cliente no es compatible con el SNI, el servidor TLS (ldap.google.com) devuelve un certificado con firma automática que no superará las comprobaciones de validación de la autoridad de certificación (CA) para indicar que se requiere el SNI.

Puedes confirmar este comportamiento si en los resultados del cliente de OpenSSL aparece la siguiente línea cerca del inicio:

depth=0 OU = "No SNI provided; please fix your client.", CN = invalid2.invalid

Este error puede producirse si tienes una versión de OpenSSL que no es compatible con el SNI o una aplicación que utilice la biblioteca de OpenSSL y tenga el SNI inhabilitado.

Conexión rechazada

Si se da el siguiente resultado, donde {timestamp} es una marca de tiempo de UNIX en microsegundos, significa que la conexión TCP se rechaza de forma activa antes de que pueda iniciarse la negociación TLS:

{timestamp}:error:0200206F:system library:connect:Connection refused:crypto/bio/b_sock2.c:110:
{timestamp}:error:2008A067:BIO routines:BIO_connect:connect error:crypto/bio/b_sock2.c:111:connect:errno=111

Este rechazo pueden producirlo varios elementos:

  • Un cortafuegos del equipo local a nivel de aplicación o de sistema
  • Un cortafuegos de la misma red física o de la red de subida

Para determinar qué host rechaza la conexión, puedes utilizar tcptraceroute (por ejemplo, tcptraceroute ldap.google.com 636).

Artículos relacionados

¿Te ha resultado útil esta información?
¿Cómo podemos mejorar esta página?

¿Necesitas más ayuda?

Inicia sesión si quieres ver otras opciones de asistencia para solucionar tu problema.

Búsqueda
Borrar búsqueda
Cerrar búsqueda
Aplicaciones de Google
Menú principal
Buscar en el Centro de ayuda
true
73010
false