De koppeling met Secure LDAP testen

Deze functie wordt ondersteund in de volgende versies: Frontline Standard, Frontline Plus, Business Plus, Enterprise Standard, Enterprise Plus, Education Fundamentals, Education Standard, Education Plus en Enterprise Essentials Plus. Versies vergelijken

Voordat u uw LDAP-client aan de Secure LDAP-service koppelt, kunt u optioneel een snelle verbindingstest uitvoeren met eenvoudige tools zoals ldapsearch, ADSI of ldp.exe. U kunt deze tools ook gebruiken om problemen op te lossen als u een foutmelding krijgt wanneer u uw LDAP-client koppelt aan de service.

Met de tests in de gedeelten hieronder kunt u nagaan of u een configuratieprobleem heeft, wat veelvoorkomende foutmeldingen zijn en hoe u deze problemen kunt oplossen.

Dit artikel bevat de volgende gedeelten:

Opmerking: Als u tijdens dit proces contact moet opnemen met Google Workspace-support of Cloud Identity Premium-support, slaat u de uitvoer van de opdrachten op. Verwijder alle persoonlijk identificeerbare informatie uit de uitvoer voordat je deze deelt met het supportteam.

De koppeling verifiëren en een LDAP-zoekopdracht uitvoeren

Nadat u de Secure LDAP-service heeft ingesteld in de Google Beheerdersconsole, kunt u een van deze 3 eenvoudige tools gebruiken om de verbinding met Secure LDAP te verifiëren: ldapsearch, ADSI of ldp.exe. Bekijk de gedeelten hieronder voor meer informatie en instructies.

ldapsearch

Gebruik het hulpprogramma ldapsearch vanaf een opdrachtregel om een basis-LDAP-query uit te voeren. Als de LDAP-zoekopdracht slaagt, betekent dit dat de LDAP-client en onderliggende TLS-sessie en TCP-koppeling naar behoren werken.

Zo test je de verbinding met ldapsearch:

  1. Maak een LDAP-configuratie en download het certificaat door de instructies in LDAP-clients toevoegen te volgen.

    Opmerking: Zorg dat er minstens één gebruiker in de organisatie-eenheid zit waarvoor u LDAP-clienttoegang machtigt, om de testomgeving te vereenvoudigen.

  2. Voer een LDAP-query uit. In dit voorbeeld wordt een specifieke gebruiker opgevraagd (ga naar OpenLDAP ldapsearch voor meer informatie).

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

    Vervang de tijdelijke aanduidingen zo:

    • {crt_file}: De naam van het .crt-bestand
    • {key_file}: De bestandsnaam van het .key-bestand.
    • {domain}: Elk deel van de domeinnaam, bijvoorbeeld example.com, wordt dc=example,dc=com.
    • {user_email}: Het primaire e-mailadres van een gebruiker in het domein.

Opmerkingen over het gebruik van ldapsearch

  • Als er geen BindDN-waarde is ingevoerd, gebruikt ldapsearch de sleutel en het certificaat om de zoekopdracht te autoriseren.
  • Als de waarde voor BindDN een LDAP-gebruikersnaam is die u heeft gemaakt in de Beheerdersconsole, gebruikt ldapsearch de rechten van de LDAP-client zoals ingesteld in de Beheerdersconsole.

    ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} -D {ldap_access_credentials_username} -W '(mail={user_email})

  • Als de waarde van BindDN een e-mailadres of LDAP-onderscheidende naam van een Workspace-gebruiker is, gebruikt ldapsearch de inloggegevens van die gebruiker om te zoeken op basis van hun rechten.

    ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} -D {workspace_username@domain} -W '(mail={user_email})'

ldapsearch gebruiken met stunnel

Als je voor je implementatie stunnel moet gebruiken, volg je deze stappen:

  1. Genereer in de Beheerdersconsole inloggegevens om de gebruikersnaam en het wachtwoord te maken die ldapsearch nodig heeft.
  2. Gebruik de volgende opdracht:

    ldapsearch -x -D "{username}" -w {password} -H ldap://{stunnel_host}:{stunnel_port} -b dc={domain},dc={domain} '(mail={user_email})'

    Vervang de tijdelijke aanduidingen zo:

    • {username}: Gebruikersnaam uit de gegenereerde inloggegevens in de Beheerdersconsole
    • {password}: Wachtwoord uit de gegenereerde inloggegevens in de Beheerdersconsole
    • {stunnel_host} : Het IP-adres of de hostnaam van de machine waarop stunnel in uw netwerk wordt uitgevoerd.
    • {stunnel_port}: de poort waarop stunnel wordt uitgevoerd, deze staat in uw stunnel-configuratie
    • {user_email}: Het primaire e-mailadres van een gebruiker in het domein.

Succesvol scenario van de opdracht ldapsearch

Als de uitvoer van de opdracht ldapsearch slaagt, wordt de gebruiker met het e-mailadres (zoals aangegeven bij het maken van de LDAP-client) in LDIF-indeling vermeld.

Voorbeeld:

# 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:

Mogelijke fouten

  • OpenLDAP-client en/of -bibliotheek zijn gecompileerd zonder SNI-ondersteuning

    SNI (Server Name Indication) moet worden ondersteund door de LDAP-client (in dit geval OpenLDAP). Als SNI niet beschikbaar is, ziet u misschien een foutmelding zoals deze:

    SASL/EXTERNAL authentication started

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

    Aanbeveling:
    • Als u MacOS gebruikt, is SASL standaard ingeschakeld. Dit kan worden overgeslagen met de optie '-x'.
    • Voeg de optie -d5 toe aan ldapsearch en check de uitvoer voor de volgende regel:

      TLS certificate verification: depth: 0, err: 18, subject: /OU=No SNI provided; please fix your client.
  • ldapsearch retourneert status 0 (geslaagd), maar er worden geen gebruikers uitgevoerd

    Als u de optie -x (SASL-verificatie gebruiken) met clientcertificaten opgeeft, wordt de verificatie uitgevoerd, maar worden er geen gebruikers in het domein vermeld.

    Aanbeveling: Verwijder de optie -x en probeer het opnieuw.

ADSI Edit (Windows)

  1. Volg stap 1 tot en met 11 in ldp.exe (Windows) om de clientcertificaten te installeren.
  2. Ga naar Action > Connect to… (Actie > Koppelen aan).
  3. Voer de volgende verbindingsinstellingen in:

    Naam: Typ een naam voor de verbinding, zoals Google LDAP.
    Verbindingspunt: Selecteer of typ een unieke naam of naamgevingscontext.
    Voer uw domeinnaam in DN-indeling in (bijvoorbeeld dc=example,dc=com voor example.com).

    Computer: Selecteer of typ een domein of server.
    ldap.google.com

    SSL-gebaseerde versleuteling gebruiken: aangevinkt
  4. Klik op Geavanceerd... en voer de volgende gegevens in:

    Inloggegevens invoeren: aangevinkt
    Gebruikersnaam: de gebruikersnaam van de toegangsgegevens uit de Beheerdersconsole
    Wachtwoord: het wachtwoord van de toegangsgegevens uit de Beheerdersconsole
    Poortnummer: 636
    Protocol: LDAP
    Eenvoudige bind-authenticatie: aangevinkt
  5. Klik op OK en klik nogmaals op OK.
  6. Als de koppeling is geslaagd, wordt de directory-content in de base DN weergegeven in het rechtervenster.

ldp.exe (Windows)

  1. Installeer OpenSSL.
  2. Converteer de certificaat- en sleutelbestanden naar één bestand in PKCS12-indeling. Voer bij een opdrachtprompt het volgende in:

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

    Voer een wachtwoord in om het uitvoerbestand te versleutelen.
  3. Ga naar het configuratiescherm.
  4. Zoek in het zoekvak naar certificaat en klik op Gebruikerscertificaten beheren.
  5. Ga naar Action > All Tasks > Import… (Actie > Alle taken > Importeren).
  6. Selecteer Current User (Huidige gebruiker) en klik op Next (Volgende).
  7. Klik op Browse… (Browsen).
  8. Selecteer in het dropdownmenu file type (bestandstype) rechtsonder in het dialoogvenster de optie Personal Information Exchange (*.pfx;*.p12).
  9. Selecteer het bestand ldap-client.p12 uit stap 2, klik op Openen en daarna op Volgende.
  10. Voer het wachtwoord in uit stap 2 en klik op Next (Volgende).
  11. Selecteer het certificaatarchief Persoonlijk, klik op Volgende en daarna op Afronden.
  12. Voer Ldp.exe uit.
  13. Ga naar Verbinding > Verbinden...
  14. Voer deze verbindingsgegevens in:

    Server: ldap.google.com
    Poort: 636
    Verbindingsloos: Niet aangevinkt
    SSL: Aangevinkt
  15. Klik op OK.
  16. Ga naar View > Tree (Weergave > Structuur).
  17. Voer de base DN in. Dit is uw domeinnaam in DN-indeling (bijvoorbeeld dc=example,dc=com voor example.com).
  18. Klik op OK.
  19. Als de koppeling is geslaagd, wordt de directory-content in de base DN weergegeven in het rechtervenster.

Voer zo nodig een basisconnectiviteitstest uit

Als u geen succesvol resultaat kunt behalen in Verbinding verifiëren en een LDAP-query uitvoeren, volgt u de instructies in dit gedeelte om de verbinding te testen. Als ldapsearch de verwachte gebruiker niet retourneert en geen duidelijke indicatie geeft dat de onderliggende TLS-sessie is gelukt, gebruikt u de OpenSSL-client om te verifiëren dat de netwerklagen waarop OpenLDAP vertrouwt, werken zoals verwacht.

Zo voer je een eenvoudige connectiviteitstest uit:

  1. Installeer het clienthulpprogramma openssl voor je besturingssysteem.

    De meeste GNU/Linux-distributies gebruiken de pakketnaam 'openssl'. Ga naar Andere besturingssystemen voor meer informatie.

  2. Maak een handmatige koppeling met de Secure LDAP-service met de openssl-client:

    openssl s_client -connect ldap.google.com:636
    

    Controleer of de SSL-onderhandeling is geslaagd door te kijken of de volgende regel onderaan de uitvoer van de openssl-s_client staat:

    Verify return code: 0 (ok)
    

Mogelijke foutmeldingen

De OpenSSL-client/bibliotheek ondersteunt SNI (Server Name Indication) niet

Tijdens de koppelingstest kunt u de volgende uitvoer krijgen:

Verify return code: 18 (self signed certificate)

Voor de Secure LDAP-service is een TLS-client vereist die een TLS-sessie ondersteunt en start met SNI (Server Name Indication). Als de TLS-client SNI niet ondersteunt, retourneert de TLS-server (ldap.google.com) een zelfondertekend certificaat dat niet door de validatiecontroles van de certificeringsinstantie komt, om aan te geven dat SNI vereist is.

U kunt controleren of dit geval is door te kijken of de volgende regel tegen het begin van de uitvoer van de OpenSSL-client staat:

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

Deze fout kan worden veroorzaakt doordat u een OpenSSL-versie gebruikt waarin SNI niet wordt ondersteund, of doordat u een app gebruikt die de OpenSSL-bibliotheek gebruikt met SNI expliciet uitgeschakeld.

Verbinding geweigerd

Als de volgende uitvoer wordt geretourneerd (waarbij {timestamp} een UNIX-tijdstempel in microseconden is), wordt de TCP-verbinding actief geweigerd voordat de TLS-onderhandeling kan beginnen:

{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

Dit kan de volgende oorzaken hebben:

  • Een firewall op app- of systeemniveau op de lokale computer.
  • Een firewall op hetzelfde fysieke netwerk of een netwerk upstream.

Gebruik tcptraceroute om te bepalen welke host de koppeling weigert (bijvoorbeeld tcptraceroute ldap.google.com 636).