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

Вопрос или проблема

Я установил OpenVPN на Ubuntu 16.4.2 и пытаюсь добавить двухфакторную аутентификацию с помощью Google Authenticator.
У кого-нибудь есть руководство или инструкция по тому, как это сделать?

Спасибо,

Шимон.

После создания полностью функционального VPN-сервера я продолжил настройку, используя это руководство:

https://www.howtoforge.com/securing-openvpn-with-a-one-time-password-otp-on-ubuntu

Одна важная вещь, которая не упомянута в руководстве:
для каждого пользователя, который будет использовать этот VPN, необходимо создать учетную запись с определенной папкой.
Google Authenticator сохраняет учетные данные в домашней папке пользователя.

.

Ответ или решение

Установка OpenVPN с двухфакторной аутентификацией является важным шагом для обеспечения безопасности вашей сети, особенно при использовании Ubuntu 16.04.2, как упомянуто в вашем случае. Я предложу вам подробное руководство по настройке OpenVPN с использованием двухфакторной аутентификации посредством Google Authenticator. Данный метод добавит дополнительный уровень защиты, требуя одноразовый пароль при каждом подключении к VPN.

Теория

Двухфакторная аутентификация (2FA) добавляет второй уровень безопасности к обязательному вводу пароля. Помимо стандартного пароля, 2FA требует наличие вторичного устройства для подтверждения личности, например, мобильного телефона, на который высылается одноразовый код. В случае с OpenVPN и Google Authenticator, этот процесс будет включать временные одноразовые пароли (TOTP).

Пример

Рассмотрим пример использования двухфакторной аутентификации для VPN. Предположим, вы администратор сети и ответственный за безопасность корпоративной сети. Выдача простой пары логин/пароль недостаточна, чтобы защитить корпоративные данные. Поэтому внедрение 2FA через Google Authenticator позволяет вам потребовать от всех пользователей ввести дополнительный временный код с мобильного устройства, таким образом, значительно увеличивая безопасность.

Применение

Теперь рассмотрим процесс установки и настройки OpenVPN с 2FA на Ubuntu 16.04.2.

Шаг 1: Установка Google Authenticator

Сначала установите Google Authenticator, который будет использоваться для 2FA:

  1. Откройте терминал и обновите ваш список пакетов:

    sudo apt-get update
  2. Установите пакеты для Google Authenticator:

    sudo apt-get install libpam-google-authenticator

Шаг 2: Настройка Google Authenticator

Для каждого пользователя, который должен иметь доступ к VPN, потребуется выполнить следующие действия:

  1. Войдите под учетной записью пользователя:

    su - username
  2. Запустите настройку Google Authenticator:

    google-authenticator
  3. Следуйте инструкциям на экране. Система запросит, хотите ли вы обновлять ваш файл secret, настройте ограничения на время и частоту использования, а также сохраните QR-код и ключи восстановления.

  4. Проверьте, что файл .google_authenticator создался в домашней директории пользователя.

Шаг 3: Настройка OpenVPN для поддержки 2FA

Теперь необходимо настроить сам OpenVPN сервер для работы с двухфакторной аутентификацией.

  1. Откройте файл конфигурации OpenVPN, обычно это /etc/openvpn/server.conf.

  2. Добавьте следующий параметр для использования PAM:

    plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
  3. Перезапустите службу OpenVPN для применения изменений:

    sudo systemctl restart openvpn@server

Шаг 4: Настройка PAM

Теперь нужно настроить PAM для проверки кодов Google Authenticator:

  1. Откройте файл /etc/pam.d/openvpn:

    sudo nano /etc/pam.d/openvpn
  2. Добавьте следующую строку для указания того, что OpenVPN должен использовать Google Authenticator:

    auth requisite pam_google_authenticator.so
  3. Сохраните и закройте файл.

Шаг 5: Клиентская настройка

На клиентской стороне, установите OpenVPN и отредактируйте клиентские .ovpn файлы, чтобы они поддерживали аутентификацию.

  1. Убедитесь, что каждый пользователь имеет VPN-клиент с необходимыми сертификатами и корректно настроенным .ovpn файлом.

  2. При подключении к VPN убедитесь, что кроме имени пользователя и пароля запрашивается дополнительно одноразовый код из Google Authenticator.

Заключение

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

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

Оцените материал
Добавить комментарий

Капча загружается...