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

Настройка двухфакторной аутентификации на сервере Windows со службой RD Gateway

В статье описывается настройка Windows сервера для включения двухфакторной аутентификации при подключении удаленного рабочего стола (RDP) со службой RD Gateway.

RD Gateway компонент Windows сервера, позволяющий подключаться к рабочему столу через шлюз, который выполняет функции VPN, а именно создает зашифрованное подключение по протоколу TLS.

Применимо к версиям:

  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019

Возможные способы аутентификации:

  • Мобильное приложение MultiFactor
  • Telegram
  • Звонок (нужно принять вызов и нажать #)

Видео-презентация

Схема работы

  1. Пользователь подключается к удаленному рабочему столу через шлюз RD Gateway;
  2. RD Gateway проверяет логин, пароль, политику авторизации ресурсов (RAP) и переадресовывает запрос в Network Policy Server (NPS);
  3. NPS получает запрос от RD Gateway, запрашивает второй фактор аутентификации по RADIUS протоколу в компоненте MultiFactor Radius Adapter;
  4. Мультифактор отправляет на телефон пользователя запрос подтверждения входа;
  5. Пользователь подтверждает запрос в телефоне и подключается к VPN.

Дополнительные возможности:

  • настройка доступа на основе принадлежности пользователя к группе в Active Directory;
  • избирательное включение второго фактора на основе принадлежности пользователя к группе в Active Directory;
  • использование телефона пользователя из профиля Active Directory для звонка на мобильный телефон;

Требования к серверу

  1. На сервере должны быть установлены и настроены компоненты Remote Desktop Gateway и Network Policy and Access Service.
  2. На сервере с NPS необходимо установить компонент MultiFactor Radius Adapter.
  3. Для работы Мультифактора серверу необходим доступ к хосту 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

  1. В разделе Remote RADIUS Server Groups создайте новую группу:
  • Group name: MFA
  • Нажмите Add:
    • Server: 127.0.0.1
    • Shared secret: ранее придуманный SHARED_SECRET
    • Load Balancing: поставьте таймауты по 60 секунд

2. В разделе Connection Requests Policies, откройте свойства политики TS GATEWAY AUTHORIZATION POLICY: - На вкладке Settings: - в разделе Authentication выберите вариант Forward requests to the following remote RADIUS server group for authentication: MFA

Если что-то не работает

  • Для проверки принадлежности пользователя к группам безопасности Active Directory, адаптер должен быть запущен под пользователем, имеющим доступ на чтение к домену (обычно любой пользователь из домена).

  • Проверьте журнал Windows, раздел Custom Views -> Server Roles -> Network Policy And Access Services

  • Проверьте журнал компонента MultiFactor Radius Adapter

  • Проверьте журнал Мультифактора

Смотрите также: