Настройка Open VPN
Шаги, необходимые для настройки двухфакторной аутентификации в Open VPN:
Двухфакторная аутентификация для бизнеса Контур.ID
Создание конфигурации ресурса
- Зайдите в кабинет администратора.
- Перейдите в «Ресурсы» и выберите OpenVPN.
- Добавьте новую конфигурацию.
-
Заполните настройки:
- Название конфигурации: укажите любое имя, например, Kontur.ID.
-
: укажите операционную систему, на которой будет развернут серверный компонент RADIUS.
- Порт Radius Adapter: укажите порт адреса машины, на которой будет развернут серверный компонент RADIUS.
- Shared Secret: скопируйте и сохраните секрет — он понадобится для настройки OpenVPN.
- Основной фактор: укажите Active Directory, OTP-код или Radius.
- Второй фактор: выберите второй фактор — OTP-код или Push/звонок.
- Запрос второго фактора: укажите «У всех» или настройте ограничения по группам пользователей.
- Саморегистрация пользователей: включите или отключите саморегистрацию.
-
Домен: укажите домен, в котором серверный компонент RADIUS будет проверять логин и пароль.
- Нажмите на кнопку «Сохранить и скачать».
В результате вы получите zip-архив, в котором содержится папка с настройками двухфакторной аутентификации.
Файлы конфигурации уже настроены и готовы к использованию для защиты на второй фактор.
Установка модуля PAM to RADIUS
Модуль PAM to RADIUS — свободное программное обеспечение, которое позволяет серверу на базе Linux стать клиентом RADIUS для аутентификации. Чтобы настроить взаимодействие между сервером RADIUS-адаптером и Open VPN, скачайте модуль PAM to RADIUS.
Установите модуль:
- Для Debain, Ubuntu выполните команду:
Установка модуля PAM to RADIUS
sudo apt-get install libpam-radius-auth
- Для CentOS, RedHat, Fedora выполните команды:
Установка пакета epel-release
sudo yum -y install epel-release
Установка модуля PAM to RADIUSsudo yum -y install pam_radius
Настройка модуля PAM to RADIUS
-
Откройте или создайте файл конфигурации:
sudo nano /etc/pam_radius_auth.conf
- Заполните настройки:
- server[:port]: IP-адрес и порт, на котором установлен RADIUS-адаптер. По умолчанию порт 1812, если не указан другой.
-
shared_secret: общий секрет RADIUS-сервера из панели управления Контур.ID или из файла appsettings.json.
-
timeout: время ожидания пользовательской аутентификации. Рекомендуемое время — 60 секунд.
Настройка PAM to RADIUS# server[:port] #shared_secret #timeout (s) 127.0.0.1:1812 secret 60
- Удалите из файла конфигурации примеры серверов.
- Сохраните изменения.
Настройка сервера Open VPN
- Откройте конфигурационный файл сервера Open VPN. Обычно он находится в директории
/etc/openvpn/
и имеет расширение.conf.
Например,server.conf:
sudo nano /etc/openvpn/server/server.conf
- Добавьте в файл строку, чтобы подключить модуль для аутентификации пользователей:
# plugin /путь/до модуля/openvpn-plugin-auth-pam.so openvpn plugin /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn
Модуль openvpn-plugin-auth-pam.so может находиться в разных директориях в зависимости от дистрибутива Linux. Чтобы найти, где установлен модуль, выполните следующую команду:
cd / find . -name openvpn-plugin-auth-pam.so
- После подключения модуля
openvpn-plugin-auth-pam.so
, добавьте в файл строку:# включение отложенной аутентификации PAM setenv deferred_auth_pam 1
-
Сохраните изменения.
- Перезапустите службу Open VPN, чтобы применить изменения.
Если VPN-сервер использует локальную базу данных вместо Active Directory, то укажите OTP-код основным фактором. Схема работы аутентификации будет следующая:
- первый фактор — сертификат пользователя;
- второй фактор — OTP-код.
-
Откройте конфигурационный файл. Если файла нет, создайте его.
sudo nano /etc/pam.d/openvpn
-
Добавьте строки:
auth sufficient pam_radius_auth.so client_id=NAS-IDentifier account sufficient pam_permit.so session sufficient pam_permit.so
Настройка взаимодействия сервера Open VPN с модулем PAM to RADIUS
-
Откройте конфигурационный файл. Если файла нет, создайте его.
sudo nano /etc/pam.d/openvpn
-
Добавьте в файл строки:
auth required pam_radius_auth.so account sufficient pam_permit.so session sufficient pam_permit.so
- Сохраните изменения.
Настройка клиента Open VPN
- Откройте конфигурационный файл клиента.
-
Добавьте строку:
auth-user-pass
Клиент Open VPN будет запрашивать имя и пароль у пользователя при каждом подключении к VPN-серверу.
- Сохраните изменения.
Настройка двухфакторной аутентификации в Open VPN завершена.