No Image

Что такое openvpn technologies inc

СОДЕРЖАНИЕ
1 просмотров
10 марта 2020
OpenVPN
Автор
Разработчик OpenVPN Inc.[d][2]
Написана на Си[4]
Операционная система кроссплатформенность
Первый выпуск 23 марта2002[3]
Последняя версия
  • 2.4.8 ( 30 октября2019 ) [5]
Лицензия GNU GPL
Сайт community.openvpn.net
Медиафайлы на Викискладе

OpenVPN — свободная реализация технологии виртуальной частной сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT и сетевым экраном, без необходимости изменения их настроек. OpenVPN была создана Джеймсом Йонаном (James Yonan) и распространяется под лицензией GNU GPL [6] .

Содержание

Введение [ править | править код ]

Для обеспечения безопасности управляющего канала и потока данных OpenVPN использует библиотеку OpenSSL. Это позволяет задействовать весь набор алгоритмов шифрования, доступных в данной библиотеке. Также может использоваться пакетная аутентификация HMAC, для обеспечения большей безопасности, и аппаратное ускорение для улучшения производительности шифрования. Эта библиотека использует OpenSSL, а точнее протоколы SSLv3/TLSv1.2 [7] . OpenVPN используется в операционных системах Solaris, OpenBSD, FreeBSD, NetBSD, GNU/Linux, Apple Mac OS X, QNX, Microsoft Windows, Android, iOS.

Аутентификация [ править | править код ]

OpenVPN предлагает пользователю несколько видов аутентификации.

  • Предустановленный ключ — самый простой метод.
  • Сертификатная аутентификация — наиболее гибкий в настройках метод.
  • С помощью логина и пароля — может использоваться без создания клиентского сертификата (серверный сертификат всё равно нужен).

Сеть [ править | править код ]

OpenVPN проводит все сетевые операции через TCP- или UDP-транспорт. В общем случае предпочтительным является UDP по той причине, что через туннель проходит трафик сетевого уровня и выше по OSI, если используется TUN-соединение, или трафик канального уровня и выше, если используется TAP. Это значит, что OpenVPN для клиента выступает протоколом канального или даже физического уровня, а значит, надежность передачи данных может обеспечиваться вышестоящими по OSI уровнями, если это необходимо. Именно поэтому протокол UDP по своей концепции наиболее близок к OpenVPN, т.к. он, как и протоколы канального и физического уровней, не обеспечивает надежность соединения, передавая эту инициативу более высоким уровням. Если же настроить туннель на работу по ТСР, сервер в типичном случае будет получать ТСР-сегменты OpenVPN, которые содержат другие ТСР-сегменты от клиента. В результате в цепи получается двойная проверка на целостность информации, что совершенно не имеет смысла, т.к. надежность не повышается, а скорости соединения и пинга снижаются. [8] [9] . Также возможна работа через большую часть прокси-серверов, включая HTTP, SOCKS, через NAT и сетевые фильтры. Сервер может быть настроен на назначение сетевых настроек клиенту. Например: IP-адрес, настройки маршрутизации и параметры соединения. OpenVPN предлагает два различных варианта сетевых интерфейсов, используя драйвер TUN/TAP. Возможно создать туннель сетевого уровня, называемый TUN, и канального уровня — TAP, способный передавать Ethernet-трафик. Также возможно использование библиотеки компрессии LZO для сжатия потока данных. Используемый порт 1194 выделен Internet Assigned Numbers Authority для работы данной программы [10] . Версия 2.0 позволяет одновременно управлять несколькими туннелями, в отличие от версии 1.0, позволявшей создавать только 1 туннель на 1 процесс.

Читайте также:  Слова с цифрами внутри например

Использование в OpenVPN стандартных протоколов TCP и UDP позволяет ему стать альтернативой IPsec в ситуациях, когда Интернет-провайдер блокирует некоторые VPN-протоколы.

Рано или поздно большинство системных администраторов сталкивается с необходимостью соединить свои территориально удаленные сети с помощью надежного, достаточно быстрого и в то же время защищенного от прослушивания и вмешательства злоумышленников канала.
Таким образом, получается, что нам нужно создать частную виртуальную сеть (Virtual Private Network), или VPN. В этот момент перед нами открывается развилка из нескольких путей для претворения задуманного в жизнь:

Использовать свободную реализацию IPSec (Internet Protocol Security). В качестве таковой могут выступать FreeSWAN на Linux или IPSec на FreeBSD.
Купить и внедрить коммерческое решение. Например, Cisco VPN или Securepoint VPN Server, который также основан на IPSec, или взять решение от какого-либо другого производителя, например Windows IPSec. В данном разделе я сознательно не делю решения на аппаратные и программные, потому что это всего лишь обзор.
Взять на вооружение свободные разработки, использующие криптографические алгоритмы собственного изготовления. Список таких приложений довольно велик. Поэтому перечислим только те, что у всех на слуху – cipe, vpnd, tinc, vtun – этот список можно было бы продолжать очень долго. О процедуре создания VPN на основе vtun можно прочитать здесь.

OpenVPN – технология позволяющая на базе открытого исходного кода выстраивать сеть VPN между клиентом и сервером, сайтом и сайтом, поверх самого интернета. Созданный Джеймсом Йонаном 10 апреля 2002 года OpenVPN до сих пор широко применяется юзерами с целью шифрования трафика и безопасного использования всемирной паутины. Более того, популярность технологи растет из года в год.

Работая через TCP/UDP порты и SSL/TLS протоколы OpenVPN обладает исключительной легкостью и простотой в плане настройки и установки. Кроссплатформенность дает возможность инсталлировать клиент на любые версии Windows (включая 2000 и XP), Linux, Mac OS, Solaris, Open, Net и FreeBSD без принципиальных изменений в конфигурации и архитектуре.

Принципы работы OpenVPN:

  • Использование архитектуры клиент/сервер, где OpenVPN устанавливается на каждый узел виртуальной частной сети при условии того, что один из узлов является сервером, остальные – клиентами
  • Шифрование трафика, который проходит через туннель, созданный при участии одного из TCP или UDP портов
  • Три вида аутентификации – статические ключи, сертификация, логин/пароль

Первый вариант в настройке довольно простой, но подразумевает, что единственный ключ будет шифровать и расшифровывать трафик. А значит, в случае потери ключа злоумышленник сможет легко дешифровать данные. В случае с сертификацией и логином/паролем для защиты информации используется встроенная в OpenVPN технология SSL. Сложнее в настройке и чуть медленнее в работе, т.к. сервер ждет подтверждения при передаче пакетов, зато предельно надежно.

Читайте также:  Таймер на ардуино с обратным отсчетом

Использование VPN в среде частных пользователей облегчает специальный OpenVPN GUI клиент. Что такое OpenVPN GUI? Это графический интерфейс, средство позволяющее работать с VPN на персональном устройстве. GUI клиент представляет из себя устанавливаемую программу малых размеров, с помощью которой пользователь может выбрать сервер для подключения, установить соединение с виртуальной частной сетью, увидеть лог подключения и т.д. Во время работы GUI скрывается в трее и совершенно не грузит систему.

Еще немного об OpenVPN, SSL и IPSec

До появления SSL протокол IPSec являлся единственным средством, с помощью которого можно было шифровать данные в сетях типа сайт-сайт и клиент-сервер. К счастью, в 90-х монополия исчезла, т.к. кампания Netscape презентовала первую версию протокола SSL, современную версию которого чаще называют TLS. С его помощью юзерам представилась возможность шифровать данные при участии упомянутых выше открытых ключей (аутентификация или логинпароль). И сегодня можно точно сказать, что благодаря относительной простоте OpenVPN SSL протокол используется не только для защиты данных по HTTP, но и для построения VPN типа клиент-сервер.

Что такое VPN вкратце? Это виртуальная частная сеть, представляющая из себя туннель между двумя устройствами (клиент-сервер или точка-точка) и работающая поверх еще одной сети (например, сеть Интернет). Определяющими факторами для безопасного VPN является конфиденциальность и шифрование, целостность передаваемой информации, а также аутентификация – объекты должны быть уверены в подлинности друг друга до начала передачи трафика. Именно за шифрование и аутентификацию отвечают библиотеки IPSec и SSL. Однако, не смотря на схожие задачи, протоколы имеют принципиально разные пути решения проблем.

  • В операционных системах OpenVPN и SSL ведут себя как стандартные приложения, что облегчает настройку. IPSec требует обновления ядра ОС, что приводит к очевидным трудностям – для работы с протоколом необходимо дорабатывать операционные системы на каждом используемом устройстве
  • Так как IPSec тесно связан с ядром сбой в работе или программный взлом могут привести к тяжелейшим последствиям. Система может получить критические повреждения, а взломавший злоумышленник – права администратора. С OpenVPN это невозможно, т.к. клиент работает в пространстве юзера и не затрагивает операционную систему
  • С SSL намного проще работать в плане FireWall. IPSec требует изменений правил фильтрации и решения множества иных проблем
  • OpenVPN легко перенести – во многих случаях достаточно обычного копирования, чего нельзя сказать про усложненный IPSec
Читайте также:  Lineage 2 revolution умения классов

Все это давно привело к тому, что в сегменте VPN сервисов типа клиент-сервер OpenVPN окончательно вытеснил протокол IPSec. Можно сказать, что IPSec является одним из этапов развития VPN технологий и на данный момент на порядок уступает более безопасному, современному и удобному OpenVPN. В сухом остатке никаких существенных преймуществ у IPSec на данный момент по сравнению с OpenVPN попросту нет. Настройка OpenVPN клиента занимает не более минуты, а создание подключений и вовсе считанные секунды – необходимо лишь скачать клиентские конфиги и разместить их в соответствующей папке программы. К тому же при использовании OpenVPN не требуется настраивать антивирусные программы и сетевые экраны для стабильного обмена трафиком с VPN сервером, чего не скажешь про IPSec. Все пользователи, обеспокоенные конфиденциальностью своих данных должны понимать это и отдавать предпочтение более надежным решениям.

И ещё чуть-чуть про OpenVPN и PPTP

Следующим за OpenVPN можно назвать технологию, разработанную компанией Microsoft в 1999 году — PPTP, что переводится как “Протокол Туннелирования Точка-Точка”. Это ещё один тип VPN-соединения, доступный из всех представленных на сегодняшний день. Однако сразу стоит отметить, что технология считается уязвимой и более нестабильной по сравнению с OpenVPN:

  • PPTP имеет 128-битный ключ, а OpenVPN от 1024 до 2048
  • PPTP требует поддержки протокола GRE47, а OpenVPN работает с любым интернет-соединением
  • PPTP, как и IPSec, для стабильной работы требует настройки сетевых экранов, антивирусов и firewall-ов.
  • PPTP через GRE некорректно работает под NAT-ом, а OpenVPN работает без нареканий

Многих прельщает тот факт, что для PPTP в среде Windows не требуется дополнительного программного обеспечения, но по факту из-за работы через GRE-соединение стабильность подключения намного ниже, чем в случае с OpenVPN. Причина тому заключается в NAT-е. GRE – это протокол сетевого уровня, из-за чего межсетевые экраны блокируют большую часть соединений, что вынуждает использовать такие примочки, как PPTP Passthrough посредством так называемого Port Forwarding-а, или проброса портов. Как выше уже упоминалось PPTP – технология устаревшая и изначально не рассчитывалась на использование под NAT-ом, тогда как в OpenVPN эти нюансы учтены и проблем не возникает. По итогу пользователю может потребоваться производить настройки маршрутизатора и в конечном счете времени уйдет больше, чем на установку OpenVPN клиента.

Учитывая вышеизложенное очевидно, что OpenVPN многократно превосходит “конкурирующие” решения в VPN, поскольку он разрабатывается не компаниями, а людьми для людей посредством OpenSource, в связи с чем достоин особого внимания со стороны пользователей. То, что вам мешало в других случаях здесь, наверняка, уже решено.

Комментировать
1 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock detector