Настройка переменных окружения
Формат имени пользователя
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) можно указать как отдельно идентификатор провайдера второго фактора, так и идентификатор для всей цепочки многофакторной аутентификации.
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:
В каталог common_certs добавьте клиентский сертификат (в формате .cer или .crt) и приватный ключ сертификата (в формате .key или .pem).
Настройте права владельца файла с сертификатом для пользователя, указанного в переменных окружения
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-серверу.