Двухфакторная аутентификация для Windows VPN
Описание
При подключении к VPN на базе службы Windows Routing and Remote Access Service (RRAS) пользователи проходят двухэтапную проверку: вводят логин и пароль (первый фактор) и подтверждают вход вторым фактором.
RRAS передаёт запрос на проверку первого фактора по протоколу RADIUS в локальный инстанс Simple2FA; он же запрашивает у пользователя подтверждение вторым фактором.
Инструкция применима к Windows Server 2012 R2 и новее.
Схема работы:
- Пользователь подключается к VPN и вводит логин и пароль (первый фактор).
- Сервер RRAS направляет запрос аутентификации через RADIUS на локальный инстанс Simple2FA.
- Локальный инстанс проверяет логин и пароль по AD/LDAP или другому поставщику учётных записей.
- При успешной проверке первого фактора запрашивается подтверждение вторым фактором.
- Пользователь подтверждает второй фактор.
- После успешной проверки обоих факторов доступ к VPN разрешается.
Подготовка в Simple2FA
Войдите в панель администратора локального инстанса, перейдите в раздел «Настройка ресурсов» и создайте новый ресурс:
| Поле | Значение |
|---|---|
| Название | Windows VPN (или любое удобное) |
| Протокол | RADIUS |
| NAS ID | Строка идентификации RADIUS-клиента RRAS (должна соответствовать атрибуту NAS-Identifier в запросах сервера). Создаётся автоматически |
| Shared Secret | Общий секрет, который будет использоваться в настройках RADIUS на сервере RRAS. Создаётся автоматически |
| Проверять первый фактор | Включить |
| Поставщики учётных записей | Выберите один или несколько каталогов, в которых будет выполняться проверка первого фактора пользователей |
| Использовать кеширование сессий | Включить, если необходимо, чтобы у пользователя после успешного входа не запрашивался второй фактор в течение указанного времени |
| Длительность кеша | Рекомендуемое значение — 60 минут |
В глобальных настройках убедитесь, что указан корректный API-ключ организации для связи локального инстанса с облаком.
Установка и настройка RRAS
1) Установите службу
- Откройте Server Manager, в меню Manage выберите Add Roles and Features Wizard.
- В разделе Server Roles отметьте Remote Access → DirectAccess and VPN (RAS).
- Завершите установку.
2) Настройте службу
- В Server Manager, в меню Tools выберите Routing and Remote Access.
- Нажмите правой кнопкой на имени сервера и выберите Configure and Enable Routing and Remote Access.
- Выберите пункт Custom Configuration.
- Отметьте пункт VPN access и завершите настройку.
3) Выберите протокол подключения
RRAS поддерживает несколько протоколов VPN: PPTP, L2TP/IPSec, IKEv2 и SSTP:
- PPTP устарел и небезопасен — не используйте его;
- L2TP/IPSec и IKEv2 безопасны, но используют нестандартные порты — пользователи могут испытывать проблемы при подключении из домашних и публичных сетей;
- SSTP — безопасный протокол поверх TCP 443 (TLS), рекомендуемый вариант. Кроме того, при аутентификации по PAP только TLS-туннель SSTP защищает пароль от перехвата.
Чтобы отключить ненужные протоколы, нажмите правой кнопкой на Ports → Properties, затем для каждого типа порта кроме SSTP нажмите Configure и снимите все флажки.
4) Настройте аутентификацию RADIUS
- Нажмите правой кнопкой на имени сервера и выберите Properties.
- На вкладке Security в качестве Authentication Provider укажите RADIUS Authentication и нажмите Configure.
- Добавьте в список новый RADIUS-сервер:
- Server name: IP-адрес локального инстанса Simple2FA;
- Shared Secret: Shared Secret из карточки ресурса Simple2FA;
- Timeout: 60 секунд (время на подтверждение второго фактора);
- Port: порт RADIUS из карточки ресурса Simple2FA (по умолчанию 1812);
- Установите флажок Always use message authenticator.
- Сохраните и закройте.
- Нажмите кнопку Authentication Methods и оставьте единственный вариант — Unencrypted password (PAP).
- Сохраните и закройте.
5) Выберите сертификат сервера
Для работы SSTP необходим сертификат, которому доверяют клиентские машины (выданный публичным удостоверяющим центром либо корпоративным УЦ, корневой сертификат которого установлен на клиентах). На вкладке Security в разделе SSL Certificate Binding выберите сертификат сервера.
Настройка клиента
Для подключения используется встроенный VPN-клиент Windows.
Откройте Параметры → Сеть и Интернет → VPN и добавьте новое подключение:
- Поставщик услуг VPN: Windows (встроенные);
- Имя подключения: произвольное;
- Имя или адрес сервера: адрес вашего сервера RRAS (должен совпадать с именем в сертификате);
- Тип VPN: Протокол SSTP;
- Тип данных для входа: имя пользователя и пароль.
Затем откройте Настройка параметров адаптера, перейдите в свойства созданного подключения и на вкладке Безопасность выберите Разрешить следующие протоколы, оставив только Незашифрованный пароль (PAP).
Сохраните настройки и закройте свойства подключения.
Проверка работы
- Запустите VPN-подключение,
- Введите логин и пароль (первый фактор),
- Получите запрос второго фактора,
- Подтвердите второй фактор,
- После подтверждения доступ к VPN будет разрешён.
Результат каждой попытки входа доступен в панели администратора, в разделе «Попытки авторизации».