Настройка двухфакторной аутентификации на сервере Windows со службой RD Gateway
В статье описывается настройка Windows сервера для включения двухфакторной аутентификации при подключении удаленного рабочего стола (RDP) со службой RD Gateway.
RD Gateway — компонент Windows сервера, позволяющий подключаться к рабочему столу через шлюз, который выполняет функции VPN, а именно создает зашифрованное подключение по протоколу TLS.
Применимо к версиям:
Windows Server 2012 R2
Windows Server 2016
Windows Server 2019
Возможные способы аутентификации:
Мобильное приложение MultiFactor
Telegram
Звонок (нужно принять вызов и нажать #)
Видео-презентация
Схема работы
- Пользователь подключается к удаленному рабочему столу через шлюз RD Gateway;
- RD Gateway проверяет логин, пароль, политику авторизации ресурсов (RAP) и переадресовывает запрос в Network Policy Server (NPS);
- NPS получает запрос от RD Gateway, запрашивает второй фактор аутентификации по RADIUS протоколу в компоненте MultiFactor Radius Adapter;
- Мультифактор отправляет на телефон пользователя запрос подтверждения входа;
- Пользователь подтверждает запрос в телефоне и подключается к VPN.
Дополнительные возможности:
- настройка доступа на основе принадлежности пользователя к группе в Active Directory;
- избирательное включение второго фактора на основе принадлежности пользователя к группе в Active Directory;
- использование телефона пользователя из профиля Active Directory для звонка на мобильный телефон;
Требования к серверу
- На сервере должны быть установлены и настроены компоненты Remote Desktop Gateway и Network Policy and Access Service.
- На сервере с NPS необходимо установить компонент MultiFactor Radius Adapter.
- Для работы Мультифактора серверу необходим доступ к хосту api.multifactor.ru по порту 443 (TLS).
Настройка MultiFactor Radius Adapter
Разверните компонент MultiFactor Radius Adapter, настройте файл конф игурации следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="RadiusReply" type="MultiFactor.Radius.Adapter.RadiusReplyAttributesSection, MultiFactor.Radius.Adapter" />
</configSections>
<appSettings>
<!-- This service radius server endpoint -->
<add key="adapter-server-endpoint" value="127.0.0.1:1812"/>
<!-- Shared secret between this service and radius client -->
<add key="radius-shared-secret" value="SHARED_SECRET"/>
<add key="first-factor-authentication-source" value="None"/>
<!-- Multifactor API -->
<add key="multifactor-api-url" value="https://api.multifactor.ru"/>
<add key="multifactor-nas-identifier" value="NAS Identifier из личного кабинета Мультифактора"/>
<add key="multifactor-shared-secret" value="Shared Secret из личного кабинета Мультифактора"/>
<!-- Minimal log level: 'Debug', 'Info', 'Warn', 'Error' -->
<add key="logging-level" value="Debug"/>
<!-- Дополнительные настройки-->
<!-- Active Directory domain -->
<!-- <add key="active-directory-domain" value="domain.local"/> -->
<!-- Разрешить доступ только пользователям группы AD -->
<!-- <add key="active-directory-group" value="VPN Users"/> -->
<!-- Проверять второй фактор только у пользователей из группы AD -->
<!-- <add key="active-directory-2fa-group" value="2FA Users"/> -->
</appSettings>
</configuration>
Придумайте сложное значение SHARED_SECRET и запишите в конфигурационный файл.
Настройка NPS
- В разделе Remote RADIUS Server Groups создайте новую группу:
- Group name: MFA
- Нажмите Add:
- Server: 127.0.0.1
- Shared secret: ранее придуманный SHARED_SECRET
- Load Balancing: поставьте таймауты по 60 секунд
- В разделе Connection Requests Policies, откройте свойства политики TS GATEWAY AUTHORIZATION POLICY:
- На вкладке Settings:
- в разделе Authentication выберите вариант Forward requests to the following remote RADIUS server group for authentication: MFA
- На вкладке Settings:
Если что-то не работает
-
Для проверки принадлежности пользователя к группам безопасности Active Directory, адаптер должен быть запущен под пользователем, имеющим доступ на чтение к домену (обычно любой пользователь из домена).
-
Проверьте журнал Windows, раздел Custom Views -> Server Roles -> Network Policy And Access Services
-
Проверьте журнал компонента MultiFactor Radius Adapter
-
Проверьте журнал Мультифактора
Смотрите также: