Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


unix-linux:linux-cli-tools:openldap-ldap-client-check-connection-to-active-directory-domain-controller-with-ldapsearch

Утилита ldapsearch (клиент OpenLDAP) и проверка подключения к контроллеру домена Active Directory

Проверку выполняем на примере Debian GNU/Linux 8 (Jessie). Сначала убедимся в том, что клиент OpenLDAP установлен в системе:

# dpkg -l | grep ldap
ii ldap-utils 2.4.40+dfsg-1+deb8u2 amd64 OpenLDAP utilities ii libldap-2.4-2:amd64 2.4.40+dfsg-1+deb8u2 amd64 OpenLDAP libraries

Исходные данные для проверки подключения клиента OpenLDAP к LDAP-каталогу на примере контроллера домена Active Directory (AD):

  • ad.holding.com - Имя домена AD;
  • dc01.ad.holding.com - FQDN-имя контроллера домена AD;
  • s-LDAP-Check-User - Имя пользователь в домене AD, от имени которого выполняется подключение (уровень прав в домене - рядовой пользователь);
  • PaZsw0rd - Пароль пользователя s-LDAP-Check-User.
  • Test-User - Имя пользователя в домене AD, которого мы пытаемся найти в LDAP-каталоге.
  • «OU=Test Users,OU=KOM,DC=ad,DC=holding,DC=com» - DN-имя контейнера в AD, в котором выполняется поиск пользователя Test-User.


Проверка подключения по протоколу LDAP (TCP 389)

Используется подключение типа ldap:/. Учётные данные пользователя s-LDAP-Check-User передаются по сети в открытом виде:

$ ldapsearch -v -x \
 -D "s-LDAP-Check-User@ad.holding.com" -w "PaZsw0rd" \ 
 -b "OU=Test Users,OU=KOM,DC=ad,DC=holding,DC=com" \ 
 -H "ldap://dc01.ad.holding.com" sAMAccountName=Test-User


Проверка подключения по протоколу LDAPS (TCP 636)

Используется подключение типа ldaps:/. LDAP-сессия шифруется с помощью SSL-сертификата, предоставляемого контроллером домена. Чтобы LDAP-клиент доверял сертификату контроллера домена, нам нужно создать файл, содержащий корневые сертификаты доменных Центров сертификации, которыми подписан сертификат контроллера домена. Назовём этот файл, например /etc/ssl/certs/cacerts.pem, и скопируем в него корневые сертификаты доменных ЦС в формате PEM и кодировке Base-64.

Изменим на время проверки конфигурационный файл клиента OpenLDAP /etc/ldap/ldap.conf, указав в переменной TLS_CACERT путь к созданному нами файлу с корневыми сертификатами доменных ЦС:

ldap.conf
...
#TLS_CACERT     /etc/ssl/certs/ca-certificates.crt
TLS_CACERT      /etc/ssl/certs/cacerts.pem
...

После этого можно попробовать выполнить поиск по протоколу LDAPS:

$ ldapsearch -v -x \ 
 -D "s-LDAP-Check-User@ad.holding.com" -w "PaZsw0rd" \
 -b "OU=Test Users,OU=KOM,DC=ad,DC=holding,DC=com" \
 -H "ldaps://dc01.ad.holding.com" sAMAccountName=Test-User


Проверка подключения по протоколу LDAP с защитой StartTLS (TCP 389)

Используется подключение типа ldap:/ с дополнительными ключами, включающими TLS : -Z и -ZZ. LDAP-сессия также шифруется с помощью SSL-сертификата, предоставляемого контроллером домена. Первичное подключение к контроллеру домена AD происходит по порту 389, затем создаётся отдельный защищённый TLS-туннель, внутри которого и происходит весь LDAP-обмен между клиентом и сервером. Используется настроенный нами ранее файл корневых сертификатов доменных ЦС.

$ ldapsearch -Z -v -x \ 
 -D "s-LDAP-Check-User@ad.holding.com" -w "PaZsw0rd" \
 -b "OU=Test Users,OU=KOM,DC=ad,DC=holding,DC=com" \ 
 -H "ldap://dc01.ad.holding.com" sAMAccountName=Test-User

Автор первичной редакции:
Алексей Максимов
Время публикации: 19.03.2017 18:04

Обсуждение

Ваш комментарий:
 

unix-linux/linux-cli-tools/openldap-ldap-client-check-connection-to-active-directory-domain-controller-with-ldapsearch.txt · Последние изменения: 19.03.2017 19:05 — Алексей Максимов