Ta funkcja jest dostępna w tych wersjach: Frontline Standard i Frontline Plus; Business Plus; Enterprise Standard i Enterprise Plus; Education Fundamentals, Education Standard i Education Plus; Enterprise Essentials Plus. 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.
Sekcje w tym artykule:
- Sprawdzanie łączności i uruchamianie zapytania LDAP
Zapytanie LDAP pozwala potwierdzić, że możesz połączyć się z usługą Bezpieczny LDAP i wykonywać zapytania. - Wykonywanie podstawowych testów łączności – w razie potrzeby
Jeśli nie uda się uruchomić zapytania LDAP, wykonaj podstawowe testy łączności, aby sprawdzić dostęp do sieci i uwierzytelnianie.
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.
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:
- Utwórz konfigurację LDAP i pobierz certyfikat, postępując zgodnie z instrukcjami w artykule Dodawanie klientów 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.
- Wykonaj zapytanie LDAP. W tym przykładzie wykonujemy zapytanie dotyczące konkretnego użytkownika (więcej informacji znajdziesz w instrukcji 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})'Zastąp obiekty zastępcze w ten sposób:
- {crt_file} Nazwa pliku .crt
- {key_file} Nazwa pliku .key
- {domain} Każda część nazwy domeny, np. example.com, zostanie przekształcona w „dc=example,dc=com”.
- {user_email} Podstawowy adres e-mail użytkownika w domenie.
Uwagi dotyczące korzystania z narzędzia ldapsearch
- Jeśli nie podasz wartości BindDN, ldapsearch użyje klucza i certyfikatu do autoryzacji wyszukiwania.
- Jeśli wartość BindDN to nazwa użytkownika LDAP wygenerowana w konsoli administracyjnej, polecenie ldapsearch będzie używać uprawnień klienta LDAP skonfigurowanych w konsoli administracyjnej.
ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} -D {ldap_access_credentials_username} -W '(mail={user_email}) - Jeśli wartość BindDN jest adresem e-mail lub nazwą wyróżniającą LDAP użytkownika Workspace, polecenie ldapsearch użyje danych logowania tego użytkownika do wyszukiwania na podstawie jego uprawnień.
ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} -D {workspace_username@domain} -W '(mail={user_email})'
Używanie narzędzia ldapsearch z programem stunnel
Jeśli wdrożenie wymaga zastosowania stunnel, wykonaj te czynności:
- W konsoli administracyjnej wygeneruj dane logowania, aby uzyskać nazwę użytkownika i hasło potrzebne do ldapsearch.
- Użyj tego polecenia:
ldapsearch -x -D "{username}" -w {password} -H ldap://{stunnel_host}:{stunnel_port} -b dc={domain},dc={domain} '(mail={user_email})'Zastąp obiekty zastępcze w ten sposób:
- {username} Nazwa użytkownika z wygenerowanych danych logowania w konsoli administracyjnej
- {password} Hasło z wygenerowanych danych logowania w konsoli administracyjnej
- {stunnel_host} : adres IP lub nazwa hosta komputera, na którym uruchomiono program stunnel w Twojej sieci;
- {stunnel_port} : port, na którym działa program stunnel – sprawdź konfigurację programu.
- {user_email} Podstawowy adres e-mail użytkownika w domenie
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.
Na 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 usługa SNI jest niedostępna, może pojawić się błąd podobny do następującego:SASL/EXTERNAL authentication startedldap_sasl_interactive_bind_s: Unknown authentication method (-6)additional info: SASL(-4): no mechanism available:
Rekomendacja:- Jeśli używasz systemu macOS, mechanizm SASL jest domyślnie włączony i można go ominąć za pomocą opcji „-x”.
- Dodaj opcję
-d5do polecenia ldapsearch i poszukaj w danych wyjściowych 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.
Rekomendacja: usuń opcję-xi spróbuj ponownie.
Edytor ADSI (Windows)
- Wykonaj kroki 1–11 podane w sekcji Narzędzie ldp.exe (Windows), aby zainstalować certyfikaty klienta.
- Otwórz Akcja > Połącz z…
- 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ą bądź kontekst nazewnictwa”.
Wpisz nazwę domeny w formacie nazwy wyróżniającej (na przykład dc=example,dc=com w przypadku domeny example.com).
Komputer: „Wybierz lub wpisz domenę bądź serwer”.
ldap.google.com
Użyj szyfrowania SSL: zaznaczone - Kliknij Zaawansowane... i wpisz te dane:
Określ dane logowania: 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
Proste uwierzytelnianie powiązania: zaznaczone - Kliknij OK, a następnie ponownie kliknij OK.
- Jeśli uda się nawiązać łączność, w prawym okienku zostanie wyświetlona zawartość katalogu w obszarze podstawowej nazwy wyróżniającej.
ldp.exe (Windows)
- Zainstaluj OpenSSL.
- 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. - Otwórz Panel sterowania.
- W polu wyszukiwania wyszukaj „certyfikat” i kliknij Zarządzaj certyfikatami użytkowników.
- Otwórz Akcja > Wszystkie zadania > Importuj…
- Wybierz Bieżący użytkownik i kliknij Dalej.
- Kliknij Przeglądaj…
- Z listy typów plików w prawym dolnym rogu okna wybierz Wymiana informacji osobistych (*.pfx;*.p12).
- Wybierz plik ldap-client.p12 z kroku 2, kliknij Otwórz, a następnie kliknij Dalej.
- Wpisz hasło z kroku 2 i kliknij Dalej.
- Wybierz magazyn certyfikatów Osobisty, kliknij Dalej, a następnie kliknij Zakończ.
- Uruchom Ldp.exe.
- Otwórz Połączenie > Połącz…
- Wpisz te dane połączenia:
Serwer: ldap.google.com
Port: 636
Bez połączenia: niezaznaczone
SSL: zaznaczone - Kliknij OK.
- Otwórz Widok > Drzewo.
- Wpisz podstawową nazwę wyróżniającą. Jest to nazwa domeny w formacie DN. (na przykład dc=example,dc=com w przypadku domeny example.com).
- Kliknij OK.
- 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:
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.
Utwórz połączenie z usługą Bezpieczny LDAP ręcznie za pomocą klienta openssl:
openssl s_client -connect ldap.google.com:636Upewnij 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 SNI (Server Name Indication)
W trakcie 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ą 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 {timestamp} to sygnatura czasowa UNIX w mikrosekundach – oznacza to, że połączenie TCP jest aktywnie odrzucane jeszcze przed rozpoczęciem negocjacji 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
Może to być spowodowane:
- 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.