Перейти к основному содержимому

Агент ADFS

Microsoft Active Directory Federation Services (ADFS) — это сервис, входящий в состав операционных систем семейства Microsoft Windows Server. Сервис реализует технологию единого входа Single Sign On.

Как правило, сервис ADFS публикуется в интернет, чтобы упростить вход в доверенные веб-сервисы, что влечет за собой необходимость дополнительной защиты функции аутентификации.

Чтобы реализовать двухфакторную аутентификацию в сервисе ADFS, необходимо установить и настроить модуль двухфакторной аутентификации. После регистрации модуль можно настроить в консоли администрирования ADFS и указать критерии применения второго фактора.

Обмен данными при выполнении двухфакторной аутентификации происходит следующим образом:

  1. Пользователь делает запрос на аутентификацию на прокси-сервер, который транслирует запрос на ADFS-сервис.
  2. Пользователь проходит аутентификацию по логину и паролю. Если правилами ADFS установлено требование двухфакторной аутентификации, сервис ADFS отображает окно для прохождения дополнительной проверки.
  3. Пользователь выполняет проверку второго фактора, на основании решения сервера аутентификации сервис ADFS принимает решение об аутентификации в целевом сервисе.

Взаимодействие между агентом ADFS и сервером аутентификации происходит по протоколу HTTPS.

Настройка узлов аутентификации

Чтобы реализовать аутентификацию пользователей в сервисе ADFS, в консоли администрирования добавьте ADFS-модули в список узлов аутентификации. Если вы используете резервный ADFS-сервис, также добавьте информацию о нем.

Для этого:

  1. Войдите в консоль с учетными данными оператора виртуального сервера.
  2. Выберите сервер на вкладке Виртуальные серверы.
  3. Выберите вкладку второго ряда Настройки.
  4. Раскройте панель Узлы аутентификации.
  5. Нажмите Добавить или Изменить.
  6. Укажите имя узла и его IP-адрес.

Настройка агента ADFS

Агент ADFS поддерживает работу в окружении с установленным .NET Framework версии 4.7.2 и выше.

  1. Скопируйте каталог с агентом ADFS из дистрибутива на хост с установленным ADFS.
  2. Отредактируйте конфигурационный файл MFASOFT.ADFS.dll.config.

Укажите следующие значения параметров:

ПараметрОписание
sas_address_1Адрес сервиса MFA — mfa.indeed-cloud.ru
timeoutВремя ожидания ответа от сервера аутентификации в секундах
strip_realm_from_upnУдаление суффикса UPN в имени пользователя при запросе на сервер аутентификации (0 – нет, 1 – да)
auto_challengeАвтоматически вызывать запрос на аутентификацию (0 – нет, e – email, s – SMS, t – Telegram, p – push, g – программный токен, h – аппаратный токен)
verify_sslВыполнять проверку SSL-сертификата при подключении к серверу аутентификации (0 – нет, 1 – да)
  1. Далее выполните регистрацию агента. Для этого запустите PowerShell с правами администратора и выполните команду:
.\register.ps1

Если были внесены изменения в конфигурацию, выполните скрипт:

.\change_settings.ps1
Отмена регистрации агента

Отмена регистрации необходима при обновлении, когда нужно удалить старый агент и установить новую версию, либо когда необходимо полностью отключить двухфакторную аутентификацию.

Для этого:

  1. В оснастке ADFS перейдите ADFS→Service→Authentication Methods.

  2. Выберите пункт Edit Multi-factor authentication Method, удалите метод Indeed Cloud ADFS.

  3. Выполните скрипт:

    .\unregister.ps1

Настройка двухфакторной аутентификации в оснастке ADFS

После регистрации агента активируйте метод двухфакторной аутентификации.

Для этого:

  1. Перейдите ADFS→Service→Authentication Methods.
  2. Выберите пункт Edit Multi-factor authentication Method.
  3. Активируйте метод Indeed Cloud ADFS.
  4. Сохраните изменения.

Далее добавьте отношение доверия проверяющей стороны и определите политику применения двухфакторной аутентификации.

Для этого:

  1. В оснастке ADFS в разделе Actions выберите Add Relying Party Trust.
  2. На странице приветствия выберите Non claims aware, затем нажмите Start.
  3. На открывшейся странице введите имя в поле Display name, в поле Notes введите описание, затем нажмите Next.
  4. На открывшейся странице укажите один или несколько идентификаторов для этой проверяющей стороны, нажмите Add, чтобы добавить их в список, а затем нажмите Next.
  5. На открывшейся странице выберите политику управление доступом и нажмите Next.
  6. На открывшейся странице проверьте настройки, а затем нажмите Next, чтобы сохранить сведения об отношении доверия с проверяющей стороной.
  7. На открывшейся странице нажмите Close.

Проверка механизма двухфакторной аутентификации

Механизм можно проверить либо в ранее настроенном сервисе, либо на тестовой странице ADFS.

Чтобы проверить на тестовой странице:

  1. Активируйте страницу:
Set-AdfsProperties -EnableIdPInitiatedSignonPage $true
  1. Далее перейдите по адресу https://<FQDN хоста ADFS>/adfs/ls/idpinitiatedsignon.

  2. Выполните базовую аутентификацию. После успешной аутентификации сервис ADFS должен отобразить страницу для проверки второго фактора.

Для аутентификации используйте следующие способы:

  • С использованием программного или аппаратного токена: введите сгенерированный одноразовый код.
  • С использованием SMS: введите пустой символ или символ s, если у вас несколько токенов формата Challenge-Response.
  • С использованием почты: введите пустой символ или символ e, если у вас несколько токенов формата Challenge-Response.
  • С использованием одноразовых кодов или push-уведомлений из Telegram: введите пустой символ или символ t без кавычек, если у вас несколько токенов формата Challenge-Response.