Avanpost FAM/MFA+ : 3.2.11. Kerberos

Общие сведения

Avanpost FAM поддерживает аутентификацию посредством механизма Kerberos в приложения, подключенные посредством интеграционных механизмов и компонентов: 

Руководство по подключению Kerberos аутентификации через Active Directory

Общие сведения

  1. Сервисное имя, которое указывается при выпуске keytab файла, всегда состоит из сочетания префикса HTTP/ и наименования публикации FAM в части аутентификации (параметр base_url из config.toml), например, сервисное имя может полностью выглядеть таким образом: HTTP/idp.avanpost.local . 
  2. В билете, который получает сервер FAM от клиента, содержится информация о пользователе в виде DOMAIN и username, например, в Active Directory эти поля соответствуют User logon name (pre-Windows 2000).
  3. Kerberos-аутентификация работает только при публикации интерфейса FAM по имени.

Настройка 

  1. В конфигурационный файл 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
  2. При использовании мультидоменной сквозной аутентификации возможно использовать несколько 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
          }
        ]
      }
  3. Проверьте, что имя публикации FAM доступно с контроллеров домена, а полное имя домена доступно с сервера FAM. В случае недоступности следует добавить A-запись в DNS или в файл hosts.
    Пример записи на сервере с контроллером домена

    C:\\Windows\\System32\\drivers\\etc
    hosts
    10.10.17.5 idp.avanpost.local

    Пример записи на сервере FAM (в первой строке указано имя контроллера, во второй имя домена).

    /etc/hosts
    10.10.17.2 dc.avanpost.local
    10.10.17.2 avanpost.local
  4. Создать учетную запись пользователя в Active Directory. Далее следует установить пароль для учетной записи, а также указать опцию постоянности (нет времени истечения) пароля и запретить пользователю его изменять.

  5. Создать 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.NAMEDNS-имя (обязательно заглавными буквами)
    domain\userИмя учетной записи (с указанием домена), созданной в п.4. раздела "Настройка"
    P@ssw0rdПароль учетной записи, созданной в п.4. раздела "Настройка"
  6. Настроить АРМ пользователя, выполнив следующие пункты из руководства Настройка рабочего места Windows.
  7. Переместите файл krb5.keytab (расположен по адресу C:\AP\krb5.keytab) на сервер службы FAM в каталог /opt/idp/. При необходимости необходимо выдать права на данный файл.
  8. Перезапустить службу 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.

    1. Следует установить Агент FAM на АРМ пользователя согласно инструкциям раздела 3.1. Avanpost FAM Agent

    2. В настройках приложения на вкладке MFA установить фактор Password.
    3. Добавить пользователей в группу доступа с приложением "FAM Агент".
    4. Запустить FAM Агент на АРМ пользователя. Kerberos-аутентификация прошла успешно, о чём должно свидетельствовать сообщение.

Обсуждение