Якщо ви хочете створити VPN-сервер, дозвольте мені сказати вам, що є чудовий варіант, який ви можете використовувати для досягнення своєї мети: проект Firezone розробляє VPN-сервер для організації доступу до хостів у внутрішній мережі, ізольованій від пристроїв користувачів, розташованих у зовнішніх мережах.
Проєкт спрямований на досягнення високого рівня безпеки та спрощення процесу впровадження VPN.
Про Firezone
Проєкт розробляє інженер з автоматизації безпеки Cisco , який прагнув створити рішення, що автоматизує роботу з конфігурацією хоста та усуває проблеми, з якими їм доводилося стикатися під час організації безпечного доступу до віртуальних віртуальних персональних комп'ютерів (VPC) у хмарі.
Firezone діє як інтерфейс як для модуля ядра WireGuard, так і для підсистеми ядра netfilter. Він створює інтерфейс WireGuard (за замовчуванням називається wg-firezone) та таблицю netfilter, додаючи відповідні маршрути до таблиці маршрутизації. Інші програми, що змінюють таблицю маршрутизації Linux або брандмауер netfilter, можуть перешкоджати роботі Firezone.
Firezone можна розглядати як аналог OpenVPN Access Server з відкритим кодом, побудований на основі WireGuard замість OpenVPN.
WireGuard використовується для організації каналів зв'язку у Firezone . Firezone також має вбудовану функцію брандмауера, яка використовує nftables.
У своєму поточному вигляді брандмауер обмежений блокуванням вихідного трафіку до певних хостів або підмереж у внутрішніх або зовнішніх мережах. Це пояснюється тим, що Firezone є бета-версією програмного забезпечення, тому наразі його використання рекомендується лише шляхом обмеження мережевого доступу до веб-інтерфейсу користувача, щоб уникнути його викриття в загальнодоступному Інтернеті.
Для роботи Firezone потрібні дійсний сертифікат SSL і відповідний запис DNS, які можна створити та керувати за допомогою інструмента Let's Encrypt для створення безкоштовного сертифіката SSL.
З боку адміністрування зазначено, що це робиться через веб-інтерфейс або в режимі командного рядка за допомогою утиліти firezone-ctl. Веб-інтерфейс побудовано на платформі Admin One Bulma.
Наразі всі компоненти Firezone працюють на одному сервері, але проєкт спочатку розробляється з урахуванням модульності, а в майбутньому планується можливість розподілу компонентів веб-інтерфейсу, VPN та брандмауера між різними хостами.
У планах також згадується інтеграція блокувальника реклами на основі DNS, підтримка списків блоків хостів і підмереж, можливість аутентифікації через LDAP / SSO і додаткові можливості керування користувачами.
Зі згаданих особливостей Firezone:
- Швидко: використовуйте WireGuard, щоб бути в 3-4 рази швидше, ніж OpenVPN.
- Немає залежностей: усі залежності згруповано завдяки Chef Omnibus.
- Простий: налаштування займає кілька хвилин. Управління за допомогою простого API CLI.
- Безпечний: працює без привілеїв. Застосовано протокол HTTPS.
- Зашифровані файли cookie.
- Брандмауер включено - використовує Linux nftables для блокування небажаного вихідного трафіку.
Для встановлення пропонуються пакети rpm та deb для різних версій CentOS, Fedora, Ubuntu та Debian, встановлення яких не вимагає зовнішніх залежностей, оскільки всі необхідні залежності вже включені за допомогою інструментарію Chef Omnibus.
Для роботи потрібен лише дистрибутив Linux з ядром Linux версії 4.19 або раніше та модуль ядра, скомпільований разом з WireGuard VPN . За словами автора, запуск та налаштування VPN-сервера можна виконати всього за кілька хвилин. Компоненти веб-інтерфейсу працюють від імені непривілейованого користувача, а доступ можливий лише через HTTPS.
Firezone складається з одного розповсюджуваного пакета Linux, який може встановлюватися та керуватися користувачем. Код проекту написаний на Elixir і Ruby і поширюється під ліцензією Apache 2.0.
Зрештою, якщо ви хочете дізнатися більше про це або хочете виконати інструкції з встановлення, ви можете зробити це за наступним посиланням.
