Настройка двухфакторной аутентификации на сервере Network Policy Server
Общая информация
В статье описывается на стройка Microsoft Network Policy Server для включения двухфакторной аутентификации с одноразовым кодом доступа или PUSH уведомлением при подключении VPN клиентов, таких как Cisco AnyConnect, FortiClient VPN и других.
Применимо к версиям:
Windows Server 2012 R2
Windows Server 2016
Windows Server 2019
Возможные способы аутентификации:
Мобильное приложение MultiFactor
СМС
Аппаратные OTP токены
Приложения OTP: Google Authenticator или Яндекс.Ключ
Telegram
Для настройки второго фактора аутентификации вам потребуется установить и настроить MultiFactor Radius Adapter в режиме RADIUS прокси между клиентом и сервером NPS.
Обратите внимание, в большинстве случаев вы можете отказаться от использования NPS, полностью заменив его на MultiFactor Radius Adapter.
Схема работы
- Radius клиент подключается к компоненту Radius Adapter.
- Компонент выполняет аутентификацию клиента в Network Policy Service.
- В случае успешной аутентификации запрашивает у пользователя подтверждение доступа вторым фактором.
Настройка Мультифактора
- Зайдите в систему управления Мультифактором, далее в раздел Ресурсы и создайте новый ресурс типа "Сетевой экран" - "Другой";
- Заполните "Название" и "Адрес" по вашему усмотрению. Параметр "При подключении без настроенного второго фактора" отвечает за возможность настроить второй фактор при подключении п ользователя без настроенного второго фактора доступа;
- После создания вам будут доступны два параметра: NAS Identifier и Shared Secret, они потребуются для последующих шагов;
Настройка компонента MultiFactor Radius Adapter
Разверните компонент MultiFactor Radius Adapter на отдельном сервере, настройте файл конфигурации следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<!-- Адрес и порт (UDP) по которому адаптер будет принимать запросы на аутентификацию от клиентов -->
<!-- Если указать адрес 0.0.0.0, то адаптер будет слушать все сетевые интерфейсы -->
<add key="adapter-server-endpoint" value="0.0.0.0:1812"/>
<!-- Shared secret общий для клиента, адаптера и NPS -->
<add key="radius-shared-secret" value="SHARED_SECRET"/>
<!-- Где поверять первый фактор: RADIUS -->
<add key="first-factor-authentication-source" value="Radius"/>
<!-- Адрес, с которого адаптер будет обращаться в NPS -->
<add key="adapter-client-endpoint" value="192.168.0.1"/>
<!-- Адрес и порт NPS -->
<add key="nps-server-endpoint" value="192.168.0.1:1812"/>
<!-- 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 из личного кабинета Мультифактора"/>
<!-- Уровень логирования: 'Debug', 'Info', 'Warn', 'Error' -->
<add key="logging-level" value="Debug"/>
</appSettings>
</configuration>
Значение SHARED_SECRET должно быть одинаковое на VPN устройстве, адаптере и сервере NPS, чтоб компонент мог корректно проксировать запросы.
Если вы планируете установить адаптер на одном сервере с NPS, необходимо будет изменить порт, который слушает адаптер, чтоб не было конфликтов.
Настройка RADIUS сервера (NPS)
В разделе "RADIUS Clients" измените адрес клиента на адрес адаптера.
Настройка RADIUS клиента
Поменяйте адрес радиус сервера на адрес адаптера и уве личьте таймаут ожидания запроса до 40 секунд, чтоб у пользователя было достаточно времени для подтверждения аутентификации.
Смотрите также: