Агент ADFS
Microsoft Active Directory Federation Services (ADFS) — это сервис, входящий в состав операционных систем семейства Microsoft Windows Server. Сервис реализует технологию единого входа Single Sign On.
Как правило, сервис ADFS публикуется в интернет, чтобы упростить вход в доверенные веб-сервисы, что влечет за собой необходимость дополнительной защиты функции аутентификации.
Чтобы реализовать двухфакторную аутентификацию в сервисе ADFS, необходимо установить и настроить модуль двухфакторной аутентификации. После регистрации модуль можно настроить в консоли администрирования ADFS и указать критерии применения второго фактора.
Обмен данными при выполнении двухфакторной аутентификации происходит следующим образом:
- Пользователь делает запрос на аутентификацию на прокси-сервер, который транслирует запрос на ADFS-сервис.
- Пользователь проходит аутентификацию по логину и паролю. Если правилами ADFS установлено требование двухфакторной аутентификации, сервис ADFS отображает окно для прохождения дополнительной проверки.
- Пользователь выполняет проверку второго фактора, на основании решения сервера аутентификации сервис ADFS принимает решение об аутентификации в целевом сервисе.
Взаимодействие между агентом ADFS и сервером аутентификации происходит по протоколу HTTPS.
Настройка узлов аутентификации
Чтобы реализовать аутентификацию пользователей в сервисе ADFS, в консоли администрирования добавьте ADFS-модули в список узлов аутентификации. Если вы используете резервный ADFS-сервис, также добавьте информацию о нем.
Для этого:
- Войдите в консоль с учетными данными оператора виртуального сервера.
- Выберите сервер на вкладке Виртуальные серверы.
- Выберите вкладку второго ряда Настройки.
- Раскройте панель Узлы аутентификации.
- Нажмите Добавить или Изменить.
- Укажите имя узла и его IP-адрес.
Настройка агента ADFS
Агент ADFS поддерживает работу в окружении с установленным .NET Framework версии 4.7.2 и выше.
- Скопируйте каталог с агентом ADFS из дистрибутива на хост с установленным ADFS.
- Отредактируйте конфигурационный файл 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 – да) |
- Далее выполните регистрацию агента. Для этого запустите PowerShell с правами администратора и выполните команду:
.\register.ps1
Если были внесены изменения в конфигурацию, выполните скрипт:
.\change_settings.ps1
Отмена регистрации агента
Отмена регистрации необходима при обновлении, когда нужно удалить старый агент и установить новую версию, либо когда необходимо полностью отключить двухфакторную аутентификацию.
Для этого:
В оснастке ADFS перейдите ADFS→Service→Authentication Methods.
Выберите пункт Edit Multi-factor authentication Method, удалите метод Indeed Cloud ADFS.
Выполните скрипт:
.\unregister.ps1
Настройка двухфакторной аутентификации в оснастке ADFS
После регистрации агента активируйте метод двухфакторной аутентификации.
Для этого:
- Перейдите ADFS→Service→Authentication Methods.
- Выберите пункт Edit Multi-factor authentication Method.
- Активируйте метод Indeed Cloud ADFS.
- Сохраните изменения.
Далее добавьте отношение доверия проверяющей стороны и определите политику применения двухфакторной аутентификации.
Для этого:
- В оснастке ADFS в разделе Actions выберите Add Relying Party Trust.
- На странице приветствия выберите Non claims aware, затем нажмите Start.
- На открывшейся странице введите имя в поле Display name, в поле Notes введите описание, затем нажмите Next.
- На открывшейся странице укажите один или несколько идентификаторов для этой проверяющей стороны, нажмите Add, чтобы добавить их в список, а затем нажмите Next.
- На открывшейся странице выберите политику управление доступом и нажмите Next.
- На открывшейся странице проверьте настройки, а затем нажмите Next, чтобы сохранить сведения об отношении доверия с проверяющей стороной.
- На открывшейся странице нажмите Close.
Проверка механизма двухфакторной аутентификации
Механизм можно проверить либо в ранее настроенном сервисе, либо на тестовой странице ADFS.
Чтобы проверить на тестовой странице:
- Активируйте страницу:
Set-AdfsProperties -EnableIdPInitiatedSignonPage $true
Далее перейдите по адресу https://<FQDN хоста ADFS>/adfs/ls/idpinitiatedsignon.
Выполните базовую аутентификацию. После успешной аутентификации сервис ADFS должен отобразить страницу для проверки второго фактора.
Для аутентификации используйте следующие способы:
- С использованием программного или аппаратного токена: введите сгенерированный одноразовый код.
- С использованием SMS: введите пустой символ или символ
s, если у вас несколько токенов формата Challenge-Response. - С использованием почты: введите пустой символ или символ
e, если у вас несколько токенов формата Challenge-Response. - С использованием одноразовых кодов или push-уведомлений из Telegram: введите пустой символ или символ
tбез кавычек, если у вас несколько токенов формата Challenge-Response.