К примеру, в “Настройках” можно поставить галочку, чтобы OpenVPN автоматически запускалась вместе с операционной системой. Вы также можете включить опцию “Бесшумное подключение”, чтобы при подключении к серверу не отображался экран состояния. Однако будьте осторожны с пунктом “никогда”, так как он отключает уведомления на рабочем столе.
OpenVPN, о котором вы так мало знали
OpenVPN, как много в этом слове. Мультиплатформенный, гибко настраиваемый, бесплатный VPN сервер с открытым исходным кодом, являющийся фактически стандартом «defacto» для организации доступа к внутренним корпоративным сетям. Большинство администраторов используют его с настройками по умолчанию или с типовыми конфигурациями широко описанными в разных HOW-TO. Но так ли прост OpenVPN, как он кажется на первый взгляд? В данной статье мы рассмотрим скрытые от глаз внутренние механизмы OpenVPN, которые кардинально меняют представление о его возможностях.
OpenVPN сервер распространяется в виде исходного кода или готовых к установке скомпилированных пакетов для различных операционных систем. В качестве библиотеки обеспечивающей шифрование используется OpenSSL.
Большинство конфигураций для связи клиентов с сервером, а также между серверами, предполагает использование связки приватных или приватно/публичных ключей для обеспечения безопасности внутреннего трафика. Для корпоративных сетей в режиме MultiPoint-To-SinglePoint обычно используется свой центр сертификации PKI, который легко строится либо при помощи easy-rsa, либо на основе XCA. Для межсервенной коммуникации типа Point-to-point, в основном используется конфигурация с общим ключом. Вспомним основные, всем известные механизмы и возможности.
Основные механизмы и возможности
Сертификатная аутентификация
Про неё написано огромное количество документации. Суть проста. Создаётся свой центр сертификации, который выпускает пользовательские сертификаты. С помощью центра сертификации обеспечивается контроль за подключением пользователей к OpenVPN серверу. При окончании времени действия сертификата или его отзыве, доступ пользователя блокируется. Приватные ключи с установленым на них паролем, выпускаемые совместно с сертификатом обеспечивают безопасность от несанкционированного подключения к внутренним ресурсам.
Приватные point-to-point ключи
С точки зрения подключения к ресурсам компании только одного пользователя/сервера, используется схема с приватными ключами. На одном из хостов генерируется ключ, который является общим для сервера и клиента.
Во всех случаях подключения для безопасности «рукопожатия» handshake между клиентом и сервером используется протокол Diffie-Hellmann.
Внешняя аутентификация пользователей
Для упрощения контроля за подключением пользователей, вместо схемы со своим PKI, можно использовать схему с внешней аутентификацией пользователей по логину/паролю. Данная схема удобна для аутентификации пользователей скажем по доменному логину/паролю. Для подключения к серверу в конфигурационный файл клиента добавляется сертификат сервера и ключ подписи передаваемых пакетов HARDENING OPENVPN SECURITY.
пример клиентского конфига
Часть серверного конфига для аутентификации клиентов через файл
Using alternative authentication methods
Данная схема удобна, но очень небезопасна.
Для повышения безопасности можно использовать подключаемые модули обеспечивающие проверку логина/пароля во внешних системах. Самым распространённым методом является системный PAM(Pluggable Authentication Modules).
В конфигурационный файл OpenVPN необходимо добавить строку
Маршрутизация
Т.к. основной задачей сервера является обеспечение доступа удалённых пользователей/серверов к внутренним ресурсам, сервер позволяет определять статическую маршрутизацию от клиентов к серверу и от сервера к клиентам. С точки зрения доступа клиентов к внутренним ресурсам, сервер при помощи протокола DHCP и директив «route» или «push route» позволяет передать клиенту маршруты внутренних сетей. Для оповещения самого сервера об удалённых сетях на стороне клиента используется «client config dir» (ccd), механизм позволяющий описать при помощи директивы «iroute» список внутренних сетей клиента, которые должны попасть в таблицу маршрутизации сервера для транзита в них трафика.
На этом «штатные» широкоиспользуемые возможности заканчиваются и начинается локальная кастомизация для каждого конкретного случая.
Как правило, IPSec доступен на многих платформах. Даже на тех, где OpenVPN нужно настраивать вручную. Естественно, это не проблема, если вы пользуетесь проверенным VPN-Сервисом. Также стоит отметить, что трафик IPSec иногда может блокироваться некоторыми фаерволами, в то время как UDP- или TCP-пакеты при OpenVPN не подвержены таким проблемам.
Как настроить OpenVPN на Windows 10
Протокол OpenVPN отвечает за поддержание коммуникации между клиентом и сервером. Как правило, он используется для создания защищённого туннеля между VPN-клиентом и сервером.
Для шифрования и аутентификации OpenVPN использует библиотеку OpenSSL. Кроме того, для передачи данных OpenVPN могут использоваться протоколы UDP или TCP.
- TCP требует отклика от клиента, которому доставлен пакет данных, подтверждения доставки, и для этого ему необходимо установленное заранее соединение. Протокол TCP исключает потери данных, дублирование и перемешивание пакетов, задержки.
- UDP всё это допускает, и соединение для работы ему не требуется. Протокол UDP доставляет пакеты данных гораздо быстрее, потому лучше подходит для приложений, которые рассчитаны на широкую пропускную способность и быстрый обмен.
Как установить OpenVPN
На официальном сайте производителя выберите версию программы для своей операционной системы. Существуют клиенты под все популярные операционные системы: Windows, Linux, MacOS, Android, iOS. Если же Вы загружали установщик с официального сайта, тогда проблем с установкой не возникнет. Запустите установочный файл и следуйте шагам мастера установки.
Теперь, если нажать по OpenVPN в трее, вы сможете увидеть названия всех только что скопированных файлов. Если вам потребуется, то файлы можно переименовать.
Как работает OpenVPN
OpenVPN использует библиотеку безопасности OpenSSL. Поэтому он использует в своих интересах «плюшки», которые находятся в этой библиотеке. Это включает в себя ряд строгих стандартов шифрования . Фактически, самый высокий уровень шифрования, возможный с ним, в настоящее время является 256-битным. Это настолько убедительно, что нет реальной причины для взлома. Кроме того, OpenVPN использует UDP (протокол пользовательских дейтаграмм) или TCP (протокол управления передачей) для передачи данных — более предпочтительным является UDP.
Опен ВПН использует свой собственный рецепт безопасности, основанный на технологиях SSL и TLS. Это не имеет ничего общего с IPsec, L2TP или чем-то подобным. Кроме того, благодаря сторонним клиентам трудно представить себе какую-либо популярную платформу, у которой нет способа его использовать.
Добавьте к этому использование скриптов и плагинов для настройки, и опытные пользователи счастливы.
Он работает как VPN уровня 2 или 3. На уровне 2 передает сетевые данные низкого уровня. Кроме того, ему нужен только один порт для работы. Он использует тот же порт 443, что делает этот протокол невосприимчивым к блокировке VPN.
Еще одна замечательная особенность заключается в том, что обе конечные точки имеют динамические IP-адреса, что означает, что вы не платите за статический IP, чтобы настроить VPN-туннель.
Безопасность OpenVPN
Считается, что OpenVPN — один из самых безопасных протоколов VPN, который вы используете сегодня. Это также причина, почему VPN с высоким рейтингом полагаются на OpenVPN для защиты и шифрования данных вашего веб-соединения. В сочетании с 256-битным шифрованием практически никто не возможно расшифровать ваши файлы.
Важным аспектом — является его природа с открытым исходным кодом. Это означает, что разработчики и исследователи кибербезопасности могут свободно тестировать этот протокол VPN, а затем внедрять всевозможные улучшения. Как только возникает новая угроза, ПО с открытым исходным кодом является наиболее эффективным. И если вам этого недостаточно, знайте, что OpenVPN прошел строгий аудит безопасности в 2017 году, и вскоре после этого исправлены всевозможные ошибки.
заблокирует трафик ко всем пользователям и сетям, но разрешит трафик в сторону клиента user1. Если у user1 не будет явным образом описано разрешение передачи трафика в сторону user2, то трафик будет ходить только в одну сторону user2->user1.
Использование OpenVPN в Android
Вы можете пользоваться OpenVPN на любой платформе, в том числе и на Android. Для устройств было выпущено официальное приложение OpenVPN Connect. С помощью него вы можете подключиться к сети, как и в предыдущем варианте, с помощью ovpn файла. Вы можете установить это приложение из Google Play:
Откройте приложение, нажмите на кнопку меню, затем выберите «Import» -> «Import profile from SDCard»:
Выберите нужный файл и нажмите «Select»:
Затем осталось нажать «Connect» для подключения к сети:
Настройка клиента openvpn включает только импорт конфигурационного файла, больше ничего не нужно. Дальше ваш трафик будет направлен через VPN, здесь тоже вы можете посмотреть таблицу маршрутизации, если установлен эмулятор терминала:
Правда, здесь мы не увидим такой ситуации, как в Linux, маршрутизация на VPN в Android осуществляется немного по-другому.
Как пользоваться OpenVPN в Windows
Нельзя было не рассказать в этой статье как пользоваться OpenVPN GUI в Windows, тем более что это ненамного сложнее чем в Android. Нам нужно установить клиент OpenVPN. Вы можете скачать его на официальном сайте:
После загрузки запустите программу от имени администратора и пройдите все шаги мастера:
Далее, запустите программу, найдите ее значок в трее, кликните по нему и выберите «Import»:
Далее, просто выберите файл конфигурации *.ovpn для нужного VPN сервера:
Затем еще раз кликните по значку OpenVPN на панели, начнется инициализация и вы будете подключены к сети VPN, значок программы изменится на зеленый:
Теперь ваш трафик в операционной системе Windows тоже направлен через VPN. Как видите, использование OpenVPN очень просто во всех операционных системах.