Двухфакторная аутентификация для RDP (RD Gateway)
Описание
При подключении к удалённому рабочему столу через RD Gateway пользователи проходят двухэтапную проверку: вводят логин и пароль (первый фактор) и подтверждают вход вторым фактором.
Схема работы:
- Пользователь подключается к удалённому рабочему столу через шлюз RD Gateway.
- RD Gateway передаёт запрос аутентификации в Network Policy Server (NPS).
- NPS перенаправляет RADIUS-запрос (PAP) в локальный инстанс Simple2FA.
- Локальный инстанс Simple2FA проверяет логин и пароль пользователя через Active Directory, LDAP или другой источник первого фактора.
- После успешной проверки первого фактора локальный инстанс отправляет пользователю запрос на подтверждение входа.
- Пользователь подтверждает вход.
- После успешной проверки Simple2FA возвращает результат в NPS, и устанавливается защищённое RDP-соединение.
Подготовка в Simple2FA
Войдите в панель администратора локального инстанса, перейдите в раздел «Настройка ресурсов» и создайте новый ресурс:
| Поле | Значение |
|---|---|
| Название | RD Gateway (или любое удобное) |
| Протокол | RADIUS |
| NAS ID | Строка идентификации RADIUS-клиента RD Gateway (должна соответствовать атрибуту NAS-Identifier в запросах RD Gateway). Создаётся автоматически |
| Shared Secret | Общий секрет, который будет использоваться в настройках RADIUS на RD Gateway. Создаётся автоматически |
| Проверять первый фактор | Включить, если пароль должен проверяться в Simple2FA. В этом режиме в запросе обязателен атрибут User-Password, то есть RADIUS-клиент должен использовать протокол PAP; при пересылке запросов через NPS (см. ниже) это выполняется автоматически. Если первый фактор уже проверяется на стороне RD Gateway / NPS, флаг можно выключить: пароль в запросе не требуется, Simple2FA только запрашивает второй фактор |
| Поставщики учётных записей | Выберите один или несколько каталогов, в которых будет выполняться проверка первого фактора пользователей |
| Использовать кеширование сессий | Включить, если необходимо, чтобы у пользователя после успешного входа не запрашивался второй фактор в течение указанного времени |
| Длительность кеша | Рекомендуемое значение — 60 минут |
В глобальных настройках убедитесь, что:
- указан корректный API-ключ организации для связи локального инстанса с облаком;
- на вкладке Учётные записи параметр Формат имени пользователя установлен в Active Directory. RD Gateway передаёт имя пользователя в формате
DOMAIN\user(например,INT\ivanov); в этом режиме доменная часть отбрасывается и логин сопоставляется с учётной записью по короткому имени.
Настройка RD Gateway и NPS
- На сервере Windows с ролью RD Gateway установите и откройте Network Policy Server (NPS).
- Откройте RD Gateway Manager, в свойствах сервера перейдите на вкладку RD CAP Store и выберите Central server running NPS. Укажите адрес локального NPS (127.0.0.1) и Shared Secret для связи RD Gateway с NPS (любой, он не связан с секретом Simple2FA). Без этого шага запросы не будут передаваться в NPS в нужном формате.
- В NPS в разделе Remote RADIUS Server Groups создайте новую группу внешних RADIUS-серверов.
- Добавьте в группу локальный инстанс Simple2FA:
- Address: IP-адрес локального инстанса Simple2FA
- Authentication Port: 1812
- Shared Secret: тот же, что указан в настройках ресурса Simple2FA
-
В свойствах сервера на вкладке Load Balancing укажите:
- Number of seconds without response before request is considered dropped: 60;
- Number of seconds between requests when server is identified as unavailable: 61.
Значения по умолчанию (3 секунды) недостаточны для подтверждения второго фактора. 6. Перейдите в раздел Policies → Connection Request Policies. 7. Откройте политику TS GATEWAY AUTHORIZATION POLICY или создайте новую политику для RD Gateway. Убедитесь, что она стоит выше остальных политик в списке. 8. На вкладке Settings → Authentication выберите Forward requests to the following remote RADIUS server group for authentication и укажите созданную группу. 9. В разделе Policies → Network Policies при необходимости настройте дополнительные правила доступа, например ограничения по AD-группам.
Проверка работы
- Подключитесь к удалённому рабочему столу через RD Gateway,
- Введите логин и пароль пользователя,
- Получите запрос второго фактора на телефон,
- Подтвердите вход.
После подтверждения будет установлено защищённое RDP-соединение. Результат каждой попытки входа доступен в панели администратора, в разделе «Попытки авторизации».
Типовые ошибки
- RADIUS: No User-Password for login=… — запрос пришёл без пароля. Проверьте, что в RD CAP Store выбран Central server running NPS и в Connection Request Policy включена пересылка на группу с сервером Simple2FA.
- No user found for login=DOMAIN\user — логин из запроса не совпадает с учётной записью в Simple2FA. Установите в глобальных настройках Формат имени пользователя = Active Directory.