Testowanie połączeń z usługą Bezpieczny LDAP

Ta funkcja jest dostępna w Cloud Identity Premium. Porównanie wersji

Przed próbą połączenia klienta LDAP z usługą Bezpieczny LDAP możesz opcjonalnie wykonać szybki test łączności przy użyciu prostych narzędzi, takich jak ldapsearch, Edytor ADSI lub ldp.exe.Za ich pomocą możesz też rozwiązywać problemy, jeśli podczas próby połączenia klienta LDAP z usługą wystąpią błędy.

Poniżej znajdziesz opisy testów, które pozwolą Ci ustalić, czy po Twojej stronie występuje problem z konfiguracją, oraz typowe komunikaty o błędach i zalecenia dotyczące rozwiązywania problemów.

Ten artykuł zawiera następujące sekcje:

Uwaga: jeśli podczas tych działań zajdzie potrzeba skontaktowania się z zespołem pomocy Google Workspace lub Cloud Identity Premium, pamiętaj o zapisaniu danych wyjściowych swoich poleceń. Przed udostępnieniem zespołowi pomocy danych wyjściowych usuń z nich wszelkie informacje umożliwiające identyfikację.

Sprawdzanie łączności i uruchamianie zapytania LDAP

Po skonfigurowaniu usługi Bezpieczny LDAP w konsoli administracyjnej Google możesz użyć jednego z tych 3 prostych narzędzi do sprawdzenia łączności z tą usługą: ldapsearch, Edytor ADSI lub ldp.exe. Szczegółowe informacje i instrukcje znajdziesz w sekcjach poniżej.

Narzędzie ldapsearch

Za pomocą narzędzia ldapsearch możesz utworzyć w wierszu poleceń podstawowe zapytanie LDAP. Pomyślny wynik zapytania LDAP wskazuje, że klient LDAP, sesja TLS i połączenie TCP działają prawidłowo.

Aby przetestować łączność za pomocą narzędzia ldapsearch:

  1. Utwórz konfigurację LDAP i pobierz certyfikat, postępując zgodnie z instrukcjami zawartymi w artykule 1. Dodaj klienty LDAP.

    Uwaga: aby uprościć środowisko testowe, upewnij się, że w jednostce organizacyjnej, dla której autoryzujesz dostęp klienta LDAP, istnieje co najmniej jedno konto użytkownika.
     
  2. Wykonaj zapytanie LDAP.

    W poleceniu poniżej pokazano, jak za pomocą narzędzia wiersza poleceń ldapsearch wykonać zapytanie dotyczące konkretnego użytkownika (więcej informacji znajdziesz w instrukcji OpenLDAP lapsearch – w języku angielskim):
     

    LDAPTLS_CERT={plik_crt} LDAPTLS_KEY={plik_key} ldapsearch -H ldaps://ldap.google.com:636 -b dc={domena},dc={domena} '(mail={adres_e-mail_użytkownika})'

    Zastąp następujące zmienne:

    {plik_crt}: nazwa pliku .crt;
    {plik_key}: nazwa pliku .key;
    {domena}: poszczególne części nazwy domeny, (na przykład: example.com będzie mieć postać „dc=example,dc=com”);
    {adres_e-mail_użytkownika}: podstawowy adres e-mail użytkownika w domenie.

Używanie narzędzia ldapsearch z programem stunnel

Jeśli Twoje wdrożenie wymaga zastosowania programu stunnel, użyj następujących poleceń:

ldapsearch -H ldaps://{host_programu_stunnel}:{port_programu_stunnel} -b
dc={domena},dc={domena} '(mail={adres_e-mail_użytkownika})'

Zastąp następujące zmienne:
{host_programu_stunnel}: adres IP lub nazwa hosta komputera, na którym uruchomiono program stunnel w Twojej sieci;
{port_programu_stunnel}: port, na którym działa program stunnel – sprawdź konfigurację programu.

Scenariusz z pomyślnym wynikiem polecenia ldapsearch

Pomyślne dane wyjściowe polecenia ldapsearch będą zawierać nazwę użytkownika wraz z adresem e-mail (określonym podczas tworzenia klienta LDAP) w formacie LDIF.

Przykład:

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

Możliwe błędy

  • Biblioteka lub klient OpenLDAP zostały skompilowane bez obsługi rozszerzenia SNI

    Klient LDAP musi obsługiwać rozszerzenie SNI (Server Name Indication), czyli w tym przypadku – OpenLDAP. Jeśli rozszerzenie SNI nie jest obsługiwane, możesz zobaczyć błąd podobny do tego:

    SASL/EXTERNAL authentication started

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

    Zalecenie:
    • Jeśli używasz systemu macOS, mechanizm SASL jest domyślnie włączony i można go ominąć za pomocą opcji „-x”.
    • Dodaj opcję -d5 do polecenia ldapsearch i sprawdź dane wyjściowe następującego wiersza:

      TLS certificate verification: depth: 0, err: 18, subject: /OU=No SNI provided; please fix your client.
       
  • Narzędzie ldapsearch zwróci stan 0 (powodzenie), ale w danych wyjściowych nie będzie żadnego użytkownika.

    Dodanie opcji -x (użyj uwierzytelniania SASL) przy wykorzystaniu certyfikatów klienta spowoduje uwierzytelnienie, ale nie wyświetli listy użytkowników w domenie.

    Zalecenie: usuń opcję -x i spróbuj ponownie.

Narzędzie Edytor ADSI (Windows)
  1. Wykonaj kroki 1–11 podane w sekcji Narzędzie ldp.exe (Windows), aby zainstalować certyfikaty klienta.
  2. Otwórz Akcja > Połącz z…
  3. Wpisz te ustawienia połączenia:

    Nazwa: wpisz nazwę połączenia, na przykład Google LDAP
    Punkt połączenia: wybierz lub wpisz nazwę wyróżniającą lub kontekst nazewnictwa
    Wpisz nazwę domeny w formacie nazwy wyróżniającej (np. dc=example,dc=com w przypadku domeny example.com)

    Komputer: wybierz lub wpisz domenę albo serwer
    ldap.google.com

    Użyj szyfrowania SSL: zaznaczone
     
  4. Kliknij Zaawansowane... i wpisz te szczegółowe informacje:

    Określ poświadczenia: zaznaczone
    Nazwa użytkownika: nazwa użytkownika z danych logowania z konsoli administracyjnej
    Hasło: hasło z danych logowania z konsoli administracyjnej
    Numer portu: 636
    Protokół: LDAP
    Uwierzytelnianie prostego powiązania: zaznaczone
     
  5. Kliknij OK, a następnie ponownie kliknij OK.
  6. Jeśli uda się nawiązać łączność, w prawym okienku zostanie wyświetlona zawartość katalogu w obszarze podstawowej nazwy wyróżniającej.
Narzędzie ldp.exe (Windows)
  1. Zainstaluj OpenSSL.
  2. Przekonwertuj plik certyfikatu i plik klucza na jeden plik w formacie PKCS12. W wierszu poleceń wpisz:

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

    Wpisz hasło, aby zaszyfrować plik wyjściowy.
     
  3. Otwórz Panel sterowania.
  4. W polu wyszukiwania wyszukaj „certyfikat” i kliknij Zarządzaj certyfikatami użytkowników.
  5. Otwórz Akcja > Wszystkie zadania > Importuj…
  6. Wybierz Bieżący użytkownik i kliknij Dalej.
  7. Kliknij Przeglądaj…
  8. Z listy typów plików w prawym dolnym rogu okna wybierz Wymiana informacji osobistych (*.pfx;*.p12).
  9. Wybierz plik ldap-client.p12 z kroku 2, kliknij Otwórz, a następnie kliknij Dalej.
  10. Wpisz hasło z kroku 2 i kliknij Dalej.
  11. Wybierz magazyn certyfikatów Osobisty, kliknij Dalej, a następnie kliknij Zakończ.
  12. Uruchom Ldp.exe.
  13. Otwórz Połączenie > Połącz…
  14. Wpisz następujące dane połączenia:

    Serwer: ldap.google.com
    Port: 636
    Bez połączenia: niezaznaczone
    SSL: zaznaczone
     
  15. Kliknij OK.
  16. Otwórz Widok > Drzewo.
  17. Wpisz podstawową nazwę wyróżniającą. Jest to nazwa domeny w formacie nazwy wyróżniającej, na przykład dc=example,dc=com w przypadku domeny example.com.
  18. Kliknij OK.
  19. Jeśli uda się nawiązać łączność, w prawym okienku zostanie wyświetlona zawartość katalogu w obszarze podstawowej nazwy wyróżniającej.

Wykonywanie podstawowych testów łączności – w razie potrzeby

Jeśli instrukcje zawarte w sekcji Sprawdzanie łączności i uruchamianie zapytania LDAP nie dały rezultatu: aby sprawdzić łączność, wykonaj kroki opisane w sekcji poniżej. Jeśli narzędzie ldapsearch nie zwraca danych oczekiwanego użytkownika i nie wskazuje na to, że sesja TLS działa poprawnie, użyj klienta OpenSSL, aby sprawdzić, czy warstwy sieciowe, na których polega OpenLDAP, działają zgodnie z oczekiwaniami.

Aby przeprowadzić podstawowe testy łączności:

  1. Zainstaluj klienta openssl w wersji przeznaczonej dla Twojego systemu operacyjnego.

    W większości dystrybucji GNU/Linuksa używa się pakietu „openssl”. Jeśli używasz innego systemu operacyjnego, zapoznaj się z tymi informacjami.
     
  2. Utwórz połączenie z usługą Bezpieczny LDAP ręcznie za pomocą klienta openssl:

    openssl s_client -connect ldap.google.com:636

    Upewnij się, że negocjacje SSL się powiodły – na końcu danych wyjściowych openssl s_client powinien znaleźć się następujący wiersz:

    Verify return code: 0 (ok)

Możliwe błędy

Klient/biblioteka OpenSSL nie obsługuje rozszerzenia SNI (Server Name Indication)

Podczas testu łączności mogą zostać zwrócone następujące dane wyjściowe:

Verify return code: 18 (self signed certificate)

Usługa Bezpieczny LDAP wymaga klienta TLS, który obsługuje i inicjuje sesję TLS za pomocą rozszerzenia SNI (Server Name Indication). Jeśli klient TLS nie obsługuje rozszerzenia SNI, serwer TLS (ldap.google.com) zwróci certyfikat podpisany samodzielnie. Nie przejdzie on pomyślnie weryfikacji urzędu certyfikacji, która mogłaby wskazać, że wymagana jest obsługa rozszerzenia SNI.

Możesz to potwierdzić, sprawdzając dane wyjściowe klienta OpenSSL w następującym wierszu znajdującym się blisko początku:

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

Błąd ten może być spowodowany użyciem niewłaściwej wersji klienta OpenSSL, która nie obsługuje rozszerzenia SNI, lub aplikacji, która wykorzystuje bibliotekę OpenSSL z wyłączoną obsługą rozszerzenia SNI.

Odmowa nawiązania połączenia

Jeśli zostaną zwrócone następujące dane wyjściowe – gdzie {sygnatura_czasowa} to sygnatura czasowa UNIX w mikrosekundach – oznacza to, że połączenie TCP jest aktywnie odrzucane jeszcze przed rozpoczęciem negocjacji TLS:

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

Problem ten może powodować:

  • zapora sieciowa na poziomie aplikacji lub na poziomie systemu na komputerze lokalnym,
  • zapora sieciowa w tej samej sieci fizycznej lub sieci nadrzędnej.

Aby to zbadać, ustal za pomocą polecenia tcptraceroute, który host odrzuca połączenie, na przykład: tcptraceroute ldap.google.com 636.

Powiązane artykuły

Czy to było pomocne?

Jak możemy ją poprawić?
Szukaj
Wyczyść wyszukiwanie
Zamknij wyszukiwanie
Menu główne
7288084236191877004
true
Wyszukaj w Centrum pomocy
true
true
true
false
false