Настройка LDAP-соединения по протоколу SSL

<< Click to Display Table of Contents >>

Настройка LDAP-соединения по протоколу SSL

Для чтения и записи в Active Directory используется протокол LDAP. По умолчанию LDAP-соединение не защищено. Применение протокола SSL позволяет сделать подключение по LDAP конфиденциальным и безопасным. Чтобы активировать LDAP через SSL (LDAPS), необходимо установить сертификат центра сертификации (CA) на LDAP-сервере и настроить клиент-серверное соединение на работу по протоколу LDAPS. Сертификат должен быть выпущен центром сертификации, которому доверяют и контроллер домена, и клиенты LDAPS.

При подключении к LDAP-серверу через безопасное соединение следует указывать FQDN (полное доменное имя) LDAP-сервера, например, dc-01.dom.local

При безопасном соединении сервер и клиент обмениваются сертификатами, а учетные данные для подключения и данные, полученные от LDAP-сервера, передаются в шифрованном виде.

Пример настройки подключения для контроллера домена MS Active Directory приведено ниже.

Настройка LDAPS-подключения на стороне сервера LDAP

1.Для активации LDAPS нужно установить сертификат безопасности.

Если в домене используется Центр сертификации, то с помощью него необходимо выпустить сертификат для LDAP-сервера, к которому требуется подключение по протоколу LDAPS, и выполнить следующие действия:

1.1. Установите выпущенный сертификат на сервер в раздел ЛичноеСертификаты.

1.2. Установите корневой сертификат центра сертификации (CA) в раздел Доверенные корневые центры сертификации на сервере LDAP и на клиентах LDAPS, чтобы они доверяли сертификатам, выпущенным этим CA.

Если Центр сертификации не используется, то необходимо сгенерировать самоподписанный сертификат.

1.1. Для создания сертификата можно воспользоваться командной строкой Powershell, вызванной от имени администратора. Используя Powershell, выполните следующую команду:

New-SelfSignedCertificate -DnsName dc-01.dom.local, dc-01 -CertStoreLocation cert:\LocalMachine\My

1.2. Откройте хранилище сертификатов certlm.msc и скопируйте созданный сертификат из раздела ЛичноеСертификаты в раздел Доверенные корневые центры сертификации.

2.Проверьте работу LDAPS следующим образом:

2.1. Запустите на контроллере домена утилиту ldp.exe.

2.2. Откройте меню ConnectionConnect.

2.3. Введите полное доменное имя сервера LDAP (например, dc-01.dom.local), укажите порт 636, включите опцию SSL.

Для установки сертификата на других ОС необходимо, используя диспетчер управления сертификатами (certmgr.exe), экспортировать сертификат в виде файла X.509 в кодировке Base64 и сохранить его в каталог, доступный по сети. Файл можно назвать dc-01.dom.local-base64.cer.

Настройка LDAPS-подключения на стороне клиентов и рядовых серверов

ОС Windows

1.Для проверки подключения по протоколам LDAP и LDAPS можно использовать утилиту ldp.exe. Изначально ldp.exe недоступна на Windows 10, поэтому требуется установить RSAT (Средства удаленного администрирования сервера).

2.Для проверки состояния компонентов RSAT выполните команду:

Get-WindowsCapability -Name RSAT* -Online | Select-Object -Property State,Name,DisplayName | Format-Table -AutoSize

3.Установите нужный компонент RSAT с помощью команды:

Add-WindowsCapability -Online -Name  Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

4.Проверьте работу утилиты:

4.1. Откройте меню ConnectionConnect.

4.2. Введите полное доменное имя сервера LDAP (например, dc-01.dom.local).

4.3. Для подключения по протоколу LDAP укажите порт 389, для защищенного подключения LDAPS — порт 636, включите опцию SSL.

ОС Linux

Для подключения к LDAP-серверу используется утилита ldapsearch. Она устанавливается в составе пакета ldap-utils и позволяет подключаться по протоколам LDAP и LDAPS.

Используя утилиту, выполните следующую команду:

ldapsearch -LLL -H ldap://dc-01.dom.local -x -D user@dom -w "pasword" -b "dc=dom,dc=local" "(&(objectCategory=person)(objectClass=user))"

Для шифрованного соединения требуется добавить сертификат LDAP-сервера в список доверенных.

Для РЕД ОС и ALT Linux

1.Скопируйте корневой сертификат на компьютер под управлением ОС Linux при помощи следующих команд:

mkdir /etc/openldap/certs

smbclient '//dc-01.dom.local/certs' -U user@dom.local -c "get dc-01.dom.local-base64.cer /etc/openldap/certs/dc-01.dom.local.cer" -m SMB2

2.Укажите путь до сертификата в файле с настройками ldap.conf:

echo "TLS_CACERT      /etc/openldap/certs/dc-01.dom.local.cer" >> /etc/openldap/ldap.conf

Для Astra Linux

1.Установите пакет libldap-common:

sudo apt install libldap-common

2.Скопируйте корневой сертификат на компьютер под управлением ОС Linux при помощи следующих команд:

mkdir /etc/ldap/certs

smbclient '//dc-01.dom.local/certs' -U user@dom.local -c "get dc-01.dom.local-base64.cer /etc/ldap/certs/dc-01.dom.local.cer" -m SMB2

3.Укажите путь до сертификата в файле с настройками ldap.conf:

echo "TLS_CACERT      /etc/ldap/certs/dc-01.dom.local.cer" >> /etc/ldap/ldap.conf

Примеры LDAP-запросов к серверу:

ldapsearch -LLL -H ldaps://dc-01.dom.local -x -D user@dom -w "pasword" -b "dc=dom,dc=local" "(&(objectCategory=person)(objectClass=user))"

ldapsearch -x -H ldaps://dc-01.dom.local -D "user@dom.local" -w "1234567" -b "dc=dom,dc=local" "(&(objectCategory=person)(objectClass=user))" "displayname"