Перейти к основному содержимому
Версия: Indeed Access Manager 9.3

Настройка переменных окружения

Формат имени пользователя

User Principal Name

User Principal Name (UPN) — имя для входа пользователя в формате email адреса, например user@indeed.domain. UPN-имя используется во FreeRADIUS Extension по умолчанию.

SAM Account Name

SAM Account Name — имя для входа пользователя без суффиксов и префиксов, например username. Для обработки имени формата SAM Account Name используются две переменные окружения:

  • DEFAULT_DOMAIN_NAME — содержит имя домена, которое добавляется к имени пользователя в виде суффикса. Таким образом создается имя пользователя в формате UPN. Имя в формате UPN используется для запросов к серверам LDAP и AM. Эта переменная имеет приоритет над DEFAULT_NETBIOS_NAME.
  • DEFAULT_NETBIOS_NAME — содержит NetBIOS-имя сервера AD, которое добавляется к имени пользователя в виде префикса. Таким образом создается имя пользователя в формате Down-Level Logon Name.

Down-Level Logon Name

Down-Level Logon Name — формат имени входа, используемый для указания домена и учетной записи пользователя в этом домене, например INDEED\user. Используется для запросов к АМ-серверу.

Примечание

Чтобы использовать формат имени INDEED\user для запросов к LDAP-серверу, необходимо настроить переменную LDAP_NETBIOS_NAME.

Настройка сообщения при запросе второго фактора

При запросе второго фактора многофакторной аутентификации для пользователя выводится сообщение по умолчанию — Enter the second factor («Введите второй фактор»). Чтобы изменить сообщение, задайте переменную окружения default_prompt_2fa.

Также можно задать отдельное сообщение для конкретного провайдера. Для этого настройте переменную окружения prompt_2fa_<идентификатор провайдера с нижними подчеркиваниями, вместо тире>. Настройка сообщения для конкретного провайдера имеет приоритет над переменной окружения default_prompt_2fa.

Идентификатор провайдера в переменной задается либо только в нижнем, либо только в верхнем регистре. Например, для провайдера Software OTP переменная окружения может выглядеть prompt_2fa_7e87866d_1b9b_45a1_961e_bc48697f0020 или prompt_2fa_7E87866D_1B9B_45A1_961E_BC48697F0020.

Для следующих методов многофакторной аутентификации (MFA) можно указать как отдельно идентификатор провайдера второго фактора, так и идентификатор для всей цепочки многофакторной аутентификации.

Идентификатор для цепочки MFA
2FA: Passcode + Indeed Key (OTP) — e5d3185c-9a13-4538-be8f-d4e1c50a329e
2FA: Passcode + Secured TOTP — 882c1787-fd32-44a2-ba89-f1f529fbe7ab
2FA: Passcode + SMS OTP — 4e32199b-9a21-4cd7-8646-c70c48b55ed9
2FA: Passcode + Software TOTP — cb3d3b0a-29c6-4ba4-939d-09b126c10c2e

Настройка клиентского сертификата

По умолчанию используется встроенный клиентский сертификат, если в файле .env отсутствуют переменные окружения INDEED_AM_CLIENT_CERT и INDEED_AM_CLIENT_KEY_CERT.

Важно

Для повышения безопасности рекомендуется использовать собственный клиентский сертификат.

Чтобы настроить собственный клиентский сертификат на стороне FreeRADIUS:

  1. В каталог common_certs добавьте клиентский сертификат (в формате .cer или .crt) и приватный ключ сертификата (в формате .key или .pem).

  2. Настройте права владельца файла с сертификатом для пользователя, указанного в переменных окружения RAD_UID и RAD_GID в файле .env для FreeRADIUS.

    sudo chown <RAD_UID:RAD_GID> * 755 

Кеширование запросов к Core Server

Некоторые запросы к Core Server могут кешироваться:

  • /api/v6/module/getApplicationsDAL
  • /api/v6/user/searchUserId
  • /api/v6/logon/getAvailableMethods
  • /api/v6/authenticationMethod/getEffectiveClientSettings

Вызов getApplicationsDAL кешируется глобально для всех независимых запросов к FreeRADIUS. Время кеширования определяется переменной AM_CACHE_LIFETIME_SEC и равно по умолчанию 600 секунд. Если для AM_CACHE_LIFETIME_SEC задать значение 0 секунд, то кеширование не производится.

Для вызовов searchUserId, getAvailableMethods и getEffectiveClientSettings настройка AM_CACHE_LIFETIME_SEC не действует, кеширование происходит в рамках сессии всегда:

  • внутри сессии многофакторной аутентификации со вторым фактором в виде OTP (challenge-response);
  • внутри сессии многофакторной аутентификации со вторым фактором в виде push-уведомления;
  • внутри обработчика запроса FreeRADIUS — запрос на доступ (access-request) выполняется один раз, при необходимости данные запроса берутся из кеша.

Настройка LDAP-сервера

Настройте LDAP-сервер, если вы планируете использовать доменный пароль в качестве первого фактора аутентификации. LDAP-сервер используется для проверки первого фактора.

Чтобы настроить LDAP-сервер, откройте файл .env с переменными окружения и добавьте или раскомментируйте переменные LDAP*. Если переменные LDAP* не заданы, проверка первого фактора осуществляется на Core Server.

Подробнее о настройке в Management Console — в разделе Настройка политик.

Настройка одного LDAP-сервера

Настройка одного LDAP-сервера

Чтобы настроить LDAP-сервер, необходимо в файле .env раскомментировать переменные LDAP* и задать для них значения:

  • LDAP_SERVER — IP-адрес LDAP-сервера;
  • LDAP_PORT — порт AD-сервера;
  • LDAP_IDENTITY — учетная запись AD в формате значения атрибута distinguishedName;
  • LDAP_PASSWORD — пароль к этой учетной записи;
  • LDAP_BASE_DN — каталог пользователей AD в формате значения атрибута distinguishedName, с которыми будет взаимодействие.

Чтобы настроить подключение по защищенному ldaps-соединению, задайте переменную LDAP_CERT, указав для нее название файла сертификата. В этом сценарии необходимо оставить значение по умолчанию для переменной LDAP_PORT — 636.

Чтобы добавить возможность входа пользователя с использованием NetBIOS имени LDAP-сервера, задайте переменную окружения LDAP_NETBIOS_NAME.

Пример
LDAP_SERVER=ldaps://dc.example.com
LDAP_PORT=636
LDAP_IDENTITY=cn=Администратор,cn=users,dc=example,dc=com
LDAP_PASSWORD=12345
LDAP_BASE_DN=cn=users,dc=example,dc=com
LDAP_CERT=example.crt
LDAP_NETBIOS_NAME=EXAMPLE
Настройка нескольких LDAP-серверов (в одном домене)

Настройка нескольких LDAP-серверов (в одном домене)

Чтобы настроить несколько LDAP-серверов, которые находятся в одном домене, в переменной LDAP_SERVER перечислите через пробел IP-адреса LDAP-серверов, например:

LDAP_SERVER=dc1.example.com dc2.example.com dc3.example.com
Настройка нескольких LDAP-серверов (в разных доменах)

Настройка нескольких LDAP-серверов (в разных доменах)

Чтобы настроить несколько LDAP-серверов, необходимо к наименованию LDAP добавить индекс (номер очередного сервера), например: LDAP_SERVER, LDAP1_SERVER, LDAP2_SERVER. Переменная LDAP_SERVER без номера в названии также является валидной переменной.

Информация

Все переменные, соответствующие LDAP-серверу, задаются с таким же индексом.

Пример
LDAP1_SERVER=ldaps://dc.example.com
LDAP1_PORT=636
LDAP1_IDENTITY=cn=Администратор,cn=users,dc=example,dc=com
LDAP1_PASSWORD=12345
LDAP1_BASE_DN=cn=users,dc=example,dc=com
LDAP1_CERT=example.crt
LDAP1_NETBIOS_NAME=EXAMPLE

Для нескольких LDAP-серверов необходимо задать значения всех доменов. Значения задаются в одну строку через пробел, например:

LDAP1_DOMAIN_NAME=example.com test.com example.org

Если задано несколько LDAP-серверов, то выбор LDAP-сервера осуществляется в соответствии со значениями LDAPN_NETBIOS_NAME и LDAPN_DOMAIN_NAME. Поэтому обязательно должно быть указано либо доменное имя, либо NetBIOS-имя.

Количество LDAP-серверов можно задать переменной окружения MAX_LDAP_SERVER. MAX_LDAP_SERVER влияет только на переменные LDAP_SERVER с индексами. LDAP_SERVER (название без индекса) можно задать при значении MAX_LDAP_SERVER=0.

Настройка стартовых потоков в пуле соединений

Стартовые потоки — это предварительно созданные соединения с LDAP-сервером. Они позволяют ускорить обработку запросов.

Чтобы задать количество стартовых потоков в пуле соединений c LDAP-серверами при запуске контейнера, настройте переменную LDAP_START_SERVERS. Необходимое количество потоков зависит от пропускной способности сети при соединении FreeRADIUS с LDAP-серверами.

Значение по умолчанию: 5 потоков.

Диапазон значений: от 0 до 64.

  • Если установить значение больше 0, то успешное подключение возможно, только если все LDAP-серверы доступны. При этом приложение успешно запустится и все запросы аутентификации или авторизации завершатся успешно.
  • Если установить значение 0, то успешное подключение возможно, даже если один из LDAP-серверов недоступен, однако при этом:
    • предварительные соединения не будут созданы, что замедлит обработку запросов;
    • все запросы аутентификации или авторизации завершатся неудачей, если FreeRADIUS не сможет подключиться хотя бы к одному LDAP-серверу.