ProHoster > Двофакторна аутентифікація в OpenVPN з Telegram ботом
Двофакторна аутентифікація в OpenVPN з Telegram ботом
У статті описується налаштування сервера OpenVPN для включення двофакторної аутентифікації з Telegram ботом, який надсилатиме запит з підтвердженням при підключенні.
OpenVPN — широко відомий, безкоштовний VPN сервер з відкритим вихідним кодом, який використовується для організації захищеного доступу співробітників до внутрішніх ресурсів організації.
Як автентифікацію для підключення до VPN серверу, як правило використовується комбінація з ключа і логіна/пароля користувача. При цьому, збережений на клієнті пароль перетворює весь набір на єдиний фактор, що не забезпечує належний рівень безпеки. Зловмисник, отримавши доступ до клієнтського комп'ютера, отримує доступ і до сервера VPN у тому числі. Особливо це стосується підключення машин під керуванням Windows.
Використання другого фактора на 99% скорочує ризик неправомірного доступу і не ускладнює процес підключення для користувачів.
Відразу зазначу, для реалізації буде потрібно підключення стороннього сервера аутентифікації multifactor.ru, в якому для своїх потреб можна використовувати безкоштовний тариф.
Принцип роботи
OpenVPN використовує плагін openvpn-plugin-auth-pam для автентифікації
Плагін перевіряє пароль користувача на сервері та запитує другий фактор через RADIUS протокол у сервісі Мультифактора
Мультифактор надсилає через Telegram робота повідомлення користувачу з підтвердженням доступу
Користувач підтверджує в Telegram чаті запит доступу та підключається до VPN
Встановлення сервера OpenVPN
В інтернеті безліч статей, що описують процес встановлення та налаштування OpenVPN, тому ми не будемо їх дублювати. Якщо вам потрібна допомога, наприкінці статті є кілька посилань на навчальні матеріали.
Налаштування мультифактора
Зайдіть в систему управління Мультифактором, зайдіть у розділ "Ресурси" та створіть новий VPN.
Після створення вам будуть доступні два параметри: NAS-IDentifier и Спільна таємниця, вони будуть потрібні для подальшої настройки.
У розділі "Групи", зайдіть у параметри групи "All users" і приберіть прапорець "Всі ресурси", щоб тільки користувачі певної групи могли підключатися до VPN серверу.
Створіть нову групу "VPN users", відключіть усі способи автентифікації окрім Telegram та вкажіть, що користувачі мають доступ до створеного ресурсу VPN.
У розділі "Користувачі" створіть користувачів, які матимуть доступ до VPN, додайте до групи "VPN users" і надішліть їм посилання на налаштування другого фактора автентифікації. Логін користувача повинен збігатися з логіном на сервері VPN.
Налаштування сервера OpenVPN
Відкрийте файл /etc/openvpn/server.conf та додайте плагін для аутентифікації за допомогою PAM модуля