Categories: Ai

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

Существующие варианты реализации 2FA для OpenVPN основываются на модуле google-authenticator-libpam для OTP‑кодов и плагинов аутентификации OpenVPN libpam-radius-auth, openvpn-plugin-auth-pam, openvpn-auth-ldap и имеют ряд недостатков как для пользователя так и для администратора.

Поскольку и OpenVPN, и FreeRADIUS позволяют подключать плагины мы можем, написав собственный плагин, реализовать такую схему, которая позволит нам:

использовать для аутентификации пользователей логин и пароль из LDAP‑каталога.

удобно вводить логин, пароль, OTP в отдельные независимые поля интерфейса, а не после пароля или вместо пароля.

реализовать различные комбинации использования логина, пароля, OTP в зависимости от задач.

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

использовать LDAP‑каталог для централизованного управления пользователями.

хранить seed‑значения для генератора OTP независимо от того, какой LDAP‑каталог используется (ActiveDirectory, FreeIPA, lldap или другие).

передать функцию создания, обновления seed‑значений для генератора OTP техподдержке без необходимости подключаться к серверам OpenVPN.

использовать на смартфонах любое приложение для генерации OTP (Яндекс.Ключ, FreeOTP Authenticator и др.).

не зависеть от работоспособности облачных провайдеров 2FA.

Система рассчитана на следующие сценарии использования:

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

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

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

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

для аутентификации используется логин, пароль и OTP.

Читать далее

Share
Published by

Recent Posts

Магия CSS на практике: советы по вёрстке от гика. Часть 4

Хабр, привет! Я снова пришёл к вам со статьёй, где показываю мои любимые техники вёрстки.…

3 месяца ago

JavaScript: структуры данных и алгоритмы. Часть 5

Привет, друзья! В этой серии статей мы разбираем структуры данных и алгоритмы, представленные в этом…

3 месяца ago

Реализация событий через HTTP

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

3 месяца ago

Каннибализм трафика. Нужно ли вести контекст по брендовым запросам?

Со времён появления контекстной рекламы маркетологов не перестаёт мучить вопрос:"А есть ли смысл вести контекст по…

3 месяца ago

Презентация Apple 2024: новая кнопка на iPhone 16, функция слухового аппарата у AirPods, кинокамера в iPhone Pro

Накануне в прямом эфире прошла большая презентация новой техники от компании Apple. Команда Тима Кука…

3 месяца ago

Сразу два аналога Notion, бесплатный сервис аналитики для продавцов на WB – эти и другие российские стартапы

10 новых российских сервисов для нарезки шортсов при помощи ИИ, публикации в цифровых СМИ, авто-ответов…

3 месяца ago