(KSMG-2.0) Ограничение списка LDAP-серверов через подмену DNS-записей
(KSMG-2.0) Ограничение списка LDAP-серверов через
подмену DNS-записей
Общая информация
При настройке подключения к LDAP-серверу вы указываете кейтаб-файл, который содержит в себе имя пользователя (Principal name) и
секретный ключ для аутентификации. Перед тем, как выполнить подключение, вычисляется имя домена Active Directory на основе доменной
части имени пользователя в кейтабе. Например, для пользователя username@EXAMPLE.COM именем домена является example.com. Далее,
выполняется запрос к DNS-серверу для получения SRV-записей для Kerberos и LDAP, соответствующих данному домену. На основе ответа DNS-
сервера формируется список серверов (контроллеров домена) для подключения.
Используемые SRV-записи приведены в таблице ниже (домен example.com приведен для примера):
SRV-запись Описание
_kerberos._udp.example.com
_kerberos._tcp.example.com
Список серверов, отвечающих за выписку ключей
по протоколу Kerberos для данного домена
_ldap._tcp.example.com Список серверов LDAP, обслуживающих данный домен
Полученный список сортируется на основе приоритета SRV-записей, записи с одинаковым приоритетом упорядочиваются по принципу round
robin. Далее происходит последовательный перебор серверов из списка до тех пор, пока не будет произведено успешное подключение. Таким
образом, в случае нескольких контроллеров домена, обеспечивается отказоустойчивость и равномерное распределение нагрузки между ними.
В случае географически распределенной инфраструктуры Active Directory с большим количеством контроллеров домена, часть из них может
быть недоступна из сегмента сети, к которому подключен узел кластера Kaspersky Secure Mail Gateway. Это может привести как к периодическим
ошибкам, так и к полной невозможности обновить кэш данных LDAP на данном узле кластера.
Для решения проблемы необходимо явно указать список контроллеров Active Directory, с которыми обеспечивается надежная связь из данного
сегмента сети. Ниже описан вариант решения через подмену DNS-записей.
Процедура настройки списка доступных LDAP-серверов
Чтобы настроить локальный DNS-сервер с подменой SRV-записей на узле кластера Kaspersky Secure Mail Gateway, выполните следующую
процедуру:
1) Подключитесь к узлу кластера по SSH, чтобы получить доступ к режиму технической поддержки.
2) Для установки пакетов требуется доступ в интернет. В случае, если доступ осуществляется через прокси-сервер, выполните команды:
Анонимный прокси-сервер, без указания имени пользователя и пароля (вместо proxy.example.com:8080 укажите адрес и номер
порта вашего прокси-сервера):
set +o history
export http_proxy=http://proxy.example.com:8080
export https_proxy=$http_proxy
set -o history
Прокси-сервер с указанием имени пользователя и пароля (вместо proxy.example.com:8080 укажите адрес и номер порта вашего
прокси-сервера, вместо username и password укажите имя пользователя и пароль пользователя для доступа к прокси-серверу,
соответственно):
set +o history
export http_proxy=http://username:password@proxy.example.com:8080
export https_proxy=$http_proxy
set -o history
3) Установите пакет dnsmasq при помощи команды:
yum --enablerepo base -y install dnsmasq
4) Переименуйте базовый конфигурационный файл:
mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
5) Посмотрите, какие IP-адреса DNS-серверов используется в системе на текущий момент (их нужно будет далее указать в
конфигурационном файле dnsmasq):
cat /etc/resolv.conf
6) Создайте новый конфигурационный файл /etc/dnsmasq.conf следующего содержания (в директиве domain укажите ваш DNS-домен, в
директивах server укажите IP-адреса ваших DNS-серверов):
listen-address=127.0.0.1
interface=lo
bind-interfaces
port=53
domain=example.com
domain-needed
no-resolv
no-hosts
server=10.0.1.1
server=10.0.2.2
cache-size=1000
conf-dir=/etc/dnsmasq.d
7) Запустите сервис dnsmasq, затем проверьте его статус, он должен быть running:
systemctl enable dnsmasq
systemctl start dnsmasq
systemctl status dnsmasq
8) Измените адрес системного DNS-сервера на 127.0.0.1 при помощи команд:
ram input resolver
ram apply resolver
9) Проверьте, что адрес 127.0.0.1 установлен в качестве адреса системного DNS-сервера и разрешение доменных имен работает
корректно:
cat /etc/resolv.conf
host google.com
10) Получите список доменных контроллеров при помощи команды (вместо example.com укажите имя вашего домена Active Directory):
host -t SRV _ldap._tcp.example.com
11) Выберите те доменные контроллеры, которые доступны из этого сегмента сети и которые вы хотите использовать для LDAP-
подключения, например:
dc01.example.com
dc02.example.com
dc03.example.com
12) Создайте файл /etc/dnsmasq.d/ldap-domain1.conf со следующим содержимым (вместо example.com укажите имя вашего домена
Active Directory, вместо dc01.example.com, dc02.example.com, dc03.example.com укажите доменные имена выбранных контроллеров
домена):
srv-host=_kerberos._udp.example.com, dc01.example.com, 88, 100
srv-host=_kerberos._udp.example.com, dc02.example.com, 88, 100
srv-host=_kerberos._udp.example.com, dc03.example.com, 88, 100
srv-host=_kerberos._tcp.example.com, dc01.example.com, 88, 100
srv-host=_kerberos._tcp.example.com, dc02.example.com, 88, 100
srv-host=_kerberos._tcp.example.com, dc03.example.com, 88, 100
srv-host=_ldap._tcp.example.com, dc01.example.com, 389, 100
srv-host=_ldap._tcp.example.com, dc02.example.com, 389, 100
srv-host=_ldap._tcp.example.com, dc03.example.com, 389, 100
13) Если у вас несколько доменов Active Directory, повторите для каждого домена шаги 9-11. SRV-записи разных доменов необходимо
размещать в отдельных конфигурационных файлах в директории /etc/dnsmasq.d (ldap-domain1.conf, ldap-domain2.conf и т.д.)
14) Перезапустите сервис dnsmasq, после чего проверьте статус сервиса, он должен быть running:
systemctl restart dnsmasq
systemctl status dnsmasq
15) Проверьте корректность определения SRV-записей (вместо example.com укажите имя вашего домена Active Directory):
host -t SRV _kerberos._udp.example.com
host -t SRV _kerberos._tcp.example.com
host -t SRV _ldap._tcp.example.com
На этом процедура ограничения списка доступных LDAP-серверов завершена. Процедуру необходимо повторить на каждом узле кластера
Kaspersky Secure Mail Gateway.
Комментарии
Отправить комментарий