Общие сведения
Avanpost FAM поддерживает аутентификацию посредством механизма Kerberos в приложения, подключенные посредством интеграционных механизмов и компонентов:
Руководство по подключению Kerberos аутентификации через Active Directory
Общие сведения
- Сервисное имя, которое указывается при выпуске keytab файла, всегда состоит из сочетания префикса HTTP/ и наименования публикации FAM в части аутентификации (параметр base_url из config.toml), например, сервисное имя может полностью выглядеть таким образом: HTTP/idp.avanpost.local .
- В билете, который получает сервер FAM от клиента, содержится информация о пользователе в виде DOMAIN и username, например, в Active Directory эти поля соответствуют User logon name (pre-Windows 2000).
- Kerberos-аутентификация работает только при публикации интерфейса FAM по имени.
Настройка
В конфигурационный файл config.json следует отредактировать секцию "kerberos" по образцу ниже, используя свои наименования публикации FAM.
"kerberos": { "keytab": "/opt/idp/krb5.keytab", "serviceAccountName": "HTTP/idp.avanpost.local", "requireHostAddr": false }
В случае использования config.toml секция будет выглядеть так:[kerberos] keytab = '/opt/idp/krb5.keytab' serviceAccountName = 'HTTP/idp.avanpost.local' requireHostAddr = false
При использовании мультидоменной сквозной аутентификации возможно использовать несколько keytab файлов, которые сгенерированы на каждом контроллере домена.
Пример секции с использованием нескольких keytab-файлов:"kerberos": { "multi_kdc":[ { "keytab": "/opt/idp/kerberos/krb5domain1.keytab", "serviceAccountName": "HTTP/idp.avanpost.local", "requireHostAddr": false }, { "keytab": "/opt/idp/kerberos/krb5domain2.keytab", "serviceAccountName": "HTTP/idp.avanpost.local", "requireHostAddr": false } ] }
Проверьте, что имя публикации FAM доступно с контроллеров домена, а полное имя домена доступно с сервера FAM. В случае недоступности следует добавить A-запись в DNS или в файл hosts.
Пример записи на сервере с контроллером доменаC:\\Windows\\System32\\drivers\\etc
hosts10.10.17.5 idp.avanpost.local
Пример записи на сервере FAM (в первой строке указано имя контроллера, во второй имя домена).
/etc/hosts10.10.17.2 dc.avanpost.local 10.10.17.2 avanpost.local
Создать учетную запись пользователя в Active Directory. Далее следует установить пароль для учетной записи, а также указать опцию постоянности (нет времени истечения) пароля и запретить пользователю его изменять.
Создать keytab-файл для работы Kerberos-аутентификации. Зайти на контроллер домена с правами администратора домена и запустить командную строку от имени Администратора.
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 Имя сервиса, Общие сведения, п.1. @DOMAIN.NAME DNS-имя (обязательно заглавными буквами) domain\user Имя учетной записи (с указанием домена), созданной в п.4. раздела "Настройка" P@ssw0rd Пароль учетной записи, созданной в п.4. раздела "Настройка" - Настроить АРМ пользователя, выполнив следующие пункты из руководства Настройка рабочего места Windows.
- Переместите файл krb5.keytab (расположен по адресу C:\AP\krb5.keytab) на сервер службы FAM в каталог /opt/idp/. При необходимости необходимо выдать права на данный файл.
- Перезапустить службу FAM Server.
Настройка рабочего места Windows для доменной Kerberos-аутентификации
Требования к глобальным настройкам браузеров
Сервер должен быть прописан в зоне Local Intranet. Для этой зоны должны быть выполнены следующие настройки:
- User Authentication – Logon – Automatic logon only in Intranet zone;
- Security – Enable Integrated Windows Authentication.
Настройка свойств браузера
Настройка применяется при необходимости обеспечения сквозной аутентификации пользователя в приложениях без дополнительного ввода логина и пароля.
1. Откройте "Свойства браузера" –> Безопасность (Security). Чтобы открыть настройки без запуска браузера, можно использовать сочетание клавиш Win+R, а затем ввести в командную строку inetcpl.cpl и нажать Enter.
2. Выберете зону Местная интрасеть (Local Intranet) –> Сайты (Sites).
3. Нажмите Дополнительно.
4. В открывшемся окне "Местная интрасеть" добавьте запись вида http://idp.avanpost.local и http://localhost –> Добавить (Add) –> Закрыть (Close).
4. Нажмите ОК.
5. Откройте расширенные настройки зоны "Местная интрасеть" (кнопка Другой... (Custom level...)).
6. В разделе "Проверка подлинности пользователя" установите параметр "Автоматический вход в сеть только в зоне интрасети".
7. Перейдите на вкладку "Дополнительно".
8. В разделе "Безопасность" выберете Разрешить встроенную проверку подлинности Windows* (Enable Integrated Windows Authentication*).
9. Сохраните настройки и перезапустите компьютер. Вход в приложения должен осуществляться без требования ввода логина и пароля.
Настройки можно выполнить глобально с использованием политик Microsoft Active Directory Group Policy Management.
Приложение А. Настройка kerberos аутентификации в агенте FAM.
Следует установить Агент FAM на АРМ пользователя согласно инструкциям раздела 3.1. Avanpost FAM Agent
- В настройках приложения на вкладке MFA установить фактор Password.
- Добавить пользователей в группу доступа с приложением "FAM Агент".
- Запустить FAM Агент на АРМ пользователя. Kerberos-аутентификация прошла успешно, о чём должно свидетельствовать сообщение.