Описание
При подключении к OpenVPN пользователи проходят двухэтапную аутентификацию: вводят логин и пароль (первый фактор) и подтверждают вход с помощью второго фактора (Push-уведомление, TOTP или Telegram-бот).
Для интеграции используется PAM-адаптер Simple2FA, который устанавливается на сервер OpenVPN и взаимодействует с локальным инстансом Simple2FA по HTTPS.
Схема работы:
- Пользователь подключается к OpenVPN и вводит логин и пароль.
- OpenVPN передает учетные данные в PAM-адаптер Simple2FA.
- PAM-адаптер отправляет логин и пароль в локальный инстанс Simple2FA по HTTPS.
- Локальный инстанс Simple2FA проверяет первый фактор через Active Directory, LDAP или Keycloak.
- При успешной проверке первого фактора локальный инстанс инициирует проверку второго фактора.
- Пользователь подтверждает вход через Push, TOTP или Telegram-бот.
- После успешной проверки второго фактора OpenVPN устанавливает VPN-соединение.
Подготовка в Simple2FA
Войдите в административную панель локального инстанса Simple2FA. Перейдите в раздел «Настройка ресурсов» и создайте новый ресурс:
- Название: OpenVPN (или любое удобное)
- Описание: краткое описание ресурса
- Проверка первого фактора: включена
В панели управления Simple2FA откройте ресурс OpenVPN и скопируйте:
- API key ресурса
- адрес local-backend
Требования
- ОС: Linux (Astra Linux 1.7+, Debian 11+)
- OpenVPN: версии 2.5 и выше
- Наличие PAM в системе
- Доступ сервера OpenVPN к local-backend по HTTPS (TCP 443)
- Корректное системное время (NTP) на сервере OpenVPN и local-backend
- Права root для установки PAM-адаптера и изменения PAM-конфигурации
Установка PAM-адаптера
1) Скопируйте PAM-адаптер
- Скопируйте модуль simple2fa_pam.so в системный каталог PAM.
- Для Debian-based систем используется каталог /lib/security/.
- Для RPM-based систем используется каталог /usr/lib64/security/.
2) Установите OpenVPN PAM-plugin
- Установите пакет OpenVPN PAM-plugin и необходимые PAM-библиотеки.
- Для Debian plugin обычно располагается по пути:
/usr/lib/openvpn/plugins/openvpn-plugin-auth-pam.so
3) Создайте конфигурацию Simple2FA
Создайте файл конфигурации PAM-адаптера рядом с конфигурацией OpenVPN.
В конфигурации указываются:
- API key ресурса OpenVPN
- URL local-backend
- параметры проверки первого фактора
- настройки логирования
- режим работы OTP
4) Настройте PAM для OpenVPN
В файл /etc/pam.d/openvpn добавляется конфигурация PAM-адаптера Simple2FA.
5) Настройте OpenVPN
В конфигурации OpenVPN подключается PAM-plugin и включается поддержка deferred PAM authentication.
6) Перезапустите OpenVPN
После применения конфигурации перезапустите сервис OpenVPN.
Проверка работы
- Подключитесь к OpenVPN
- Введите логин и пароль пользователя
- Дождитесь запроса второго фактора
- Подтвердите вход через Push, Telegram или TOTP
- После успешной проверки VPN-соединение будет установлено
После успешной проверки первого фактора пользователь должен получить запрос на подтверждение второго фактора Simple2FA.