Авторизация

О ПРОТОКОЛЕ OPENVPN

openvpnOpenVPN - вероятно, наиболее развитый и гибкий VPN протокол на базе ПО с открытым исходным кодом. Обычно, он не является частью операционных систем (как протоколы PPTP, L2TP, IPsec), а распространяется в виде отдельного придложения для широкого спектра операционных систем.

В своей работе OpenVPN использует широкоизвестную библиотеку OpenSSL в составе которой есть такие протоколы как SSL и TSL, которые и используются OpenVPN.

У гибкости в использовании этого протокола существует обратная сторона медали, которая выражается в сложности настройки. Поэтому оптимальным способом настройки соединения является установка конфигурационного файла с сервера, обычно имеющего расширение .ovpn или .config 

OpenVPN может работать в двух режимах - сетевом (в этом случае будет создан интерфейс TUN) или канальном (в этом случае используется интерфейс TAP). Для тех, кто не знаком с моделью OSI можно так пояснить разницу этих двух режимов: в случае канального режима (TUN) между сервером и клиентом используется соединение при помощи IP адресов. В случае канального режима (TAP) стороны используют кадры Ethernet с виртуальными MAC адресами, а поверх них уже начинается взаимодействие при помощи IP адресов.

В VPNKI мы используем TUN-соединение, так как у нас не было задачи передавать какой-либо другой вид трафика отличный от TCP/IP.

Стоит отметить, что OpenVPN может функционировать как через TCP так и через UDP протокол. В системе VPNKI мы используем работу OpenVPN через UDP, что является более предпочтительным режимом с точки зрения скорости соединения и эффективности использования полосы пропускания.

 

Аутентификация

В протоколе OpenVPN могут быть использованы три различных метода аутентификации – по сертификату, по логину / паролю или при помощи общего ключа. В системе VPNKI мы используем метод аутентификации по логину и паролю. Этот метод нам ближе, так как он позволяет сохранить единство с такими протоколами как PPTP и L2TP. Однако при использовании аутентификаии по логину и паролю, все равно требуется серверный сертификат, который вы получаете в составе файла .ovpn.

Шифрование данных

Как было сказано выше, в своей работе OpenVPN использует протоколы SSL3 и TLS1.2 что определяет способность к шифрованию данных. При этом могут быть использованы весьма различные алгоритмы шифрования с различной длиной ключа.  В VPNKI используется шифрование с длиной ключа в 128 бит, что вполне достаточно для обычного использования, а увеличение длины ключа ведет к существенному увеличению необходимых вычислительных ресурсов как на сервере, так и на стороне клиента.

 

Компрессия данных

Данные, передаваемые внутри OpenVPN, могут подвергаться компрессии. В качестве протокола компрессии используется алгоритм LZO, который характеризуется очень высокой скоростью распаковки данных, однако в VPNKI мы не используем компрессию данных.

 

Автоматическая проверка работоспособности VPN соединения

Так как соединение OpenVPN осуществляется поверх протокола UDP, то в нем отсутствие понятие "сессии" и все пакеты доставляются на другую сторону без подтверждения. С одной стороны это ускоряет процесс взаимодействия, а с другой стороны усложняет процесс контроля за работоспособностью соединения. Если слушающая сторона перестала принимать пакеты, то передающая ничего об этом не узнает.

 

Разрыв VPN соединения

Разрыв VPN соединения осуществляется со стороны сервера путем информирования клиента об окончании соединения. В том случае, если клиент хочет разорвать соединение, то необходимо уведомить сервер о таком желании. Для этого используется параметр explicit-exit-notify, который отсылает по UDP на сервер информацию о необходимости отключения.

 

Автоматическое установление разорванного VPN соединения

Настройки OpenVPN позволяют переподключать соединение в случае обрыва связи

 

Плюсы:

  • может работать по любому порту TCP или UDP, чем усложняет процесс его блокировки
  • криптостойкое шифрование и возможность использовнаия компрессии
  • быстрый

Минусы:

  • сложность настройки
  • отсутствие встроенной поддержки оперционными системами и необходимость установки дополнительного ПО

 

 

Далее:

PPTP

L2TP

IPsec

ДОПОЛНИТЕЛЬНО

Кроме базового функционала по объединению VPN туннелей с различными протоколами, в системе VPNKI вы можете воспользоваться удаленным доступом к компьютеру или камере, используя: