Установка и конфигурирование
Агент синхронизации LDAP (LDAP Synchronization Agent, LSA) поставляется в виде готового образа контейнера Docker.
Чтобы установить и настроить агент, на каждой из машин с агентами синхронизации выполните следующее:
- установите и сконфигурируйте Docker Engine;
- скопируйте файлы конфигурации на машину, где будет запускаться контейнер с агентом, и задайте параметры подключения к серверу аутентификации;
- добавьте реквизиты для верификации агента;
- задайте параметры подключения к серверам каталога;
- создайте и запустите контейнер с агентом;
- установите корневой сертификат серверов аутентификации (это необязательная настройка).
Установка и конфигурирование среды Docker
Перед развертыванием агента на машину установите Docker Engine, запустите и добавьте машину в автозагрузку. Может потребоваться предварительно подключить и обновить репозитории, детальные инструкции по подключению и обновлению репозиториев с Docker Engine для разных дистрибутивов Linux на веб-сайте вендора.
yum install docker-ce docker-ce-cli (для RedHat-совместимых дистрибутивов)
или
apt install -y docker.io (для Debian-совместимых дистрибутивов)
systemctl start docker
systemctl enable --now docker
Подключение к серверу аутентификации
Чтобы задать параметры подключения агента синхронизации к сервису MFA, в который нужно синхронизировать данные:
Скопируйте файл config.ini в произвольный каталог на машине .
В этом файле создайте новый раздел.
Задайте его условное название в квадратных скобках. К примеру, это может быть имя виртуального сервера, к которому относится этот раздел.
Включите синхронизацию LDAP для этого раздела и укажите имя сервера аутентификации:
Правильно указанные значенияenable = yes
sas_address_1 = mfa.indeed-cloud.ru
Добавление реквизитов для верификации агента LDAP
Информацию от агентов LDAP принимает и записывает в базу данных сервиса MFA модуль синхронизации. Чтобы модуль синхронизации мог удостовериться, что к нему подключается легитимный агент, для каждого из разделов файла config.ini сделайте следующее:
- Войдите в консоль с учетными данными оператора виртуального сервера.
- Выберите сервер на вкладке Виртуальные серверы.
- Выберите вкладку второго ряда Настройки.
- Раскройте панель Настройки синхронизации LDAP.
- Скопируйте содержимое поля GUID и укажите как значение параметра
guidв файле config.ini. - Нажмите Скопировать ключ и укажите как значение параметра
signatureв файле config.ini.
Подключение к серверам каталога
Чтобы задать параметры подключения агента синхронизации LDAP к серверам каталога пользователей, для каждого из разделов файла config.ini выполните следующее:
Установите, с какой периодичностью агент будет проверять наличие изменений:
sync_timeout = 1440В строку
ldap_server1впишите имя или IP-адрес сервера каталога:ldap_server1 = 10.0.0.7Если для синхронизации используется резервный сервер каталога, впишите его имя или IP-адрес в строку
ldap_server2. Если не используется, то впишите произвольное значение:ldap_server2 = 10.0.0.8Укажите файл с описанием схемы LDAP, которую используют серверы каталога. Схемы по умолчанию —
active_directory.mapиfreeipa.map:scheme = active_directory.map
Если используется резервный сервер каталога, установите таймаут переключения на него (в секундах), если основной станет недоступен:
ldap_timeout = 30Впишите номер порта для протокола LDAP:
ldap_port = 636Укажите, использовать ли подключение LDAP через SSL (LDAPS):
ldap_ssl = yes | noВведите логин служебной учетной записи, под которой агент подключается к серверам каталога, в формате Distinguished Name:
login = CN=SyncUser,CN=ServiceUsers,DC=indeed,DC=localУкажите пароль этой учетной записи:
password = $Password1Введите базу поиска в каталоге LDAP:
search_base = CN=Users,DC=indeed,DC=localЗадайте список синхронизируемых групп:
groups = ["GROUP1","GROUP2","GROUP3"]Активируйте и задайте параметры подключения к syslog-серверу, если необходимо отправлять сообщения о доступности сервера аутентификации и серверов LDAP:
# Enable syslog
syslog_enable = yes | no
# First address of syslog server
syslog_address_1 = 10.0.0.3
# First port of syslog server
syslog_port_1 = 514
# Second address of syslog server
syslog_address_2 = 10.0.0.4
# Second port of syslog server
syslog_port_2 = 514
Установка корневого сертификата сервера аутентификации
Чтобы агент синхронизации LDAP мог проверять подлинность сервера аутентификации, установите в контейнер агента корневой сертификат удостоверяющего центра в локальное хранилище сертификатов.
Это необязательная настройка.
Для этого при создании Docker-контейнера сделайте сопоставление:
-v /home/lsa/lsa01/R3.crt:/usr/local/share/ca-certificates/R3.crt
где R3.crt – корневой сертификат.
Таким образом, команда развертывания образа будет иметь следующий вид:
docker run -d --network host --name lsa --restart always \
-e TZ=Europe/Moscow
-v /opt/indeed/lsa/data/:/opt/lsa/data \
-v /opt/indeed/lsa/config.ini:/opt/lsa/config.ini \
-v /opt/indeed/lsa/active_directory.map:/opt/lsa/active_directory.map
[-v /opt/indeed/lsa/R3.crt:/usr/local/share/ca-certificates/R3.crt]
-t lsa:1.12.050525
Чтобы проверить, что корневой сертификат находится в хранилище, сделайте следующее:
Получите доступ к содержимому Docker-контейнера:
docker exec -it <ID контейнера> bashДалее внутри контейнера выполните:
awk -v cmd='openssl x509 -noout -subject' '/BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt
Для использования локального хранилища сертификатов задайте параметр:
verify_ssl = yes
Для отключения проверки подлинности SSL-сертификата задайте параметр:
verify_ssl = no
Развертывание образа, создание и запуск контейнера LDAP
Чтобы развернуть образ и запустить контейнер, сделайте следующее:
Запустите сервис Docker:
# systemctl start dockerРазверните образ:
# docker load -i lsa-1.12.050525.tar.gzСоздайте и запустите контейнер, выбрав ему имя и указав пути к файлам конфигурации и, если используется, к сертификату:
Запустите контейнер:
docker run -d --network host --name lsa --restart always \
-e TZ=Europe/Moscow \
-e TZ=Europe/Moscow
-v /opt/indeed/lsa/data/:/opt/lsa/data \
-v /opt/indeed/lsa/config.ini:/opt/lsa/config.ini \
-v /opt/indeed/lsa/active_directory.map:/opt/lsa/active_directory.map
[-v /opt/indeed/lsa/R3.crt:/usr/local/share/ca-certificates/R3.crt]
-t lsa:1.12.050525
Чтобы обеспечить отказоустойчивость в случае отсутствия соединения с агентом синхронизации, вы можете развернуть несколько агентов. Для этого повторите ранее описанные процедуры. При этом необходимо использовать файл конфигурации, который будет ссылаться на одни и те же синхронизируемые объекты, то есть параметры base_search, groups должны быть идентичны.