Anslutningstestning av säker LDAP

Utgåvor som stöds för den här funktionen: Frontline Standard och Frontline Plus, Business Plus, Enterprise Standard och Enterprise Plus, Education Fundamentals, Education Standard och Education Plus, Enterprise Essentials Plus. Jämför utgåvor

Innan du försöker ansluta LDAP-klienten till tjänsten Säker LDAP kan du valfritt göra ett snabbt anslutningstest med enkla verktyg som ldapsearch, ADSI eller ldp.exe. Dessa verktyg kan också användas för felsökning om du stöter på fel när du försöker ansluta din LDAP-klient till tjänsten.

Med testerna som beskrivs i avsnitten nedan kan du ta reda på om du har ett konfigurationsproblem, vanliga felmeddelanden och rekommendationer om hur du åtgärdar problemen.

Den här artikeln har följande avsnitt:

Obs! Om du behöver kontakta support för Google Workspace eller support för Cloud Identity Premium under processen ska du spara utdata från kommandona. Se till att du tar bort alla uppgifter som kan kopplas till en specifik person från utdata innan du delar dem med supportteamet.

Verifiera anslutning och kör en LDAP-fråga

När du har konfigurerat Secure LDAP-tjänsten i Googles administratörskonsol kan du använda något av dessa tre enkla verktyg för att verifiera anslutningen till Secure LDAP: ldapsearch, ADSI eller ldp.exe. Information och anvisningar finns i avsnittet nedan.

ldapsearch

Använd verktyget ldapsearch från en kommandorad för att göra en grundläggande LDAP-fråga. En framgångsrik LDAP-fråga visar i att LDAP-klienten och den underliggande TLS-sessionen och TCP-anslutningen fungerar korrekt.

Så här testar du anslutningen med ldapsearch:

  1. Skapa en LDAP-konfiguration och ladda ned certifikatet genom att följa anvisningarna i Lägg till LDAP-klienter.

    Obs! För att förenkla testmiljön ska du se till att det finns minst en användare i organisationsenheten som du auktoriserar LDAP-klientåtkomst för.

  2. Kör en LDAP-fråga. I det här exemplet frågas en viss användare (mer information finns i OpenLDAP ldapsearch).

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

    Ersätt platshållarna enligt följande:

    • {crt_file} Namnet på .crt-filen
    • {key_file} Filnamnet för .key-filen
    • {domain} Varje del av domännamnet, till exempel example.com blir dc=example,dc=com
    • {user_email} Primär e-postadress för en användare på domänen.

Anteckningar om att använda ldapsearch

  • Om inget BindDN-värde anges använder ldapsearch nyckeln och certifikatet för att auktorisera sökningen.
  • Om värdet för BindDN är ett LDAP-användarnamn som du har genererat i administratörskonsolen använder ldapsearch behörigheterna för LDAP-klienten som har konfigurerats i administratörskonsolen.

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

  • Om BindDN-värdet är en e-postadress eller ett LDAP-namn för en Workspace-användare använder ldapsearch användarens användaruppgifter för att söka utifrån användarens behörigheter.

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

Använda ldapsearch med stunnel

Om du behöver använda stunnel för implementeringen följer du de här stegen:

  1. Generera åtkomstuppgifter i administratörskonsolen för att skapa det användarnamn och lösenord som krävs av ldapsearch.
  2. Använd följande kommando:

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

    Ersätt platshållarna enligt följande:

    • {username} Användarnamn från de genererade användaruppgifterna i administratörskonsolen
    • {password} Lösenord från de genererade användaruppgifterna i administratörskonsolen
    • {stunnel_host} : IP-adress eller värdnamn för datorn som kör stunnel i nätverket.
    • {stunnel_port}: Den port där stunnel körs, kolla stunnel-konfigurationen.
    • {user_email} Primär e-postadress för en användare på domänen

Lyckat scenario för kommandot ldapsearch

Om kommandot ldapsearch lyckas visas användaren med e-postadressen (som angavs när LDAP-klienten skapades) i LDIF-format.

Exempel:

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

Möjliga fel

  • OpenLDAP-klienten och/eller biblioteket har kompilerats utan stöd för SNI

    SNI (Server Name Indication) måste ha stöd för LDAP-klienten (OpenLDAP i det här fallet). Om SNI inte är tillgängligt kan ett felmeddelande som liknar följande visas:

    SASL/EXTERNAL authentication started

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

    Rekommendation:
    • Om du använder MacOS är SASL aktiverat som standard och kan hoppas över med alternativet ”-x”.
    • Lägg till alternativet -d5 i ldapsearch och kontrollera utdata för följande rad:

      TLS certificate verification: depth: 0, err: 18, subject: /OU=No SNI provided; please fix your client.
  • ldapsearch returnerar status 0 (lyckades) men inga användare visas

    Om du anger ldapsearch-alternativet -x (använd SASL-autentisering) med klientcertifikat autentiseras du, men inga användare i domänen visas.

    Rekommendation: Ta bort alternativet -x och försök igen.

ADSI-redigering (Windows)

  1. Följ stegen 1–11 i ldp.exe (Windows) för att installera klientcertifikaten.
  2. Öppna Åtgärd > Anslut till ...
  3. Ange följande anslutningsinställningar:

    Namn: Ange ett namn för anslutningen, till exempel Google LDAP.
    Anslutningspunkt: Välj eller ange ett särskiljande namn eller en namngivningskontext
    Ange domännamnet i DN-format (till exempel dc=example,dc=com för example.com).

    Dator: Välj eller ange en domän eller server
    ldap.google.com

    Använd SSL-baserad kryptering: Markerat
  4. Klicka på Avancerat … och ange följande uppgifter:

    Ange användaruppgifter: Markerat
    Användarnamn: Användarnamnet för åtkomstuppgifterna från administratörskonsolen
    Lösenord: Lösenordet för åtkomstuppgifterna från administratörskonsolen
    Portnummer: 636
    Protokoll: LDAP
    Enkel bindningsautentisering: Markerat
  5. Klicka på OK och sedan på OK igen.
  6. Om anslutningen lyckas visas kataloginnehållet i bas-DN i den högra rutan.

ldp.exe (Windows)

  1. Installera OpenSSL.
  2. Konvertera certifikat- och nyckelfilerna till en PKCS12-formaterad fil. Ange följande vid en kommandotolk:

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

    Ange ett lösenord för att kryptera utdatafilen.
  3. Öppna Kontrollpanelen.
  4. Sök efter certifikat i sökrutan och klicka på Hantera användarcertifikat.
  5. Öppna Åtgärd > Alla uppgifter > Importera …
  6. Välj Nuvarande användare och klicka på Nästa.
  7. Klicka på Bläddra ...
  8. På rullgardinsmenyn Filtyp i det nedre högra hörnet av dialogrutan väljer du Personal Information Exchange (*.pfx;* .p12).
  9. Välj filen ldap-client.p12 från steg 2, klicka på Öppna och sedan på Nästa.
  10. Ange lösenordet från steg 2 ovan och klicka på Nästa.
  11. Välj certifikatarkivet Personligt, klicka på Nästa och sedan på Slutför.
  12. Kör Ldp.exe.
  13. Öppna Anslutning > Anslut …
  14. Ange följande anslutningsuppgifter:

    Server: ldap.google.com
    Port: 636
    Anslutningslös: Avmarkerat
    SSL: Markerad
  15. Klicka på OK.
  16. Öppna Visa > Träd.
  17. Ange bas-DN. Detta är ditt domännamn i DN-format. (till exempel dc=exempel, dc=com för exempel.com).
  18. Klicka på OK.
  19. Om anslutningen lyckas visas kataloginnehållet i bas-DN i den högra rutan.

Kör grundläggande anslutningstester om det behövs

Om du inte får ett lyckat resultat i Verifiera anslutning och kör en LDAP-fråga följer du anvisningarna i det här avsnittet för att testa anslutningen. Om ldapsearch inte returnerar den förväntade användaren och inte ger en tydlig indikation på att den underliggande TLS-sessionen lyckades använder du OpenSSL-klienten för att verifiera att nätverksskikten som OpenLDAP förlitar sig på fungerar som förväntat.

Så här utför du grundläggande anslutningstest:

  1. Installera openssl-klientverktyget för ditt operativsystem.

    De flesta GNU/Linux-distributioner använder paketnamnet openssl. Mer information om andra operativsystem.

  2. Gör en manuell anslutning till Secure LDAP-tjänsten med openssl-klienten:

    openssl s_client -connect ldap.google.com:636
    

    Bekräfta att SSL-förhandlingen har lyckats genom att identifiera följande rad i slutet av openssl s_client-utdata:

    Verify return code: 0 (ok)
    

Möjliga fel

OpenSSL-klienten/biblioteket har inte stöd för SNI (Server Name Indication)

Under anslutningstestet kan följande utdata returneras:

Verify return code: 18 (self signed certificate)

Tjänsten Säker LDAP kräver en TLS-klient som har stöd för och initierar en TLS-session med hjälp av SNI (Server Name Indication). Om TLS-klienten inte har stöd för SNI returnerar TLS-servern (ldap.google.com) ett självsignerat certifikat som inte klarar CA-valideringskontroller för att indikera att SNI krävs.

Detta beteende kan bekräftas genom kontroll av OpenSSL-klientutdata för följande rad i början av utdata:

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

Orsaker till detta fel kan vara en OpenSSL-version som inte stöder SNI eller att en app som använder OpenSSL-biblioteket med SNI är explicit inaktiverad.

Anslutningen nekades

Om följande utdata returneras – där {timestamp} är en UNIX-tidsstämpel i mikrosekunder – avvisas TCP-anslutningen aktivt innan TLS-förhandlingen kan starta:

{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

Detta kan orsakas av följande:

  • En brandvägg på appnivå eller systemnivå på den lokala datorn
  • En brandvägg i samma fysiska nätverk eller uppströms nätverk

Undersöka genom att använda tcptraceroute för att avgöra vilken värd som avvisar anslutningen, till exempel tcptraceroute ldap.google.com 636.