openvpn-2fa-otp-freeradius-ldap

Форк
1

4 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
README.md

Двухфакторная аутентификация (OTP) в OpenVPN с использованием FreeRADIUS и LDAP.

Полное описание настройки системы:

Возможности

  • аутентификации пользователей с помощью логина и пароля из LDAP-каталога.
  • удобный ввод логина, пароля, OTP-кода в отдельные независимые поля интерфейса клиента OpenVPN, а не после пароля или вместо пароля.
  • различные комбинации использования логина, пароля, OTP-кода в зависимости от задач.
  • отказоустойчивость, возможность использования нескольких серверов аутентификации.
  • использование LDAP-каталога для централизованного управления пользователями.
  • хранение seed-значений для генератора OTP-кодов независимо от того, какой сервер LDAP-каталога используется (контроллер домена ActiveDirectory, FreeIPA, lldap или другие).
  • возможность передать функцию создания, обновления seed-значений для генератора OTP-кодов техподдержке без необходимости подключаться к серверам OpenVPN.
  • использование на смартфонах любого приложения для генерации OTP-кодов (Яндекс.Ключ, FreeOTP Authenticator и др.).
  • независимость от работоспособности облачных провайдеров 2FA. (При неработоспособности облачного сервиса 2FA или отсутствии связи между вашими серверами и сервисом 2FA вы автоматически теряете удаленный доступ в свою инфраструктуру).

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

  1. доступ пользователей через OpenVPN в инфраструктуру компании.
  2. резервный самодостаточный безопасный удаленный доступ в инфраструктуру для администраторов на случай аварий или сбоев.

В обоих сценариях:

  • не предполагается использование персональных сертификатов для каждого пользователя. Однако, это не исключает использования сертификатов в качестве дополнительной меры защиты.
  • для аутентификации используется логин, пароль и OTP-код.

Архитектура

Система состоит из двух частей:

  1. Сервер OpenVPN с плагином аутентификации. Используется уже существующий openvpn-multi-authentication-plugin.
  2. Сервер FreeRADIUS с плагином проверки OTP-кода и отправки логина/пароля LDAP-серверу. А так же сервер PostgreSQL для хранения начальных значений генераторов OTP-кодов пользователей.

Хранение пользователей и их аутентификацию выполняет любой LDAP-сервер (контроллер домена Active Directory, FreeIPA, lldap, 389ds и другие).

Обе части системы можно использовать независимо, например:

  • OpenVPN с плагином можно использовать в сочетании с любыми другими сервисами 2FA.
  • Freeradius и плагин к нему вместе с VPN шлюзами, способными аутентифицировать пользователей по протоколу RADIUS.

Состав репозитория

  • example
    - Пример настройки openvpn, плагина для openvpn, FreeRADIUS, плагина для FreeRADIUS, PostgreSQL, lldap для аутентификации по паролю и OTP. См. example/README.md
  • src
    - исходный код плагина FreeRADIUS, приложения для управления seed-кодами генератора OTP, необходимые конфигурационные файлы для FreeRADIUS, sql-скрипт создания и настройки базы данных.

Описание

Двухфакторная аутентификация (OTP) в OpenVPN с использованием FreeRADIUS и LDAP.

https://strongpass.ru/blog/openvpn-2fa-otp-freeradius-ldap

Языки

Python

  • Dockerfile
Сообщить о нарушении

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.