Аутентификация через ALD Pro
Аутентификация через службы Astra Linux Directory Professional (ALD Pro) позволяет выполнять вход в веб-клиент ФинГрад без ввода логина и пароля.
При открытии веб-приложения ФинГрад выполняется автоматический вход под пользователем, к которому привязана текущая доменная учётная запись ALD Pro.
Подготовительные действия
Перед настройкой аутентификации в ФинГрад необходимо подготовить доменную инфраструктуру ALD Pro и компьютеры, участвующие в аутентификации.
Должны быть выполнены следующие условия:
- ALD Pro установлен и настроен, целевой домен создан и доступен;
- сервер, на котором запущен Docker-контейнер веб-приложения ФинГрад, включён в целевой домен;
- на сервере с Docker-контейнером веб-компонента ФинГрад и на клиентских компьютерах настроена синхронизация времени с контроллером домена (chrony);
- клиентские компьютеры пользователей включены в целевой домен;
- доменные учётные записи пользователей созданы и разблокированы;
- пользователи выполняют вход на клиентские компьютеры под своими доменными учётными записями.
Инструкция по развёртыванию ALD Pro приведена в Руководстве администратора ALD Pro, раздел "Развертывание контроллеров домена и подсистем".
Настройка DNS в ALD Pro
Для корректной работы Kerberos-аутентификации веб-приложение ФинГрад должно быть доступно по полному доменному имени (FQDN), а не по IP-адресу.
Например:
fingrad.ald.company.lan
На DNS-сервере ALD Pro необходимо убедиться, что для сервера, на котором запущен Docker-контейнер веб-компонента ФинГрад, настроены прямое и обратное разрешение имени.
Если необходимые DNS-записи были созданы автоматически при включении сервера в домен, повторно создавать их не требуется.
Для проверки или добавления DNS-записей в панели управления ALD Pro перейдите в раздел:
Роли и службы сайта -> Служба разрешения имен -> Зоны DNS
Создание A-записи
В прямой DNS-зоне домена должна присутствовать A-запись, связывающая имя сервера ФинГрад с его IPv4-адресом.
Если запись отсутствует, создайте её со следующими параметрами:
Имя записи– имя сервера;Тип записи–A;IP-адрес– IPv4-адрес сервера.
Пример для домена ald.company.lan:
Имя записи: fingrad
Тип записи: A
IP-адрес: 10.0.1.51
В результате полное доменное имя сервера будет иметь вид:
fingrad.ald.company.lan
Создание PTR-записи
В обратной DNS-зоне должна присутствовать PTR-запись, обеспечивающая обратное разрешение IP-адреса сервера в его полное доменное имя.
Если запись отсутствует, создайте её со следующими параметрами:
Имя записи– последний октет IP-адреса сервера;Тип записи–PTR;Имя узла– полное доменное имя (FQDN) сервера.
Формат имени записи приведён для обратной зоны /24. Для зон с другой маской имя записи содержит соответствующее число октетов в обратном порядке.
Пример:
Имя записи: 51
Тип записи: PTR
Имя узла: fingrad.ald.company.lan.
Дополнительная информация по настройке DNS приведена в Руководстве администратора ALD Pro, раздел "Дополнительные настройки DNS".
Настройка Kerberos для ФинГрад
Регистрация HTTP-службы и создание keytab-файла
Для работы Kerberos-аутентификации необходимо зарегистрировать HTTP-службу ФинГрад в ALD Pro и создать для неё keytab-файл.
В качестве имени службы используется FQDN веб-приложения ФинГрад, настроенный на предыдущем этапе.
Например:
fingrad.ald.company.lan
Если узел с указанным FQDN ещё не зарегистрирован в домене, добавьте его. Затем зарегистрируйте HTTP-службу и создайте keytab-файл:
Команды выполняются на контроллере домена ALD Pro или на любом компьютере, введённом в домен, под учётной записью администратора домена.
kinit admin
ipa host-add <FQDN_узла>
ipa service-add HTTP/<FQDN_узла>
sudo ipa-getkeytab -s <FQDN_контроллера_домена> -p HTTP/<FQDN_узла> -k <имя_файла>.keytab
Если сервер ФинГрад уже введён в домен и соответствующий узел существует, команду ipa host-add выполнять повторно не требуется.
Пример для домена ald.company.lan:
kinit admin
ipa host-add fingrad.ald.company.lan
ipa service-add HTTP/fingrad.ald.company.lan
sudo ipa-getkeytab -s dc-1.ald.company.lan -p HTTP/fingrad.ald.company.lan -k fingrad.keytab
Где:
<FQDN_узла>– полное доменное имя веб-приложения ФинГрад, напримерfingrad.ald.company.lan;<FQDN_контроллера_домена>– полное доменное имя контроллера ALD Pro, напримерdc-1.ald.company.lan;<имя_файла>– имя создаваемого keytab-файла, напримерfingrad.
Подготовка конфигурации Kerberos
На контроллере домена ALD Pro сделайте копию файла конфигурации Kerberos:
/etc/krb5.conf
В скопированном файле удалите строки, начинающиеся с includedir. В контейнере веб-компонента ФинГрад отсутствуют подключаемые каталоги конфигурации Kerberos, и их наличие в файле приводит к ошибке чтения конфигурации.
Оригинальный файл /etc/krb5.conf изменять не требуется.
Перенесите на сервер ФинГрад подготовленные файлы:
krb5.conf;fingrad.keytab.
Разместите файлы в рабочем каталоге конфигурации ФинГрад:
<рабочий_каталог>/config/krb5.conf
<рабочий_каталог>/config/fingrad.keytab
Где:
<рабочий_каталог>– каталог веб-компонента ФинГрад на целевой машине. Подробнее про рабочие каталоги см. Подготовка рабочих каталогов.
Keytab-файл содержит Kerberos-ключи службы, поэтому доступ к нему должен быть ограничен. При этом файл должен быть доступен на чтение пользователю, от имени которого работает процесс в контейнере веб-компонента ФинГрад.
Назначьте владельца и права доступа:
sudo chown 1654:1654 <рабочий_каталог>/config/fingrad.keytab
sudo chmod 600 <рабочий_каталог>/config/fingrad.keytab
Идентификатор 1654 соответствует пользователю app, от имени которого работает веб-компонент ФинГрад в контейнере.
Подключение Kerberos к веб-компоненту ФинГрад
Для подключения Kerberos-аутентификации необходимо добавить в конфигурацию Docker-контейнера веб-компонента ФинГрад файл конфигурации Kerberos и созданный keytab-файл.
Перед изменением конфигурации убедитесь, что на сервере веб-компонента ФинГрад размещены подготовленные ранее файлы:
<рабочий_каталог>/config/krb5.conf
<рабочий_каталог>/config/fingrad.keytab
Способ изменения конфигурации зависит от того, каким образом был создан Docker-контейнер веб-компонента ФинГрад.
Если контейнер создан через Docker Compose
Если Docker-контейнер веб-компонента ФинГрад ранее был создан с использованием файла docker-compose.yml, необходимо изменить существующий Compose-файл.
В конфигурацию сервиса веб-компонента ФинГрад добавьте параметры, необходимые для работы Kerberos:
Приведённые ниже параметры добавляются в уже существующие блоки environment и volumes сервиса. Создавать вторые блоки с теми же именами нельзя.
environment:
KRB5_CONFIG: /etc/krb5.conf
KRB5_KTNAME: /etc/fingrad.keytab
volumes:
- <рабочий_каталог>/config/krb5.conf:/etc/krb5.conf
- <рабочий_каталог>/config/fingrad.keytab:/etc/fingrad.keytab
Остальные существующие параметры сервиса, включая подключённые каталоги, порты, образ, политику перезапуска и другие настройки, изменять не требуется.
После изменения Compose-файла примените конфигурацию:
docker compose up -d <имя_сервиса>
Где:
<имя_сервиса>– имя сервиса веб-компонента ФинГрад, указанное в секцииservicesфайлаdocker-compose.yml.
Docker Compose пересоздаст контейнер веб-компонента ФинГрад с учётом изменённой конфигурации.
Если контейнер создан командой docker run
Если Docker Compose не используется и контейнер веб-компонента ФинГрад был создан командой docker run, его необходимо остановить и удалить:
docker stop <имя_контейнера>
docker rm <имя_контейнера>
Где:
<имя_контейнера>– имя Docker-контейнера веб-компонента ФинГрад.
Удаление контейнера не удаляет данные, расположенные в подключённых рабочих каталогах на сервере.
Создайте контейнер повторно командой из раздела Запуск веб-приложения, добавив к ней параметры Kerberos:
--env 'KRB5_CONFIG=/etc/krb5.conf' \
--env 'KRB5_KTNAME=/etc/fingrad.keytab' \
-v <рабочий_каталог>/config/krb5.conf:/etc/krb5.conf \
-v <рабочий_каталог>/config/fingrad.keytab:/etc/fingrad.keytab
Остальные параметры команды, включая подключённые каталоги, порты, образ и политику перезапуска, должны совпадать с теми, которые использовались при первоначальном создании контейнера.
Настройка домена в ФинГрад
Названия пункта меню и части полей унаследованы от интеграции с MS Active Directory и применяются также к доменам ALD Pro.
Запустите десктопное приложение ФинГрад и перейдите в раздел:
Настройки -> Пользователи и группы -> Общие настройки -> Настройки Active Directory
Откроется окно Настройки доменов. Для каждого используемого домена необходимо добавить отдельную конфигурацию подключения.
Для добавления домена:
- Нажмите кнопку
Добавить. - Заполните параметры подключения к домену.
- В поле
Тип службы каталоговвыберитеAldPro. - Нажмите
Проверить настройкии убедитесь, что проверка выполнена успешно. - Нажмите
ОКдля сохранения настроек.
Параметры подключения:
Имя домена– имя домена, используемое в конфигурации ФинГрад. Например:ALD.Полное имя домена– полное DNS-имя домена ALD Pro. Например:ald.company.lan.Базовый путь для поиска– LDAP-путь к каталогу, в котором выполняется поиск пользователей. Для стандартной структуры ALD Pro, например:cn=users,cn=accounts,dc=ald,dc=company,dc=lan.Использовать защищенное соединение– определяет использование защищённого соединения с сервером каталогов. Параметр необходимо устанавливать в соответствии с настройками LDAP/LDAPS в целевом домене.Адрес Domain Controller– DNS-имя контроллера домена ALD Pro. Например:dc-1.ald.company.lan.Имя технической учётной записи– логин технической учётной записи, используемой ФинГрад для подключения к службе каталогов. Например:svc_fingrad.Тип службы каталогов– для интеграции с ALD Pro необходимо выбрать значениеAldPro.Пароль технической учётной записи– пароль указанной технической учётной записи.DN группы Active Directory– LDAP DN группы пользователей, если необходимо ограничить поиск пользователей определённой группой. Например:cn=fingrad-users,cn=groups,cn=accounts,dc=ald,dc=company,dc=lan. Если ограничение по группе не требуется, поле можно оставить пустым.
Пример конфигурации для домена ald.company.lan:
- Имя домена:
ALD - Полное имя домена:
ald.company.lan - Базовый путь для поиска:
cn=users,cn=accounts,dc=ald,dc=company,dc=lan - Адрес Domain Controller:
dc-1.ald.company.lan - Имя технической учётной записи:
<логин_технической_учётной_записи> - Тип службы каталогов:
AldPro - Пароль технической учётной записи:
<пароль_технической_учётной_записи> - DN группы Active Directory: не указывается, если фильтрация по группе не требуется

Значения приведены в качестве примера. При настройке необходимо использовать параметры целевого домена ALD Pro.
Привязка учётной записи ALD Pro к пользователю ФинГрад
Откройте настройки пользователя в настольном клиенте ФинГрад.
В поле Пользователь Windows выберите учётную запись пользователя ALD Pro и сохраните изменения.

Настройка браузеров
Автоматический вход выполняется по протоколу Kerberos (механизм Negotiate). Браузер передаёт Kerberos-билет только тем узлам, которые входят в список доверенных. Если адрес веб-приложения ФинГрад не входит в доверенную зону, автоматический вход через ALD Pro будет недоступен.
Настройка выполняется файлами политик браузеров. В приведённых примерах используется доменная зона ald.company.lan, при настройке необходимо указать зону целевого домена.
Браузеры на базе Chromium
Настройка применима к Chromium и Яндекс.Браузеру.
Файл политик располагается по следующим путям:
- Chromium:
/etc/chromium/policies/managed/policies.json - Яндекс.Браузер:
/etc/opt/yandex/browser/policies/managed/policies.json
Если каталог отсутствует, создайте его. Например, для Chromium:
sudo mkdir -p /etc/chromium/policies/managed/
Создайте файл политик или дополните существующий:
{
"AuthServerAllowlist": "*.ald.company.lan",
"AuthNegotiateDelegateAllowlist": "*.ald.company.lan"
}
Где:
AuthServerAllowlist– узлы, для которых разрешена аутентификация по протоколу Kerberos;AuthNegotiateDelegateAllowlist– узлы, которым разрешено делегирование прав по протоколу Kerberos.
Несколько значений указываются через запятую в одной строке.
Перезапустите браузер. Применённые политики отображаются по адресу chrome://policy для Chromium и browser://policy для Яндекс.Браузера.
Firefox
Файл политик располагается по пути:
/etc/firefox/policies/policies.json
Если каталог отсутствует, создайте его:
sudo mkdir -p /etc/firefox/policies/
Создайте файл политик или дополните существующий:
{
"policies": {
"Authentication": {
"SPNEGO": ["ald.company.lan"],
"Delegated": ["ald.company.lan"]
}
}
}
Где:
SPNEGO– узлы, для которых разрешена аутентификация по протоколу Kerberos;Delegated– узлы, которым разрешено делегирование прав по протоколу Kerberos.
Значение задаётся именем домена или доменной зоны, несколько значений перечисляются элементами массива.
Перезапустите браузер. Применённые политики отображаются по адресу about:policies.
Централизованная настройка
В доменной среде параметры браузеров рекомендуется распространять групповыми политиками ALD Pro, а не задавать вручную на каждом компьютере. Подробнее см. Руководство администратора ALD Pro, раздел "Управление доменом".
Вход через ALD Pro
Для входа через ALD Pro веб-приложение ФинГрад необходимо открывать по доменному имени, настроенному для Kerberos-аутентификации, а не по IP-адресу.
Пример:
https://fingrad.ald.company.lan
Для автоматического входа (SSO) добавьте к адресу параметр ?sso=1:
https://fingrad.ald.company.lan/?sso=1
Также SSO-вход может быть инициирован при попытке авторизации с пустыми полями имени пользователя и пароля.
При ручном входе с использованием доменной учётной записи можно использовать один из следующих форматов имени пользователя:
домен\имя_пользователя
или:
имя_пользователя@домен