Утилита 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):



Проверка подключения по протоколу 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