Skip to main content

Установка и конфигурирование

Агент синхронизации LDAP (LDAP Synchronization Agent, LSA) поставляется в виде готового образа контейнера Docker.

Чтобы установить и настроить агент, на каждой из машин с агентами синхронизации выполните следующее:

Установка и конфигурирование среды 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, в который нужно синхронизировать данные:

  1. Скопируйте файл config.ini в произвольный каталог на машине .

  2. В этом файле создайте новый раздел.

  3. Задайте его условное название в квадратных скобках. К примеру, это может быть имя виртуального сервера, к которому относится этот раздел.

  4. Включите синхронизацию LDAP для этого раздела и укажите имя сервера аутентификации:

    Правильно указанные значения
    enable = yes
    sas_address_1 = mfa.indeed-cloud.ru

Добавление реквизитов для верификации агента LDAP

Информацию от агентов LDAP принимает и записывает в базу данных сервиса MFA модуль синхронизации. Чтобы модуль синхронизации мог удостовериться, что к нему подключается легитимный агент, для каждого из разделов файла config.ini сделайте следующее:

  1. Войдите в консоль с учетными данными оператора виртуального сервера.
  2. Выберите сервер на вкладке Виртуальные серверы.
  3. Выберите вкладку второго ряда Настройки.
  4. Раскройте панель Настройки синхронизации LDAP.
  5. Скопируйте содержимое поля GUID и укажите как значение параметра guid в файле config.ini.
  6. Нажмите Скопировать ключ и укажите как значение параметра signature в файле config.ini.

Подключение к серверам каталога

Чтобы задать параметры подключения агента синхронизации LDAP к серверам каталога пользователей, для каждого из разделов файла config.ini выполните следующее:

  1. Установите, с какой периодичностью агент будет проверять наличие изменений:

    sync_timeout = 1440 
  2. В строку ldap_server1 впишите имя или IP-адрес сервера каталога:

    ldap_server1 = 10.0.0.7
  3. Если для синхронизации используется резервный сервер каталога, впишите его имя или IP-адрес в строку ldap_server2. Если не используется, то впишите произвольное значение:

    ldap_server2 = 10.0.0.8
  4. Укажите файл с описанием схемы LDAP, которую используют серверы каталога. Схемы по умолчанию — active_directory.map и freeipa.map:

    scheme = active_directory.map
  1. Если используется резервный сервер каталога, установите таймаут переключения на него (в секундах), если основной станет недоступен:

    ldap_timeout = 30
  2. Впишите номер порта для протокола LDAP:

    ldap_port = 636
  3. Укажите, использовать ли подключение LDAP через SSL (LDAPS):

    ldap_ssl = yes | no
  4. Введите логин служебной учетной записи, под которой агент подключается к серверам каталога, в формате Distinguished Name:

    login = CN=SyncUser,CN=ServiceUsers,DC=indeed,DC=local
  5. Укажите пароль этой учетной записи:

    password = $Password1
  6. Введите базу поиска в каталоге LDAP:

    search_base = CN=Users,DC=indeed,DC=local
  7. Задайте список синхронизируемых групп:

    groups = ["GROUP1","GROUP2","GROUP3"]
  8. Активируйте и задайте параметры подключения к 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

Чтобы проверить, что корневой сертификат находится в хранилище, сделайте следующее:

  1. Получите доступ к содержимому Docker-контейнера:

    docker exec -it <ID контейнера> bash
  2. Далее внутри контейнера выполните:

    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

Чтобы развернуть образ и запустить контейнер, сделайте следующее:

  1. Запустите сервис Docker:

    # systemctl start docker
  2. Разверните образ:

    # docker load -i lsa-1.12.050525.tar.gz
  3. Создайте и запустите контейнер, выбрав ему имя и указав пути к файлам конфигурации и, если используется, к сертификату:

  4. Запустите контейнер:

      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 должны быть идентичны.