Общие сведения
Kerberos – это один из методов двухфакторной/многофакторной аутентификации на базе специализированного сетевого протокола аутентификации Kerberos, для обеспечения безопасности использующего криптографию с симметричными ключами.
Avanpost FAM поддерживает аутентификацию посредством механизма Kerberos в приложения, подключенные посредством следующих интеграционных механизмов и компонентов:
Подключение Kerberos-аутентификации через Microsoft Active Directory
Общие сведения
- Сервисное имя, указываемые при выпуске keytab-файла (файл, содержащий пару значений «имя пользователя и ключ»/«принципал и секрет» и использующийся для автоматической аутентификации без необходимости ввода пароля):
HTTP/base_url
(параметрbase_url
берется из конфигурационного файла Avanpost FAM Server). Пример сервисного имени:HTTP/idp.avanpost.local
. - В билете (ticket), направляемом клиентом серверу Avanpost FAM, содержится информация о пользователе в формате domain\user. Например, в MS AD эти поля соответствуют значению User logon name (pre-Windows 2000):
- Аутентификация посредством Kerberos работает только при публикации интерфейса Avanpost FAM по имени.
Настройка на стороне MS AD
Настройку метода аутентификации Kerberos требуется осуществлять следующим образом:
- В конфигурационном файле Avanpost FAM Server
config.toml
следует отредактировать параметры секции[kerberos]
, задав значения параметровkeytab
(путь к keytab-файлу, содержащему ключи аутентификации),serviceAccountName
(имя службы, использующейся для представления приложения в Avanpost FAM),requireHostAddr
(параметр, указывающий требуется ли при аутентификации совпадение IP-адреса хоста, с которого выполняется запрос, с IP-адресом, зарегистрированным в Kerberos). Пример настройки конфигурационного файла:[kerberos] keytab = "/opt/idp/krb5.keytab" serviceAccountName = "HTTP/idp.avanpost.local" requireHostAddr = false
- При использовании мультидоменной сквозной аутентификации возможно использовать несколько keytab-файлов, сгенерированных на каждом контроллере домена. В этом случае все keytab-файлы указываются в конфигурационном файле:
[kerberos] [kerberos.one] keytab = "/opt/idp/krb1.keytab" serviceAccountName = "HTTP/idp.avanpost.local" requireHostAddr = false [kerberos.two] keytab = "/opt/idp/krb2.keytab" serviceAccountName = "HTTP/idp.avanpost.local" requireHostAddr = false
- Проверить, что имя публикации Avanpost FAM доступно с контроллеров домена, а полное имя домена доступно с сервера Avanpost FAM. В случае недоступности следует добавить A-запись (address. запись для связи домена с IP-адресом сервера) в DNS или в файл hosts. Пример записи на сервере с контроллером домена:Пример записи на сервере Avanpost FAM:C:\\Windows\\System32\\drivers\\etc
hosts10.10.17.5 idp.avanpost.local
/etc/hosts10.10.17.2 dc.avanpost.local 10.10.17.2 avanpost.local
- Создать учетную запись пользователя в Active Directory:
- Запустить консоль Active Directory Users and Computers командой dsa.msc.
- Выбрать контейнер для нового пользователя, щелкнуть по нему правой кнопкой и выбрать New - User.
- Указать имя, фамилию и инициалы пользователя, выбрать его userPrincipalName.
- Установить пароль для учетной записи, выключить опцию истечения пароля (установить флаг в чекбоксе "Password never expires") и запретить пользователю изменять пароль (установить флаг в чекбокс "User cannot change password").
Создать keytab-файл. Для этого следует войти на контроллер домена с правами администратора домена и выполнить от имени администратора команд по аналогии (пояснения к команде даны в таблице).
ktpass -out c:\AP\krb5.keytab -princ HTTP/idp.avanpost.local@DOMAIN.NAME -mapUser domain\user -mapOp set -pass P@ssw0rd -crypto All -pType KRB5_NT_PRINCIPAL
Наименование Описание c:\AP\krb5.keytab Путь, где будет находиться сгенерированный keytab-файл. HTTP/idp.avanpost.local Имя сервиса в формате HTTP/base_url.
@DOMAIN.NAME DNS-имя (обязательно в верхнем регистре). domain\user Имя учетной записи (с указанием домена), созданной в п.4. данной инструкции. P@ssw0rd Пароль учетной записи, созданной в п.4. раздела "Настройка". - Выполнить настройку автоматизированного рабочего места согласно инструкции Настройка рабочего места Windows для доменной Kerberos-аутентификации данного раздела.
- Переместите файл krb5.keytab (расположен по адресу C:\AP\krb5.keytab) на сервер службы FAM в каталог /opt/idp/. При необходимости следует предоставить права на данный файл.
- Перезапустить службу Avanpost FAM Server, используя команду:
sudo systemctl restart idp
Настройка рабочего места Windows для доменной Kerberos-аутентификации
Сервер должен быть прописан в зоне Local Intranet. Для этой зоны должны быть выполнены следующие настройки:
- User Authentication – Logon – Automatic logon only in Intranet zone;
- Security – Enable Integrated Windows Authentication.
Перед использованием метода аутентификации Kerberos для сквозной аутентификации пользователя в приложениях без дополнительного ввода логина и пароля требуется провести настройку браузера:
- В панели управления войти в раздел "Свойства браузера" во вкладку "Безопасность" (или запустить командную строку клавишами Win+R и запустить команду inetcpl.cpl).
- Выбрать зону безопасности "Местная интрасеть" ("Local Intranet") и нажать кнопку "Сайты" ("Sites").
- Нажать кнопку "Дополнительно" и в открывшемся окне "Местная интрасеть" внести запись вида http://idp.avanpost.local и http://localhost: для добавления ввести в текстовую строку и нажать "Добавить" ("Add"), после добавления нажать "Закрыть" ("Close") и ОК.
- Открыть расширенные настройки зоны "Местная интрасеть" нажатием на кнопку "Другой..." ("Custom level...").
- В разделе "Проверка подлинности пользователя" установите параметр "Автоматический вход в сеть только в зоне интрасети".
- Перейти во вкладку "Дополнительно" и в разделе "Безопасность" выбрать "Разрешить встроенную проверку подлинности Windows*" ("Enable Integrated Windows Authentication*").
- Сохранить настройки и перезапустить компьютер. После настройки вход в приложения посредством Avanpost FAM будет осуществляться без требования ввода логина и пароля.
При необходимости настройки метода на множестве рабочих машин рекомендуется проводить настройку через групповые политики (Microsoft Active Directory Group Policy Management).
Настойка метода Kerberos в Avanpost FAM Agent
Перед осуществлением настройки требуется установить Avanpost FAM Agent согласно инструкции по установке.
Настройку метода аутентификации Kerberos для Avanpost FAM Agent проводить следующим образом:
- В административной консоли Avanpost FAM Server из режима "Приложения" перейти в профиль Enterprise SSO-приложения (тип Agent), созданного при установке Avanpost FAM Agent.
- В профиле данного приложения перейти во вкладку MFA нажать и добавить фактор аутентификации "Password".
- Добавить в группу пользователей, которые будут аутентифицироваться в настроенном приложении. Ручное добавление пользователей администратором реализуется в профиле группы. Также доступ пользователя к группам и ролям допускается редактировать в УЗ пользователя.
- Запустить Avanpost FAM Агент на АРМ пользователя и инициировать аутентификацию. Ауетнтификация посредством метода Kerberos должна пройти успешно.