- Начало работы
- Интеграция
- HTTP API
- OpenID Connect
- RADIUS протокол
- RADIUS адаптер
- LDAP адаптер
- Портал самообслуживания
- Windows Logon
- MacOS logon
- Регистрация пользователей
- .NET Core
- 1с-Bitrix24
- 1с-плагин двухфакторной аутентификации
- ADFS
- ASP.NET
- Ansible AWX
- Atlassian Cloud
- BearPass
- Check Point VPN
- Cisco ASA VPN
- Citrix Gateway
- FortiGate VPN
- HRBOX
- Huawei Cloud
- Huawei VPN
- Ideco UTM
- Keycloak
- Let's Encrypt Windows Server
- Linux logon (GUI)
- Linux SSH
- Linux SUDO
- MikroTik L2TP VPN
- NGate VPN
- Network Policy Server (NPS)
- Nextcloud
- OpenVPN
- OpenVPN + AD
- OpenVPN Access Server
- OpenVPN pfSense
- Outlook Web Access (OWA)
- Passwork
- RD Gateway (RDGW)
- Redmine
- UserGate VPN
- VMware Horizon Cloud
- VMware Horizon View
- VMware vCloud Director
- VMware vSphere
- Vault
- ViPNET
- Windows VPN
- Yandex.Cloud
- Zabbix
- АйТи-Бастион
- Континент 4 VPN
- МТС Линк (бывш. webinar.ru)
- WordPress
- С-Терра VPN
- Точка доступа Wi-Fi
- ФПСУ-IP/Клиент
Настройка двухфакторной аутентификации OpenVPN Access Server
Общая информация
Защитите VPN подключения OpenVPN Access Server вторым фактором аутентификации с помощью MFA решения сервиса Мультифактор.
Возможные способы аутентификации:
Мобильное приложение MultiFactor
Telegram
Звонок (нужно принять вызов и нажать #)
Аппаратные OTP токены
Приложения OTP: Google Authenticator или Яндекс.Ключ
Вариант интеграции с Мультифактор зависит от вашего поставщика учётных записей:
- Поставщик учётных записей – Active Directory
Интеграция по RADIUS-протоколу. - Поставщик учётных записей – локальная директория учётных записей OpenVPN AS
Интеграция с помощью Post-auth аутентификации.
Видео-презентация
Схема работы
- Пользователь подключается к VPN, вводит логин и пароль учетной записи в клиенте OpenVPN Connect;
- OpenVPN Access Server подтверждает корректность логина и пароля в Active Directory через Multifactor Radius Adapter;
- Мультифактор запрашивает второй фактор аутентификации: push в мобильном приложении или Telegram; одноразовый OTP или СМС-код; звонок, на который необходимо ответить и нажать #;
- Пользователь подтверждает запрос и подключается к VPN.
- Пользователь подключается к VPN, вводит логин и пароль локальной учётной записи в клиенте OpenVPN Connect;
- OpenVPN Access Server подтверждает корректность локального логина и пароля;
- Post-auth плагин Мультифактор запрашивает второй фактор аутентификации: push в мобильном приложении или Telegram, одноразовый OTP или СМС-код, звонок;
- Пользователь подтверждает запрос и подключается к VPN.
I. RADIUS интеграция
Используйте этот вариант интеграции, если ваш поставщик учётных записей – Active Directory.
Первые шаги
- Создайте аккаунт и войдите в административную панель Мультифактор.
- В разделе ресурсы кликните Добавить ресурс. В появившемся списке выберите Другой в разделе Сетевой экран. Заполните необходимые поля для того, чтобы получить параметры NAS Identifier и Shared Secret. Эти параметры потребуются для завершения настройки.
- Загрузите, установите и настройте компонент Multifactor RADIUS Adapter (Windows, Linux).
Настройка OpenVPN Access Server
- Зайдите в административную панель OpenVPN Access Server;
- В разделе Authentication, перейдите в подраздел RADIUS и кликните Use RADIUS;
- В разделе RADIUS Authentication Method выберите метод аутентификации PAP;
- В разделе RADIUS Settings укажите адрес RADIUS-компонента и Shared Secret из настроек компонента;
- Кликните Save Settings для сохранения настроек;
- Чтобы изменения вступили в силу кликните Update Running Server.
Примечание
Убедитесь, что в списке только один RADIUS сервер, иначе OpenVPN AS будет отправлять запросы во все поочередно.
II. Post-auth интеграция
Используйте этот вариант интеграции, если ваш поставщик учётных записей – локальная директория учётных записей OpenVPN AS.
Первые шаги
- Создайте аккаунт и войдите в административную панель Мультифактор.
- В разделе ресурсы кликните Добавить ресурс. В появившемся списке выберите Другой в разделе Сетевой экран. Заполните необходимые поля для того, чтобы получить параметры NAS Identifier и Shared Secret. Эти параметры потребуются для завершения настройки.
- В случае аутентификации локальных пользователей OpenVPN AS создайте соответствующих пользователей в системе Мультифактор. Перейдите в раздел пользователи и кликните Добавить пользователя или Импортировать.
- Загрузите Post-auth плагин Мультифактор для OpenVPN Access Server.
Настройка Post-auth плагина
-
Откройте файл
post_auth_multifactor.py
c помощью текстового редактора. В файле необходимо задать значения параметрам NAS_IDENTIFIER и SHARED_SECRET....
NAS_IDENTIFIER = ''
SHARED_SECRET = ''
HOST = 'api.multifactor.ru'
...
Сохраните изменения и закройте текстовый редактор.
-
Разместите скрипт
post_auth_multifactor.py
в директории/usr/local/openvpn_as/scripts/
на сервере OpenVPN Access Server.$ scp post_auth_multifactor.py \
<SSH_USER>@<AS_HOST>:/home/<SSH_USER>/post_auth_multifactor.py
Замените
<SSH_USER>
и<AS_HOST>
на фактические имя пользователя и IP-адрес сервера. Сначала загрузите скрипт в домашнюю директорию, т.к. по умолчанию у административного пользователя OpenVPN AS нет прав на запись безsudo
.Если сервер был развернут с помощью средств виртуализации Microsoft Hyper-V, VMWare ESXi, Amazon AWS, Microsoft Azure, Google Cloud Platform и других, SSH вход может быть защищён приватным ключом. В таком случае, задайте путь к ключу с помощью опции
-i <PATH_TO_PRIVATE_KEY>
. -
Откройте новую SSH-сессию.
$ ssh <SSH_USER>@<AS_HOST>
-
Переместите
post_auth_multifactor.py
в директорию со скриптами.$ sudo mv post_auth_multifactor.py /usr/local/openvpn_as/scripts/ \
post_auth_multifactor.py
-
Убедитесь, что файл является исполняемым.
$ sudo chmod a+x /usr/local/openvpn_as/scripts/post_auth_multifactor.py
Установка Post-auth плагина
-
Задайте
post_auth_multifactor.py
Post-auth скриптом по умолчанию с помощью инструмента командной строки sacli. Если у SSH-пользователя нет прав на выполнениеsudo
, задайте имя административного пользователя из веб-консоли с помощью опции-a <USER>
.$ sudo /usr/local/openvpn_as/scripts/sacli \
--key "auth.module.post_auth_script" \
--value_file="/usr/local/openvpn_as/scripts/post_auth_multifactor.py" \
ConfigPut
-
Запустите сервисы.
$ sudo /usr/local/openvpn_as/scripts/sacli start
Тестирование входа
После настройки и установки Post-auth плагина Мультифактор попробуйте подключиться к VPN с помощью веб-интерфейса или клиента OpenVPN Connect.
Если установка прошла успешно, клиент запросит второй фактор для аутентификации с помощью SMS или OTP-кода.
- Для аутентификации по SMS или OTP-коду введите код в отдельном окне ввода OpenVPN Connect.
- Для аутентификации с помощью мобильного приложения Мультифактор (iOS, Android) или Telegram нажмите Да, это я в уведомлении с запросом подтверждения аутентификации.
Журналы
Журналы доступны в файлах /var/log/syslog
и /var/log/openvpnas.log
.
Решение проблем
Причины наиболее частных проблем с аутентификацией:
- Вы используете bootstrap-пользователя
openvpn
, для которого игнорируются правила post-auth аутентификации. Пользователя рекомендуется отключать после полной настройки сервера. Инструкции по отключению; - Вы используете auto-login профиль, который игнорирует правила Post-auth;
- Логины пользователей в админ-панели Multifactor не соответствуют логинам локальных пользователей в OpenVPN Access Server;
- В файле
post_auth_multifactor.py
неверно указаны NAS Identifier и Shared Secret; - Плагин не имеет прав на исполнение
a+x
; - Плагин некорректно установлен;
- Сервер не был перезапущен после установки плагина.
Смотрите также:
- Post-Auth Programming Notes And Examples.
- Troubleshooting Authentication Related Problems - Reset default openvpn account administrative access.
- Access Server Admin Web UI First Login - Disable the Bootstrap Admin.