Настройка двухфакторной аутентификации в OpenVPN — Контур.Эгида

В этой статье

Настройка двухфакторной аутентификации в OpenVPN

5 февраля 2026

Двухфакторная аутентификация в OpenVPN позволяет обеспечить безопасное подключение к корпоративной сети по схеме «логин и пароль + код из телефона». В этом пошаговом гайде разберём, как выполнить настройку OpenVPN сервера и клиента с использованием RADIUS и сервиса двухфакторной аутентификации ID.

Фотография Дмитрий Мельников Дмитрий Мельников Руководитель группы

Что такое двухфакторная аутентификация в OpenVPN

Двухфакторная аутентификация в OpenVPN — это механизм, при котором для подключения к VPN используется не один, а два независимых фактора подтверждения. В базовой схеме OpenVPN проверяет только логин и пароль пользователя. При включении второго фактора аутентификация становится двухуровневой: к паролю добавляется одноразовый код, полученный на личное устройство пользователя.

Технически OpenVPN сам по себе не генерирует коды и не управляет вторым фактором. Он передаёт данные аутентификации во внешние компоненты — PAM и RADIUS. Уже на их стороне происходит проверка логина, пароля и одноразового кода, сгенерированного, например, в мобильном приложении Коннекта от Контур.Эгиды, работающем в связке с сервисом ID.

В результате OpenVPN остаётся точкой входа, а вся логика двухфакторной авторизации выносится в специализированную систему управления доступом.

Зачем нужна дополнительная защита VPN

VPN-соединение — это прямой доступ во внутреннюю сеть компании. Через него пользователь может получать доступ к корпоративным сервисам, файловым хранилищам, административным интерфейсам и внутренним API.

Если используется только пароль, безопасность VPN полностью зависит от:

  • сложности пароля;
  • дисциплины пользователей;
  • отсутствия фишинга и утечек.

На практике пароли часто становятся слабыми звеньями: их перехватывают, подбирают или получают через социальную инженерию. В таком случае злоумышленник получает тот же уровень доступа, что и легитимный пользователь.

Дополнительная защита VPN решает эту проблему за счёт разделения факторов:

первый фактор — то, что пользователь знает (логин и пароль);

второй фактор — то, чем пользователь владеет (телефон с приложением для генерации кодов).

Даже если пароль скомпрометирован, вход без второго фактора невозможен. Это существенно снижает риск взлома и делает VPN с подтверждением устойчивым к большинству массовых атак.

Как работает схема «пароль плюс код»

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

  1. Пользователь запускает OpenVPN Connect или OpenVPN GUI и выбирает профиль подключения. Клиент запрашивает данные для аутентификации.
  2. Пользователь вводит логин и пароль. Эти данные OpenVPN не проверяет самостоятельно, а передаёт дальше по цепочке.
  3. OpenVPN передаёт введённые данные в PAM — системный механизм аутентификации на сервере. PAM отвечает за то, каким образом и через какие модули будет выполняться проверка.
  4. PAM перенаправляет запрос в RADIUS-адаптер. На этом этапе система уже ожидает не только пароль, но и подтверждение второго фактора.
  5. Пользователь получает одноразовый код в мобильном приложении Коннект и вводит его вместе с логином и паролем. Этот код действителен ограниченное время и не может быть использован повторно.
  6. RADIUS сверяет введённый код с данными сервиса ID. Если код корректен и пользователь имеет право на доступ, аутентификация считается успешной.
  7. Только после успешной проверки всех факторов OpenVPN устанавливает защищённое VPN-соединение и предоставляет доступ к сети.

Важно:

  • OpenVPN не знает, как формируется код;
  • PAM не хранит данные второго фактора;
  • вся логика подтверждения сосредоточена в системе 2FA.

Шаг 1: Создание конфигурации ресурса

На этом этапе создаётся базовая логика двухфакторной аутентификации: какие факторы используются, кто проходит проверку и какие параметры будет применять OpenVPN.

Что понадобится на сервере

Для настройки сервера VPN с двухфакторной аутентификацией потребуются:

  • сервер OpenVPN;
  • доступ в кабинет администратора ID;
  • сетевой доступ к RADIUS-адаптеру.

Выбор приложения для кодов (Коннект)

Генерация кодов выполняется через приложение Коннект. Оно не устанавливается на сервер и используется только пользователями для мобильного подтверждения входа.

Создание конфигурации в ID

  1. Перейдите в кабинет администратора ID.
  2. Откройте раздел Ресурсы.
  3. Выберите OpenVPN.
  4. Добавьте новую конфигурацию.
  5. Укажите:
    • название ресурса;
    • платформу сервера;
    • порт RADIUS (по умолчанию 1812);
    • Shared Secret;
    • второй фактор — OTP-код;
    • правило запроса второго фактора.
  6. Сохраните настройки и скачайте архив.

Полученные профили для OpenVPN и параметры RADIUS используются на следующих шагах.

Шаг 2: Подключение RADIUS-адаптера к инфраструктуре

RADIUS-адаптер — связующее звено между OpenVPN и системой двухфакторной аутентификации.

Установка RADIUS-адаптера на Windows

  1. Установите:
    • .NET Runtime 8;
    • ASP.NET Core Runtime 8 (x64/x86/Arm64 — по архитектуре сервера).
  2. Распакуйте архив конфигурации.
  3. Перейдите в папку RadiusProxy.
  4. Запустите windows_install.bat от имени администратора.
  5. После установки убедитесь, что служба RADIUS:
    • запущена;
    • слушает указанный порт (обычно UDP 1812);
    • не блокируется firewall.

Адаптер может работать:

  • в режиме службы Windows (для постоянной эксплуатации);
  • в консольном режиме (для первичной отладки).

Установка RADIUS-адаптера на Linux

  1. Установите зависимости:
    • .NET Runtime 8;
    • ASP.NET Core Runtime 8;
    • библиотеку libldap-2.5-0 (обязательно для Ubuntu 24).
  2. Распакуйте архив конфигурации.
  3. Перейдите в каталог RadiusProxy.
  4. Запустите установочный скрипт: sudo bash./linux_install.sh
  5. Скрипт автоматически:
    • создаст службу systemd;
    • развернёт файлы в /opt/kontur/RadiusProxy;
    • настроит права доступа;
    • установит недостающие библиотеки.
  6. Проверьте статус службы: sudo systemctl status RadiusProxy

Шаг 3: Установка модуля PAM to RADIUS

Этот модуль позволяет OpenVPN использовать RADIUS для проверки логина и одноразового кода.

Установка на Debian / Ubuntu

sudo apt-get update

sudo apt-get install libpam-radius-auth

Установка на CentOS / RedHat / Fedora

Через yum:

sudo yum install epel-release

sudo yum install pam_radius

Через dnf:

sudo dnf install epel-release

sudo dnf install pam_radius

Шаг 4: Настройка модуля PAM to RADIUS

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

1. Откройте файл конфигурации:
sudo nano /etc/pam_radius_auth.conf

2. Добавьте строку:
​IP_СЕРВЕРА:1812 SHARED_SECRET 60

где:

  • IP_СЕРВЕРА — адрес сервера с RADIUS-адаптером;
  • 1812 — порт (если не меняли);
  • SHARED_SECRET — значение из кабинета администратора;
  • 60 — таймаут ожидания подтверждения.

3. Удалите примеры серверов, если они есть.

4. Сохраните файл.

Шаг 5: Настройка сервера OpenVPN

Подключение PAM-плагина

  1. Откройте конфигурацию сервера OpenVPN, например:
    sudo nano /etc/openvpn/server/server.conf
  2. Добавьте строку подключения плагина:
    plugin /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn

    (путь может отличаться — при необходимости найдите файл через find).
  3. Добавьте параметр отложенной аутентификации:
    setenv deferred_auth_pam 1

Настройка PAM-сервиса OpenVPN

  1. Откройте или создайте файл:
    ​sudo nano /etc/pam.d/openvpn
  2. Добавьте:
    • auth required pam_radius_auth.so
    • account sufficient pam_permit.so
    • session sufficient pam_permit.so
  3. Сохраните изменения.
  4. Перезапустите OpenVPN:
  5. sudo systemctl restart openvpn

Шаг 6: Настройка клиента OpenVPN

Подготовка клиентского профиля

  1. Откройте клиентский файл.ovpn.
  2. Добавьте строку:
  3. auth-user-pass
  4. Сохраните файл и импортируйте его в OpenVPN Connect или OpenVPN GUI.

Как проходит подключение

При подключении пользователь:

  1. Вводит логин и пароль.
  2. Получает запрос второго фактора.
  3. Вводит одноразовый код из мобильного приложения.
  4. После проверки устанавливается защищенное VPN-соединение.

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

Шаг 7: Добавление пользователя в кабинет ID

  1. Перейдите в кабинет администратора ID
  2. Откройте раздел Пользователи — Приглашенные
  3. Отправьте приглашение пользователю на корпоративную почту

После этого пользователь появляется в системе ID, но второй фактор ещё не активирован — требуется привязка мобильного устройства.

Шаг 8: Подключение мобильного приложения и активация OTP

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

  1. Пользователь проходит по ссылке из письма-приглашения, которое ему отправлял администратор.
  2. Нужно настроить второй фактор для этого в личном кабинете нажать “Начать настройку”, а затем выбрать способ подтверждение через Коннект.

Каждый код:

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

Если пользователь не зарегистрирован в ID или у него не привязано мобильное устройство, проверка второго фактора завершится ошибкой.

Шаг 9. Проверка и тестирование

Первый запуск подключения

При корректной настройке система запрашивает:

  • VPN логин и пароль;
  • одноразовый код.

Что делать при ошибках

  • openvpn user authentication failed — проверить логин и Shared Secret;
  • код не принимается — проверить синхронизацию времени и привязку пользователя;
  • таймаут — увеличить время ожидания в настройках RADIUS.
Фотография Дмитрий Мельников Дмитрий Мельников Руководитель группы
Узнайте, как сотрудники относятся к информационной безопасности и защищают ресурсы компании
Подписаться

Узнайте, как сотрудники относятся к информационной безопасности и защищают ресурсы компании
Пришлем ссылку на результаты исследований о человеческом факторе в ИБ на почту, которую вы указали
Подписаться