Поддерживаемые версии для этой функции: Frontline Standard и Frontline Plus; Business Plus; Enterprise Standard и Enterprise Plus; Education Fundamentals, Education Standard и Education Plus; Enterprise Essentials Plus. Сравните вашу версию.
Прежде чем пытаться подключить свой LDAP-клиент к службе Secure LDAP, при желании можно провести быструю проверку подключения с помощью простых инструментов, таких как ldapsearch , ADSI или ldp.exe . Эти инструменты также можно использовать для устранения неполадок, если вы столкнетесь с ошибками при попытке подключения LDAP-клиента к службе.
Описанные в разделах ниже тесты помогут вам понять, есть ли у вас проблема с конфигурацией, какие часто встречаются сообщения об ошибках, а также рекомендации по устранению этих проблем.
Данная статья содержит следующие разделы:
- Проверьте подключение и выполните LDAP-запрос.
Выполнение LDAP-запроса позволяет убедиться в возможности подключения к защищенному LDAP-серверу и выполнения запросов. - При необходимости проведите базовое тестирование подключения.
Если выполнение LDAP-запроса завершается неудачей, выполните базовое тестирование подключения, чтобы проверить доступ к сети и аутентификацию.
Примечание: Если вам потребуется связаться со службой поддержки Google Workspace или Cloud Identity Premium в процессе выполнения команд, обязательно сохраните их вывод. Перед тем как передавать результаты команде поддержки, убедитесь, что вы удалили из них любую информацию, позволяющую идентифицировать личность.
Проверьте подключение и выполните LDAP-запрос.
После настройки службы Secure LDAP в консоли администратора Google вы можете использовать один из этих трех простых инструментов для проверки подключения к Secure LDAP: ldapsearch , ADSI или ldp.exe . Подробную информацию и инструкции см. в разделах ниже.
ldapsearch
Используйте утилиту ldapsearch из командной строки для выполнения простого LDAP-запроса. Успешный результат LDAP-запроса указывает на то, что LDAP-клиент, базовая TLS-сессия и TCP-соединение работают должным образом.
Для проверки подключения к ldapsearch :
- Создайте конфигурацию LDAP и загрузите сертификат, следуя инструкциям в разделе «Добавление клиентов LDAP» .
Примечание: Для упрощения среды тестирования убедитесь, что в организационном подразделении, для которого вы разрешили доступ LDAP-клиента, есть хотя бы один пользователь.
- Выполните LDAP-запрос. В этом примере выполняется запрос к конкретному пользователю (подробнее см. 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})'Замените заполнители следующим образом:
- {crt_file} Имя файла .crt
- {key_file} Имя файла с расширением .key
- Каждая часть доменного имени, например: example.com, станет "dc=example,dc=com".
- {user_email} Основной адрес электронной почты пользователя в домене.
Примечания по использованию ldapsearch
- Если значение BindDN не указано, ldapsearch использует ключ и сертификат для авторизации поиска.
- Если значение BindDN представляет собой имя пользователя LDAP, сгенерированное вами в консоли администратора , ldapsearch будет использовать права доступа клиента LDAP, настроенные в консоли администратора.
ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} -D {ldap_access_credentials_username} -W '(mail={user_email}) - Если значение BindDN представляет собой адрес электронной почты или отличительное имя LDAP пользователя рабочей области, ldapsearch будет использовать учетные данные этого пользователя для поиска на основе его прав доступа.
ldapsearch -H ldaps://ldap.google.com:636 -b dc={domain},dc={domain} -D {workspace_username@domain} -W '(mail={user_email})'
Используйте ldapsearch с stunnel
Если для развертывания требуется использовать stunnel , выполните следующие действия:
- В консоли администратора сгенерируйте учетные данные доступа , чтобы получить имя пользователя и пароль, необходимые для работы ldapsearch.
- Используйте следующую команду:
ldapsearch -x -D "{username}" -w {password} -H ldap://{stunnel_host}:{stunnel_port} -b dc={domain},dc={domain} '(mail={user_email})'Замените заполнители следующим образом:
- {username} Имя пользователя из сгенерированных учетных данных в консоли администратора
- {password} Пароль из сгенерированных учетных данных в консоли администратора
- {stunnel_host}: IP-адрес или имя хоста машины, на которой запущен stunnel в вашей сети.
- {stunnel_port}: порт, на котором запущен stunnel; проверьте конфигурацию stunnel.
- {user_email} Основной адрес электронной почты пользователя в домене
Успешный сценарий выполнения команды ldapsearch
В случае успешного выполнения команды ldapsearch будет отображен список пользователей с указанным адресом электронной почты (как было указано при создании LDAP-клиента) в формате LDIF.
Например:
# 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:
Возможные ошибки
- Клиент и/или библиотека OpenLDAP скомпилированы без поддержки SNI.
Для корректной работы LDAP-клиента (в данном случае OpenLDAP ) требуется поддержка SNI (Server Name Indication). Если SNI недоступен, может появиться ошибка, подобная следующей:
SASL/EXTERNAL authentication started
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
additional info: SASL(-4): no mechanism available:
Рекомендация:- Если вы используете macOS, SASL включен по умолчанию и может быть отключен с помощью опции "-x".
- Добавьте опцию
-d5к команде ldapsearch и проверьте вывод на наличие следующей строки:
TLS certificate verification: depth: 0, err: 18, subject: /OU=No SNI provided; please fix your client.
Команда ldapsearch возвращает статус 0 (успех), но данные о пользователях не отображаются.
Указание параметра-x(использовать аутентификацию SASL) для ldapsearch с использованием клиентских сертификатов позволит успешно выполнить аутентификацию, но не отобразит список пользователей в домене.
Рекомендация: Удалите опцию-xи попробуйте снова.
ADSI Edit (Windows)
- Выполните шаги 1–11 в программе ldp.exe (Windows) , чтобы установить клиентские сертификаты.
- Перейдите в раздел Действия > Подключиться к…
- Введите следующие параметры подключения:
Имя: Введите имя для вашего подключения, например, Google LDAP .
Точка подключения: «Выберите или введите отличительное имя или контекст именования».
Введите доменное имя в формате DN (например, dc=example,dc=com для example.com ).
Компьютер: "Выберите или введите домен или сервер"
ldap.google.com
Использовать шифрование на основе SSL: Отмечено - Нажмите «Дополнительно...» и введите следующие данные:
Укажите учетные данные: Отмечено
Имя пользователя: имя пользователя для доступа из консоли администратора.
Пароль: Пароль для доступа к консоли администратора.
Номер порта: 636
Протокол: LDAP
Простая аутентификация по привязке: Отмечено - Нажмите ОК , а затем нажмите ОК еще раз.
- Если соединение установлено успешно, содержимое каталога в базовом DN отображается в правой панели.
ldp.exe (Windows)
- Установите OpenSSL .
- Преобразуйте файлы сертификата и ключа в один файл формата PKCS12. В командной строке введите следующее:
openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12
Введите пароль для шифрования выходного файла. - Перейдите в Панель управления.
- В поле поиска введите «сертификат» и нажмите «Управление пользовательскими сертификатами ».
- Перейдите в раздел Действия > Все задачи > Импорт…
- Выберите «Текущий пользователь» и нажмите «Далее» .
- Нажмите «Обзор»…
- В раскрывающемся списке «Тип файла» в правом нижнем углу диалогового окна выберите «Обмен личной информацией (*.pfx;*.p12)» .
- Выберите файл ldap-client.p12 из шага 2, нажмите «Открыть» , а затем нажмите «Далее» .
- Введите пароль из шага 2 и нажмите «Далее» .
- Выберите хранилище личных сертификатов, нажмите « Далее» , а затем нажмите «Готово» .
- Запустите Ldp.exe .
- Перейдите в раздел «Подключение» > «Подключиться...».
- Введите следующие данные для подключения:
Сервер: ldap.google.com
Порт: 636
Отсутствие связи: Не отмечено
SSL: Проверено - Нажмите ОК .
- Перейдите в меню «Вид» > «Дерево» .
- Введите базовый DN. Это ваше доменное имя в формате DN (например, dc=example,dc=com для example.com ).
- Нажмите ОК .
- Если соединение установлено успешно, содержимое каталога в базовом DN отображается в правой панели.
При необходимости проведите базовое тестирование подключения.
Если вам не удается получить успешный результат при проверке подключения и выполнении LDAP-запроса , следуйте инструкциям в этом разделе для проверки подключения. Если ldapsearch не возвращает ожидаемого пользователя и не дает четкого указания на успешность базовой сессии TLS, используйте клиент OpenSSL для проверки того, что сетевые уровни, на которые опирается OpenLDAP, работают должным образом.
Для проведения базовой проверки подключения:
Установите утилиту openssl client для вашей операционной системы.
В большинстве дистрибутивов GNU/Linux используется имя пакета "openssl". Подробнее о других операционных системах см. здесь.
Установите ручное соединение со службой Secure LDAP с помощью клиента openssl :
openssl s_client -connect ldap.google.com:636Подтверждение успешного завершения SSL-соглашения подтверждается наличием следующей строки в конце вывода команды openssl s_client:
Verify return code: 0 (ok)
Возможные ошибки
Клиент/библиотека OpenSSL не поддерживает SNI (Server Name Indication).
В ходе проверки подключения может быть получен следующий результат:
Verify return code: 18 (self signed certificate)
Для работы службы Secure LDAP требуется TLS-клиент, поддерживающий и инициирующий TLS-сессию с использованием SNI (Server Name Indication). Если TLS-клиент не поддерживает SNI, TLS-сервер (ldap.google.com) возвращает самоподписанный сертификат, который не пройдет проверку центра сертификации, что указывает на необходимость использования SNI.
Это поведение можно подтвердить, проверив вывод клиента OpenSSL на наличие следующей строки в начале вывода:
depth=0 OU = "No SNI provided; please fix your client.", CN = invalid2.invalid
Причинами этой ошибки могут быть версия OpenSSL, не поддерживающая SNI, или приложение, использующее библиотеку OpenSSL с явно отключенной поддержкой SNI.
В соединении отказано
Если возвращается следующий вывод, где {timestamp} — это метка времени UNIX в микросекундах, это означает, что TCP-соединение активно отклоняется до начала согласования 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
Причиной этого могут быть следующие факторы:
- Межсетевой экран прикладного или системного уровня на локальном компьютере.
- Межсетевой экран, расположенный в той же физической сети или в вышестоящей сети.
Для расследования используйте команду tcptraceroute , чтобы определить, какой хост отклоняет соединение — например, tcptraceroute ldap.google.com 636 .