Не так давно Компания «Актив» предоставила в открытый доступ на GitHub исходный код версии продукта Рутокен VPN Community Edition. В этой статье мы хотим рассказать зачем и для кого мы это сделали, как можно воспользоваться исходным кодом, и чего ожидаем в результате от сообщества разработчиков.
Зачем нужен еще один VPN?
Как известно, события последних полутора лет стимулировали развитие рынка VPN, и сегодня он переживает эпоху роста. Конкуренция на этом рынке значительная, цены на услуги растут. Одновременно Россия в 2021 году остается в десятке топ-потребителей VPN сервисов, т.е. спрос на рынке присутствует.
Создавая Рутокен VPN, основной «фишкой» мы решили сделать ориентацию на малый и средний бизнес, т.е. на компании, которые, вероятно, не имеют в штате постоянного и высококвалифицированного системного администратора. Именно для таких компаний мы сделали версию продукта Рутокен VPN, которая упрощает настройку VPN-сервера и клиента. Кроме того, нашей целью было предоставить разработчикам возможность развивать интересный и востребованный продукт, совершенствовать свои навыки, получая таким образом бесценный опыт и дополнительные очки к своему CV. Не скроем также, что заинтересованы и в советах участников профессионального сообщества по улучшению Рутокен VPN, которым будем максимально рады.
Чем может быть полезен Рутокен VPN Community Edition:
быстро подготовить инфраструктуру для защищенного подключения к сетям компании;
внедрить двухфакторную аутентификацию, где в качестве фактора владения используются криптографические токены Рутокен ЭЦП;
обеспечить удобство пользователей: операции по настройке VPN-клиента могут быть выполнены с помощью web-интерфейса самообслуживания, а для подключения к VPN достаточно лишь запустить клиент, подключить одно из совместимых устройств Рутокен и ввести PIN-код.
В результате обеспечивается безопасность соединения за счет использования RSA 2048 для аутентификации и AES 256 для шифрования канала связи. Аутентификация удаленного пользователя происходит с применением криптографического токена, а это значит, что ключи аутентификации не могут быть скопированы, ведь криптографические операции с ними выполняются на самом устройстве.
Использование VPN повышает безопасность при удаленном подключении к корпоративной сети, в том числе обеспечивает защиту от перехвата паролей, подмены сертификатов, хищения платежной информации, адресов корпоративной почты и других ценных данных компаний, передаваемых по сети.
Рутокен VPN Community Edition можно развернуть на Linux-based ОС. Мы поддерживаем работу в Ubuntu 16 и Ubuntu 20.
Клиентская часть поддерживается на:
Microsoft Windows 7 SP1 и выше - Рутокен VPN Клиент, opensource решения;
OSX 10.11 и выше - Рутокен VPN Клиент, opensource решения;
iOS 6.1 и выше - opensource решения;
Android 4.0 и выше - opensource решения
Как работает версия Рутокен VPN Community Edition
Для наилучшего понимания взаимодействия компонентов при работе с «открытым» Рутокен VPN мы схематично представили их на рисунке.
Рутокен VPN Community Edition устанавливается на выделенный физический или виртуальный хост внутри сети. В результате установки этот хост начинает выполнять функции VPN-сервера, web-сервера и удостоверяющего центра PKI.
Web-сервер
Web-сервер содержит функциональность управления, доступную через web-интерфейс управления, и функциональность «самообслуживания пользователя», доступную через web-интерфейс «Личного кабинета пользователя». Этот сервер – ключевой компонент решения, позволяющий управлять VPN-сервером и использовать функциональность Удостоверяющего Центра.
В web-интерфейсе управления представлены следующие основные функции:
Настройка сети, роутинга, управление настройками VPN-сервера;
Управление инфраструктурой PKI: выпуск и отзыв сертификатов пользователей, обновление сертификата VPN-сервера.
Управление учетными записями дистанционных пользователей: интеграция с Active Directory, добавление и удаление локальных учетных записей.
Через web-интерфейс «Личного кабинета пользователя» без непосредственного участия администратора могут быть выполнены следующие действия:
Генерация криптографических ключей на токене и получение сертификата для подключения к VPN;
Скачивание Рутокен VPN Клиента и конфигурационного файла к нему;
Скачивание конфигурационного файла для использования на мобильных устройствах;
Отзыв (возврат или удаление) собственного сертификата пользователя.
Backend web-сервера использует Django и Nginx. Web-интерфейс реализован на Angular 10. Взаимодействие с токеном пользователя из браузера реализовано через Рутокен Плагин.
Как настроить Рутокен VPN Community Edition?
В подтверждение вышесказанного о простоте и удобстве разворачивания Рутокен VPN Community Edition, продемонстрируем, как же это делается.
Для быстрой автоматической установки можно воспользоваться специальным скриптом.
Для разворачивания решения вам понадобится зайти в подходящий образ Ubuntu, скачать скрипт из репозитория и запустить его с помощью команды:
sudo -s bash install.sh
После перезагрузки сервис "поднимется" автоматически. Останется только выполнить настройку сети. Для этого зайдите на страницу по адресу: http://127.0.0.1. Введите стандартные логин “RutokenVpn” и пароль “RutokenVpn” и на странице «Настройка сети» заполните форму с настройками:
IP адрес сервера - постоянный адрес, на котором будет находиться Рутокен VPN сервер;
Маска подсети - маска подсети локальной сети, в которой будет работать Рутокен VPN сервер;
IP шлюза подсети - адрес шлюза локальной сети, в которой будет работать Рутокен VPN сервер;
DNS (DNS 2 опционально) - DNS локальной сети, в которой будет работать Рутокен VPN сервер.
Наконец, нужно дать название и внешний IP вашему развернутому сервису. Зайдите на сервис по только что заданному IP со страницы «Настройки сети», введите название компании, нажмите "Сохранить настройки".
На странице “Настройка VPN-сервиса” задайте внешний IP. Для этого на роутере настройте переадресацию порта 1194 по протоколу UDP. Также выберите IP адресацию из списка. IP адресацию нужно выбрать отличную от настроек сети. Если вы устанавливаете решение на виртуальной машине, то не забудьте включить режим Bridged.
Сервис готов к работе. Теперь вам доступны все возможности панели администрирования - добавление локальных и Microsoft Active Directory- пользователей, генерация мобильных и токен-сертификатов, настройка доступа в личный кабинет, просмотр активных пользователей и блокировка подключений. Подробная инструкция, а также руководства пользователя и администратора располагаются по адресу - https://dev.rutoken.ru/pages/viewpage.action?pageId=20120334.
Пользовательский опыт
Что нужно сделать пользователю, чтобы подключиться внутрь корпоративной сети через Рутокен VPN Community Edition?
После того, как администратор добавил пользователей в систему, у каждого пользователя появляется возможность самому выписать себе сертификат и подключиться внутрь корпоративной сети. Для этого пользователю достаточно зайти на страницу самообслуживания.
Для продолжения работы, в зависимости от ОС и браузера пользователя, будет предложено установить плагин и расширение для браузера, которые понадобятся для корректной работы с токенами.
После его генерации остается только загрузить конфигурационный файл и установить клиент под требуемую ОС.
После загрузки нужного клиента, мы добавляем наш конфигурационный файл, вводим PIN-код токена, и доступ в корпоративную сеть открывается.
Более подробное руководство пользователя представлено на нашем портале документации Рутокен.
Давайте сделаем Рутокен VPN лучше!
Одной из причин, по которой Компания «Актив» приняла решение выложить исходный код в открытый доступ, стало наше желание предложить сообществу разработчиков сделать продукт лучше. Если вы знаете, как улучшить наше решение, и что может быть полезно пользователям, то сообщите об этом в комментариях, воспользуйтесь формой обратной связи или на почту info@rutoken.ru или в репозитории.