Общие сведения

Avanpost FAM позволяет обеспечить 2FA для пользователей, выполняющих подключение при помощи клиента OpenVPN . В инструкции описывается настройка 2FA для OpenVPN с использованием RADIUS-сервера Avanpost FAM, pam_radius модуля и различные сценарии использования 2FA для OpenVPN.

Сценарий взаимодействия OpenVPN с Avanpost FAM для аутентификации:

  1. Пользователь подключается к VPN, вводит логин и пароль в OpenVPN. OpenVPN подключается к VPN-серверу.
  2. OpenVPN по протоколу RADIUS подключается к службе RADIUS Avanpost FAM, выполняет проверку логина и пароля по одному из настроенных методов аутентификации RADIUS-протокола.
  3. Если для OpenVPN настроена проверка дополнительных факторов аутентификации, то OpenVPN запрашивает у пользователя проверку этих факторов в режиме диалога или в фоновом режиме.
  4. После успешной проверки аутентификаторов в соответствии с настроенным сценарием аутентификации пользователь успешно подключен к VPN.

Для OpenVPN в качестве второго фактора (2FA) возможно использование следующих методов аутентификации:

Через клиент OpenVPN доступна первичная настройка аутентификаторов для тех пользователей, для которых настройка не была выполнена:

  • Мобильное приложение Avanpost Authenticator;
  • TOTP;
  • SMS;
  • E-mail.

Для выполнения настройки 2FA в OpenVPN в соответствии с настоящей инструкцией должны быть выполнены следующие предварительные условия:

  1. Установлен в сети OpenVPN, настроен VPN-сервера.
  2. Установлен АРМ с клиентом OpenVPN, который может выполнить подключение по VPN через OpenVPN.
  3. Установлен в сети компонент Avanpost FAM Server .

Если необходима аутентификация через:

  1. Мобильное приложение Avanpost Authenticator, то установить компонент Avanpost FAM Mobile Services .
  2. Мобильное приложение SafeTech PayControl, то установить сервер SafeTech PayControl.
  3. SMS, то настроить подключение к внешнему SMS-шлюзу, который предоставляет услугу доставки SMS-сообщений.
  4. E-mail, то настроить подключение к SMTP-шлюзу, который обеспечивает доставку почтовых сообщений.
  5. Telegram, то настроить подключение к Telegram Bot API.

Настройка

В рамках данной инструкции предполагается первичная настройка RADIUS-сервера на стороне OpenVPN или замена ранее используемого RADIUS-сервера на RADIUS-сервер Avanpost FAM.

Для выполнения настройки необходимо наличие следующих параметров:

  • IP-адрес и порт RADIUS-интерфейса компонента Avanpost FAM Server;
  • IP-адрес сервера OpenVPN, с которого будет осуществляться отправка RADIUS-запросов;
  • планируемое уникальное в рамках RADIUS-сервера Avanpost FAM значение NAS-Identifier;
  • планируемый разделяемый RADIUS-секрет.

На стороне OpenVPN необходимо выполнить следующие настройки:

  1. Добавить плагин аутентификации. Для этого в конец конфигурационного файла /etc/openvpn/ server/ server.conf (или /etc/openvpn/server.conf в зависимости от ОС) OpenVPN-сервера добавить строку:

    plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn
  2. Создать и настроить конфигурационный файл PAM-модуля аутентификации и добавить в него строки:

    auth    sufficient  pam_radius_auth.so client_id=NASIDENTIFIER
    account sufficient  pam_permit.so
    session sufficient  pam_permit.so

    , где NASIDENTIFIER - запланированное значение NAS-Identifier:
    При необходимости более тонкой настройка, то следует обратиться к документации на модуль pam_radius.

  3. Задать разделяемый RADIUS-секрет в конфигурационном файле pam_radius-модуля /etc/pam_radius.conf:

    192.168.1.101   shared_secret   60

    , где:

    1. 192.168.1.101 – IP-адрес RADIUS-сервера Avanpost FAM,
    2. shared_secret – разделяемый RADIUS-секрет,
    3. 60 - таймаут ожидания ответа от RADIUS-сервера в секундах.
  4. Выполнить перезапуск OpenVPN:

    systemctl restart openvpn-server@server

На стороне административной консоли Avanpost FAM необходимо выполнить следующие настройки:

  1. Создать и настроить приложение с типом RADIUS, указав для него в карточке приложения на вкладке «Настройки»:
    1. Флаг IP-адрес как идентификатор – выключен.
    2. NAS Identifier – NASIDENTIFIER сервера OpenVPN, заданный ранее в конфигурационном файле pam_radius-модуля.
    3. Протокол аутентификации – CHAP.
    4. Флаг Поддержка Access-Challenge – выключен.
  2. В разделе «Разделяемые секреты RADIUS» создать RADIUS-секрет, указав для него в IP-адрес с маской подсети сервера OpenVPN либо подсеть (диапазон IP-адресов), из которой обращается OpenVPN.
  3. Создать и настроить группу доступа, добавив в неё созданное приложение и пользователей, которые должны иметь доступ к приложению.

Проверка настройки

  1. Запустить клиент OpenVPN.
  2. Указать логин и пароль.
  3. Если требуется - выполнить дополнительную аутентификацию в соответствии с настроенным сценарием аутентификации.

  4. Если требуется - выполнить привязку аутентификатора в соответствии с настроенным сценарием.

В результате пользователь должен быть успешно подключен к VPN.

Сценарии использования

Загрузка пользователей OpenVPN из домена (LDAP)

Чтобы пользователи из домена смогли проходить 2FA при подключении к OpenVPN, необходимо использовать встроенную в Avanpost FAM функциональность интеграции с LDAP-каталогами (Microsoft Active Directory, FreeIPA, 389Directory, openldap и т. д.). В рамках этой функции можно настроить LDAP-фильтры, которые позволят обеспечить загрузку в Avanpost FAM только тех пользователей, которые будут использовать OpenVPN. Таким образом можно подключить несколько доменов.

Контроль попыток аутентификации пользователей к OpenVPN через Avanpost FAM

Для контроля попыток аутентификации необходимо использовать журнал событий безопасности, доступный в административном интерфейсе системы и посредством syslog.

Управление доступом пользователей к OpenVPN через Avanpost FAM

Для предоставления доступа пользователю его необходимо включить в группу, которая имеет доступ к созданному приложению. Также можно реализовать автоматическое включение/исключение пользователя из группы в рамках синхронизации с LDAP-каталогом.

Для отзыва доступа у пользователя необходимо исключить его из группы, которая имеет доступ к созданному приложению.

Аутентификация в OpenVPN с 2FA при помощи push-подтверждения в мобильном приложении-аутентификаторе Avanpost Authenticator

Для OpenVPN доступно использование push-аутентификации через мобильное приложение Avanpost Authenticator :

Управление доступом пользователей к OpenVPN через домен (LDAP)

Avanpost FAM в рамках интеграции с LDAP-каталогом (Microsoft Active Directory, FreeIPA, 389Directory, openldap и т. д.) обеспечивает автоматизацию управления членством пользователей в группах Avanpost FAM путём синхронизации членства пользователей в группах Avanpost FAM на основе членства пользователей домена в доменных группах.

Управление вторым фактором (2FA) для OpenVPN через Avanpost FAM

Для настройки второго фактора, который будет использоваться для приложения OpenVPN, необходимо перейти в административной консоли в карточку приложения на вкладку «MFA». В качестве первого шага аутентификации необходимо указать метод – Password . В качестве второго шага можно выбрать один из следующих факторов:

Управление вторым фактором (2FA) для отдельных групп сотрудников, подключающихся к OpenVPN, через Avanpost FAM

Необходимо в административной консоли Avanpost FAM перейти в карточку группы на вкладку «MFA» и настроить дополнительный сценарий аутентификации. Пользователи, входящие в указанную группу, будут проходить аутентификацию с использованием второго фактора, заданного на указанной вкладке. Таким образом можно определить специфический сценарий 2FA для администраторов и других привилегированных пользователей, подключающихся к OpenVPN.

Аутентификация в OpenVPN пользователя без настроенного второго фактора (2FA)

Если у пользователя не привязан аутентификатор, обязательный для подключения к OpenVPN, то система отклонит запрос на аутентификацию. Пользователю потребуется обратиться в систему с поддержкой функции Inline-привязки либо воспользоваться личным кабинетом. После выполнения привязки аутентификатора система запросит у пользователя аутентификацию с использованием этого же аутентификатора.

Изменение метода проверки пароля в рамках RADIUS для OpenVPN

Для OpenVPN доступны следующие RADIUS-методы проверки пароля RADIUS-сервера Avanpost FAM:

  • PAP;
  • CHAP;
  • MSCHAPv2.

Метод проверки пароля MSCHAPv2 требует наличия включенного на стороне OpenVPN флага Microsoft CHAPv2 Capable.