Что такое open vpn и для чего он нужен
Технология VPN — определение, принципы использования и способы организации
Содержание:
По мере развития информационных технологий, тема безопасности и анонимности в Интернете становится всё более актуальной. Киберпреступники постоянно совершенствуют способы похищения личных данных, а интернет-провайдеры следят за своими клиентами и ограничивают их возможности различными способами.
VPN (Virtual Private Network, англ. «виртуальная частная сеть») позволяет защититься от вмешательства третьих лиц в процесс обмена информацией по сети. Изначально технология разрабатывалась для решения задач в корпоративной среде, но позже её преимущества оценили и обычные пользователи.
В этом материале мы подробно расскажем о том, что же такое VPN и как работает эта технология. А также приведём полезные советы по реализации VPN-соединения с построением архитектуры как на личном сервере, так и с использованием VPN-провайдеров.
Что такое VPN
VPN – это виртуальная частная сеть, которая объединяет несколько устройств, туннелируя их трафик поверх другого сетевого соединения. Если говорить простыми словами, то VPN – технология, позволяющая анонимизировать и обезопасить свою деятельность в Интернете или какой-либо другой сети.
Для более глубокого понимания принципа использования технологии, стоит подробнее разобрать составляющие термина виртуальная частная сеть.
Архитектура VPN
VPN-подключение создаётся за счёт использования как минимум двух устройств.
Между сервером и клиентом постоянно перемещается зашифрованная информация через VPN-туннель, а все процессы криптографической обработки данных (шифрование/дешифрование) выполняются на самих устройствах. Поэтому в условиях туннелирования, никто не сможет перехватить данные пользователя.
Варианты использования VPN
Частная сфера
Технология VPN популярна среди пользователей, поскольку защищает проходящий через сеть трафик от злоумышленников и скрывает действия в Интернете от сетевых-провайдеров, которые зачастую передают данные посторонним лицам. Всё, что видит провайдер при использовании VPN — факт подключения к VPN-серверу, объем передаваемых данных и длительность подключения.
Иногда VPN используется для обхода сетевых запретов, наложенных администратором или интернет-провайдером. Например, ограничение доступа к заблокированным ресурсам или урезание скорости для файлообменников, таких как BitTorrent.
Подобные возможности доступны благодаря маршрутизации трафика через VPN-сервер. Это значит, что отправленные пользователем запросы сначала передаются через туннель от клиента к серверу, а только потом отправляются в Интернет к необходимому веб-ресурсу. Это делает сёрфинг в Интернете анонимным, а также позволяет получить доступ к ресурсам, которые заблокировали IP-адрес клиента.
Маршрутизация потока через VPN-сервис
Корпоративная сфера.
В корпоративной сфере VPN используется для объединения или, наоборот, обособления сетей различных отделов. Эта технология позволяет обойти локальные ограничения между подключёнными устройствами.
Кроме того, VPN нужен для объединения корпоративных сетей через Интернет между отдалёнными объектами компании: офисами, региональными филиалами, зарубежными представительствами. Это гораздо выгоднее, чем использование физического локального подключения — кабельной или беспроводной связи.
Соединение двух сетей через VPN-туннель. Тип подключения «точка-точка».
VPN также даёт сотрудникам возможность подключаться к рабочей сети, находясь вне офиса. Например, дома или в общественном месте. После установки соединения пользователь получает доступ к корпоративным ресурсам и оборудованию.
Получение удалённого доступа к корпоративной сети (Intranet) с помощью VPN.
Подробно о практических способах применения технологии VPN можно почитать в этой статье.
Преимущества и недостатки использования VPN
Преимущества использования VPN напрямую вытекают из его богатых возможностей.
Использование VPN для выхода в интернет предполагает наличие недостатков, которые могут стать существенной проблемой для некоторых пользователей.
Протоколы VPN
Архитектура VPN-сетей строится на базе VPN-протоколов, которые применяются для реализации туннелирования между устройствами. Все они различаются между собой характеристиками, принципом работы и доступностью на разных операционных системах.
Способы организации VPN
Собственный сервер
Понадобится арендовать VPS/VDS сервер и самостоятельно развернуть необходимое ПО, предварительно выбрав подходящий VPN-протокол. Реализация подобного способа требует наличия знаний в администрировании. Но именно он является наиболее надёжным, безопасным и гибким в настройке, поскольку пользователь сам выстраивает архитектуру и уверен в том, что его данные не попадут в чужие руки.
Подробнее о том, как настроить и пользоваться VPN (OpenVPN) на собственном сервере, рассказано в этой статье.
VPN-провайдер
При использовании VPN-сервисов пользователям предоставляется на выбор сразу несколько серверов из разных стран. Для установки соединения используются расширения для туннелирования трафика только в браузере или отдельные программные клиенты, обеспечивающие перенаправление всех системных данных.
Подобный вариант создания VPN-подключения не всегда безопасен. Многие провайдеры обещают анонимность в сети, но при этом зачастую собирают данные пользователей. А в худшем случае продают информацию третьим лицам.
Показатели стабильности и скорости у VPN-сервисов тоже не из лучших. Ведь на каждый сервер приходится несколько клиентов, активность которых может негативно повлиять на «соседей».
На рынке присутствуют платные и бесплатные сервисы. Вторые живут преимущественно за счёт показа рекламы или предлагают услуги в рамках пробного периода. Средняя цена за VPN составляет 10-13 долларов в месяц.
Выбор VPN-сервиса
В первую очередь нужно изучить отзывы пользователей и ознакомиться с документацией. Важно, чтобы сервис не собирал статистику использования VPN — некоторые провайдеры заранее предупреждают об отсутствии логирования на серверах.
Важно! Рекомендуется сразу отсеять бесплатные варианты, поскольку у таких VPN—сервисов наблюдаются наихудшие показатели стабильности, скорости и безопасности.
Стоит обратить внимание на то, какая информация требуется для совершения регистрации. Хороший провайдер не будет запрашивать личные данные.
Нужно выбирать такого провайдера, серверы которого достаточно стабильны и быстры для комфортного использования сети. Подключение должно совершаться через надёжный VPN-протокол.
Популярные VPN-сервисы
Заключение
Технология VPN продолжает стремительно набирать популярность, ведь её можно использовать для реализации совершенно разных целей — от обеспечения собственной безопасности в Интернете до гибкого управления сетевой инфраструктурой в организациях.
При наличии даже минимальных технических знаний можно самостоятельно развернуть VPN-сеть с использованием собственного оборудования. Тем, кто хочет получить сразу готовый вариант сервиса можно воспользоваться платными услугами VPN-провайдеров.
Виртуальные сервера Eternalhost — проверенное решение для создания собственной сети VPN! Оперативная техподдержка 24/7 и бесплатная защита от DDoS.
О ПРОТОКОЛЕ OPENVPN
В своей работе OpenVPN использует широкоизвестную библиотеку OpenSSL в составе которой есть такие протоколы как SSL и TSL, которые и используются OpenVPN.
В VPNKI мы используем TUN-соединение, так как у нас не было задачи передавать какой-либо другой вид трафика отличный от TCP/IP.
Стоит отметить, что OpenVPN может функционировать как через TCP так и через UDP протокол. В системе VPNKI мы используем работу OpenVPN через UDP, что является более предпочтительным режимом с точки зрения скорости соединения и эффективности использования полосы пропускания.
Аутентификация
Шифрование данных
Как было сказано выше, в своей работе OpenVPN использует протоколы SSL3 и TLS1.2 что определяет способность к шифрованию данных. При этом могут быть использованы весьма различные алгоритмы шифрования с различной длиной ключа. В VPNKI используется шифрование с длиной ключа в 128 бит, что вполне достаточно для обычного использования, а увеличение длины ключа ведет к существенному увеличению необходимых вычислительных ресурсов как на сервере, так и на стороне клиента.
Компрессия данных
Данные, передаваемые внутри OpenVPN, могут подвергаться компрессии. В качестве протокола компрессии используется алгоритм LZO, который характеризуется очень высокой скоростью распаковки данных, однако в VPNKI мы не используем компрессию данных.
Автоматическая проверка работоспособности VPN соединения
Так как соединение OpenVPN осуществляется поверх протокола UDP, то в нем отсутствие понятие «сессии» и все пакеты доставляются на другую сторону без подтверждения. С одной стороны это ускоряет процесс взаимодействия, а с другой стороны усложняет процесс контроля за работоспособностью соединения. Если слушающая сторона перестала принимать пакеты, то передающая ничего об этом не узнает.
Разрыв VPN соединения
Разрыв VPN соединения осуществляется со стороны сервера путем информирования клиента об окончании соединения. В том случае, если клиент хочет разорвать соединение, то необходимо уведомить сервер о таком желании. Для этого используется параметр explicit-exit-notify, который отсылает по UDP на сервер информацию о необходимости отключения.
Автоматическое установление разорванного VPN соединения
Настройки OpenVPN позволяют переподключать соединение в случае обрыва связи
Минусы:
ДОПОЛНИТЕЛЬНО
Кроме базового функционала по объединению VPN туннелей с различными протоколами, в системе VPNKI вы можете воспользоваться удаленным доступом к компьютеру или камере, используя:
VPN: ещё раз просто о сложном
Вы сталкивались с ошибкой “Это видео не доступно для просмотра в Вашей стране”? Пробовали заходить на LinkedIn? Подобные ограничения можно обойти с помощью включения VPN на своем девайсе. В последнее время огромное количество людей было вынуждено перейти на дистанционный формат работы и многие работодатели обязали своих сотрудников пользоваться VPN для защищенного доступа к корпоративным сервисам. Сегодня мы постараемся разобраться в том, что такое VPN и как это работает.
Disclaimer: я искала на Хабре базовую статью о VPN, но нашла из базы только часть цикла «Сети для самых маленьких«. Это очень крутая работа, но она сразу не выпадает. Поэтому я решила обобщить все собранные мной определения, знания и структуры, а в начале дать ссылку на «Сети». Надеюсь, это поможет другим пользователям Хабра.
Что такое VPN?
VPN – Virtual Private Network – виртуальная частная сеть.
Это совокупность технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет).
Расшифровка названия: сеть – объединение нескольких устройств каким-либо видом связи, позволяющее обмениваться информацией. Виртуальная – неосязаемая, не физическая, то есть не важно, по каким именно каналам связи она проложена. Физическая и логическая топологии могут как совпадать, так и отличаться. Частная – в эту сеть не может войти посторонний пользователь, там находятся только те, кому разрешили доступ. В частной сети надо маркировать участников и их трафик, чтобы отличить его от остальной, чужой информации. Также в такой сети обеспечивается защита данных криптографическими средствами, попросту говоря, шифруется.
Приведем еще одно определение: VPN – это сервис, позволяющий защитить приватные данные при пользовании Интернетом.
Зачем нужен VPN?
Для удаленной работы. Например, вы работаете из дома. По VPN вы можете получить доступ к сервисам и документации своей организации, при этом соединение будет более безопасным, данные будет сложно перехватить и расшифровать.
Чтобы объединить разные части одной компании. Офисы могут быть удалены друг от друга на любое расстояние.
Внутри компаний – для объединения и изоляции отделов.
При подключении к Wi-fi в кафе, метро и т.д., чтобы хакеры не могли украсть ваши данные. При пользовании публичной сетью безопасно, разве что просматривать сайты в браузере. А вот если использовать соц.сети, злоумышленник может не только перехватить вашу конфиденциальную информацию, но и использовать ее в своих целях, авторизовавшись в этой самой соц.сети от Вашего имени. Еще хуже, если ему удастся взломать почту. Тогда атаке подвергнутся все приложения, привязанные к этому почтовому ящику. Но самой неприятной может оказаться утечка данных вашей банковской карты, если вы решили перевести кому-то деньги, подключившись к бесплатному Wi-fi.
Для получения доступа к сайтам, которые заблокированы на определенной территории. Приведем пример: Teen Spirit снимает передачу “Орёл и Решка” и продает ее двум телеканалам: российской “Пятнице” и украинскому “Интеру”. Обычно телеканалы на следующий день после выхода премьеры по телевидению, выкладывают выпуск на свой ютуб-канал, чтобы те, кто не успел посмотреть передачу по телевизору, имели возможность сделать это в интернете и, конечно же, для того, чтобы заработать дополнительно на встроенной в ютуб рекламе. На Украине выпуски выходят на день раньше, чем в России. Соответственно, “Интер” выкладывает видео на ютуб, когда по “Пятнице” передачу еще не показали. Поэтому в России в этот день запрещен доступ к этому видео.
Для обеспечения анонимности. Нельзя вычислить, какие сайты вы посещали, каким браузером пользуетесь, где находитесь и т.д. Надобность скрыть свою геолокацию может может возникнуть в путешествиях. Например, в Турции запрещен YouTube и WhatsApp. Значит, просто так зайти в привычные соц.сети не получится, а с VPN это сделать вполне возможно.
Чтобы в браузере оставалась история поиска, на основе которой создается таргетированная реклама
Чтобы сэкономить, например, при покупке авиабилетов. Авиакомпании устанавливают разные цены на одни и те же билеты для покупателей из разных регионов. А VPN позволяет изменить информацию о геолокации.
Как можно пользоваться VPN?
Итак, мы поняли, что VPN – полезный сервис, но как именно можно его включить? Если Вы работаете за компьютером и хотите посетить заблокированный сайт, используя браузер, то можно или установить специальную программу на ПК (так называемый VPN-клиент), или добавить расширение для браузера, или использовать встроенный в Opera VPN. Все эти способы просты в исполнении, но имеют некоторые недостатки. Так, VPN-клиент выдает случайный IP-адрес, то есть нет возможности выбрать страну. Еще один неудобство заключается в необходимости постоянного запуска программы, однако, существуют программы, которые запускаются одновременно с ОС. Теперь рассмотрим следующий способ – добавление расширения для браузера через Webstore. Нужно будет зарегистрироваться, после чего одним кликом можно выбрать страну, к VPN-серверу которой Вы хотите подключиться.
Использование VPN на смартфонах и айфонах реализуется через мобильные приложения. Самые популярные из них – это OpenVPN для Android и Cloak для iOS.
О плюсах VPN и о том, как его можно установить уже Вы прочитали. Самое время поговорить о минусах.
Чем приходится платить за безопасность в Интернете?
Низкая скорость интернета. На дополнительное шифрование требуется время. Также часто трафик проходит большее расстояние, что связано с удаленностью расположения VPN-сервера.
Периодический разрыв VPN-подключения, внезапный выход трафика в публичную сеть. Часто можно не заметить разрыв подключения и утечку данных, также VPN-соединение может не восстанавливаться автоматически, что не удобно. Во современных ОС на базе Windows предусмотрена функция VPN Reconnect. Если ее нет, то придется использовать особые программы или специальные настройки маршрутизации, которые контролируют VPN-соединение и в случае его разрыва сначала блокируют передаваемую информацию, закрывают приложения, потом обновляют VPN-подключение.
К сожалению, IPv6 почти никогда не поддерживается VPN. Следовательно, когда в публичной сети используется IPv6, и в интернет-ресурсе он также поддерживается, трафик пойдет по умолчанию по открытой IPv6 сети. Чтобы такого не произошло можно просто отключить IPv6 в ОС.
DNS-протечки: на практике часто DNS-запросы обрабатываются DNS-серверами публичной сети (а не виртуальной, защищенной). В случае их некорректного ответа можно получить поддельный адрес запрашиваемого домена. Так, ничего не подозревающие пользователи могут быть перенаправлены, например, на сайты мошеннических онлайн-банков. Также по DNS-серверам можно определить примерную геолокацию и интернет-провайдера пользователя.
Присутствуют также разнообразные юридические аспекты. Во-первых, это отличия в законодательстве разных государств. VPN-клиент и VPN-сервер часто находятся в разных странах. Также трафик может проходить через третью страну транзитом. Таким образом существует возможность сохранить себе копию передаваемых данных для дальнейшей расшифровки и изучения.
Существует не только вопрос что шифровать, но и как. Далеко не все криптографические средства разрешены. Из-за этого производители сетевого оборудования (в том числе для организаций VPN) при экспорте в другие страны вынуждены отключать в своей продукции ряд алгоритмов шифрования, а также уменьшать максимально возможную длину ключа.
Проблема кроется еще и в том, что сами мировые стандарты шифрования могут быть уязвимыми. Так, в 2013 году NIST (The National Institute of Standards and Technology – организация, утверждающая стандарты шифрования в США) обвинили в том, что он разрешил включить в новый стандарт уязвимую версию генератора псевдослучайных чисел. Это позволило сильно упростить расшифровку информации, защищенной с применением этого генератора. Более того, составителей стандартов нередко обвиняют в сознательном усложнении описаний стандартов.
Как работает VPN?
Соединение VPN – это, так называемый, “туннель” между компьютером пользователя и компьютером-сервером. Каждый узел шифрует данные до их попадания в “туннель”.
Вы подключаетесь к VPN, система идентифицирует вашу сеть и начинает аутентификацию (сравнивает введенный пароль с паролем в своей базе данных).
Далее сервер Вас авторизует, то есть предоставляет право на выполнение определенных действий: чтение почты, интернет-серфинг и т.д. После установления соединения весь трафик передается между вашим ПК и сервером в зашифрованном виде. Ваш ПК имеет IP-адрес, предоставленный интернет-провайдером. Этот IP блокирует доступ к некоторым сайтам. VPN сервер меняет ваш IP на свой. Уже с VPN-сервера все данные передаются к внешним ресурсам, которые вы запрашиваете. Теперь можно просматривать любые ресурсы и не быть отслеженным.
Однако, следует помнить, что не вся информация шифруется. У разных VPN-провайдеров могут отличаться такие характеристики как степень шифрования, сокрытие факта подключения к серверу, хранение логов (журнал, в который сохраняется информация о посещаемых сайтах, реальный IP адреси т.п.) и сотрудничество при выдаче информации третьим лицам.
Если VPN-провайдер вообще не записывает логи, то передавать третьим лицам просто нечего. А сокрытие факта подключения к серверу – уже более редкая услуга. При некорректном подключении или резком разрыве соединения может произойти утечка части данных. Решить проблему поможет технология Multihop VPN, которая предполагает соединение с сайтом сразу через несколько серверов.
Рассмотрим популярные VPN:
PPTP – Point-to-Point Tunneling Protocol
+ поддерживается всеми ОС
+ не требует много вычислительных мощностей
— плохая защищенность. Методы шифрования устарели, плохая архитектура, есть ошибки в реализации протокола от Microsoft. Нет шифрования по умолчанию, на взлом требуется менее суток.
Используется, когда защита данных не очень важна или когда нет других вариантов.
L2TP – Layer 2 Tunneling Protocol
+ более эффективен для построения виртуальных сетей
— более требователен к вычислительным ресурсам
— не предполагает шифрования по умолчанию
Работает совместно с другими протоколами, чаще всего IPSec.
Используется интернет-провайдерами и корпоративными пользователями.
IPSec – Internet Protocol Security – группа протоколов и стандартов для безопасных соединений.
— сложен в настройке (следовательно, снижение защиты, если настроить неправильно)
— требует много вычислительных ресурсов
+ этот недостаток компенсируется путем аппаратного ускорения алгоритма шифрования АЕС
Часто используется совместно с другими технологиями.
SSL – Secure Sockets Layer & TLS – Transport Layer Security – группа методов, включающая в себя протоколы SSL и TLS и другие методы защиты.
+ беспрепятственно пропускаются большинством публичных сетей
— довольно низкая производительность
— сложность в настройке, необходимость установки дополнительного ПО
используется на веб-сайтах, URL которых начинается с https (там еще виден зеленый замочек)
некоторые реализации: OpenVPN, Microsoft SSTP.
+ OpenVPN имеет открытый код, реализован практически для всех платформ, считается очень надежным.
Заключение
VPN – комплекс технологий, позволяющих создать логическую сеть поверх физической. Используется для обеспечения защиты трафика от перехвата злоумышленниками и безопасной деятельности в интернете. VPN открывает доступ к заблокированным ресурсам, так что многие готовы мириться с более низкой скоростью интернета и возможными логами программ. Хотя VPN использует довольно надежные алгоритмы шифрования, включение VPN-клиента на вашем ПК не гарантирует 100% сохранности конфиденциальной информации, поэтому следует внимательно отнестись к выбору VPN-провайдера.
Разбираемся в VPN протоколах
В последние месяцы армия пользователей VPN значительно увеличилась. И речь не о любителях обходить блокировки и посещать запрещенные сайты, а о тех, кто использует VPN для безопасной работы (да-да, удаленной работы). Это повод еще раз посмотреть на арсенал доступных протоколов и сравнить их с точки зрения безопасности.
Для начала — немного общих положений о VPN. Сценарии использования VPN могут быть разными, самые популярные их них:
Для реализации этих сценариев существуют различные виды VPN протоколов — для связи, для шифрования трафика и другие. И уже на основании подходящего протокола можно «строить» свое решение. Два самых известных и широко используемых протокола — OpenVPN и IPSec, а сравнительно недавно появился WireGuard, вызвавший некоторые разногласия. Есть и другие альтернативы, уже устаревшие, но вполне способные решать определенные задачи.
Преимущество того или иного протокола VPN зависит от ряда факторов и условий использования:
Устройства — разные устройства поддерживают разные протоколы.
Сеть — если определенные сервисы не доступны в вашей локации, некоторые протоколы могут не подойти. Например, есть VPN Providers, которые работают в Китае, тогда как большинство существующих провайдеров заблокированы.
Производительность — некоторые протоколы обладают бОльшей производительностью, особенно на мобильных устройствах. Другие — более удобны для использования в больших сетях.
Модель угроз — некоторые протоколы менее безопасны, чем другие, поэтому и злоумышленники могут воздействовать на них по-разному.
Итак, с общей частью закончили, теперь переходим к подробному описанию и сравнению протоколов.
Point-to-Point Tunneling Protocol (PPTP) — один из старейших VPN протоколов, используемых до сих пор, изначально был разработан компанией Microsoft.
PPTP использует два соединения — одно для управления, другое для инкапсуляции данных. Первое работает с использованием TCP, в котором порт сервера 1723. Второе работает с помощью протокола GRE, который является транспортным протоколом (то есть заменой TCP/UDP). Этот факт мешает клиентам, находящимся за NAT, установить подключение с сервером, так как для них установление подключения точка-точка не представляется возможным по умолчанию. Однако, поскольку в протоколе GRE, что использует PPTP (а именно enhanced GRE), есть заголовок Call ID, маршрутизаторы, выполняющие натирование, могут идентифицировать и сопоставить GRE трафик, идущий от клиента локальной сети к внешнему серверу и наоборот. Это дает возможность клиентам за NAT установить подключение point-to-point и пользоваться протоколом GRE. Данная технология называется VPN PassTrough. Она поддерживается большим количеством современного клиентского сетевого оборудования.
PPTP поддерживается нативно на всех версиях Windows и большинстве других операционных систем. Несмотря на относительно высокую скорость, PPTP не слишком надежен: после обрыва соединения он не восстанавливается так же быстро, как, например, OpenVPN.
В настоящее время PPTP по существу устарел и Microsoft советует пользоваться другими VPN решениями. Мы также не советуем выбирать PPTP, если для вас важна безопасность и конфиденциальность.
Конечно, если вы просто используете VPN для разблокировки контента, PPTP имеет место быть, однако, повторимся: есть более безопасные варианты, на которые стоит обратить внимание.
Secure Socket Tunneling Protocol (SSTP) — проприетарный продукт от Microsoft. Как и PPTP, SSTP не очень широко используется в индустрии VPN, но, в отличие от PPTP, у него не диагностированы серьезные проблемы с безопасностью.
SSTP отправляет трафик по SSL через TCP-порт 443. Это делает его полезным для использования в ограниченных сетевых ситуациях, например, если вам нужен VPN для Китая. Несмотря на то, что SSTP также доступен и на Linux, RouterOS и SEIL, по большей части он все равно используется Windows-системами.
С точки зрения производительности SSTP работает быстро, стабильно и безопасно. К сожалению, очень немногие VPN провайдеры поддерживают SSTP.
SSTP может выручить, если блокируются другие VPN протоколы, но опять-таки OpenVPN будет лучшим выбором (если он доступен).
IPsec
Internet Protocol Security (IPsec) — это набор протоколов для обеспечения защиты данных, передаваемых по IP-сети. В отличие от SSL, который работает на прикладном уровне, IPsec работает на сетевом уровне и может использоваться нативно со многими операционными системами, что позволяет использовать его без сторонних приложений (в отличие от OpenVPN).
IPsec стал очень популярным протоколом для использования в паре с L2TP или IKEv2, о чем мы поговорим ниже.
IPsec шифрует весь IP-пакет, используя:
Обсуждение IPsec было бы неполным без упоминания утечки презентации Агентства Национальной Безопасности США, в которой обсуждаются протоколы IPsec (L2TP и IKE). Трудно прийти к однозначным выводам на основании расплывчатых ссылок в этой презентации, но если модель угроз для вашей системы включает целевое наблюдение со стороны любопытных зарубежных коллег, это повод рассмотреть другие варианты. И все же протоколы IPsec еще считаются безопасными, если они реализованы должным образом.
Теперь мы рассмотрим, как IPsec используется в паре с L2TP и IKEv2.
L2TP/IPsec
Layer 2 Tunneling Protocol (L2TP) был впервые предложен в 1999 году в качестве обновления протоколов L2F (Cisco) и PPTP (Microsoft). Поскольку L2TP сам по себе не обеспечивает шифрование или аутентификацию, часто с ним используется IPsec. L2TP в паре с IPsec поддерживается многими операционными системами, стандартизирован в RFC 3193.
L2TP/IPsec считается безопасным и не имеет серьезных выявленных проблем (гораздо безопаснее, чем PPTP). L2TP/IPsec может использовать шифрование 3DES или AES, хотя, учитывая, что 3DES в настоящее время считается слабым шифром, он используется редко.
У протокола L2TP иногда возникают проблемы из-за использования по умолчанию UDP-порта 500, который, как известно, блокируется некоторыми брандмауэрами.
Протокол L2TP/IPsec позволяет обеспечить высокую безопасность передаваемых данных, прост в настройке и поддерживается всеми современными операционными системами. Однако L2TP/IPsec инкапсулирует передаваемые данные дважды, что делает его менее эффективным и более медленным, чем другие VPN-протоколы.
IKEv2/IPsec
Internet Key Exchange version 2 (IKEv2) является протоколом IPsec, используемым для выполнения взаимной аутентификации, создания и обслуживания Security Associations (SA), стандартизован в RFC 7296. Так же защищен IPsec, как и L2TP, что может говорить об их одинаковом уровне безопасности. Хотя IKEv2 был разработан Microsoft совместно с Cisco, существуют реализации протокола с открытым исходным кодом (например, OpenIKEv2, Openswan и strongSwan).
Благодаря поддержке Mobility and Multi-homing Protocol (MOBIKE) IKEv2 очень устойчив к смене сетей. Это делает IKEv2 отличным выбором для пользователей смартфонов, которые регулярно переключаются между домашним Wi-Fi и мобильным соединением или перемещаются между точками доступа.
IKEv2/IPsec может использовать ряд различных криптографических алгоритмов, включая AES, Blowfish и Camellia, в том числе с 256-битными ключами.
IKEv2 поддерживает Perfect Forward Secrecy.
Во многих случаях IKEv2 быстрее OpenVPN, так как он менее ресурсоемкий. С точки зрения производительности IKEv2 может быть лучшим вариантом для мобильных пользователей, потому как он хорошо переустанавливает соединения. IKEv2 нативно поддерживается на Windows 7+, Mac OS 10.11+, iOS, а также на некоторых Android-устройствах.
OpenVPN
OpenVPN — это универсальный протокол VPN с открытым исходным кодом, разработанный компанией OpenVPN Technologies. На сегодняшний день это, пожалуй, самый популярный протокол VPN. Будучи открытым стандартом, он прошел не одну независимую экспертизу безопасности.
В большинстве ситуаций, когда нужно подключение через VPN, скорее всего подойдет OpenVPN. Он стабилен и предлагает хорошую скорость передачи данных. OpenVPN использует стандартные протоколы TCP и UDP и это позволяет ему стать альтернативой IPsec тогда, когда провайдер блокирует некоторые протоколы VPN.
Для работы OpenVPN нужно специальное клиентское программное обеспечение, а не то, которое работает из коробки. Большинство VPN-сервисов создают свои приложения для работы с OpenVPN, которые можно использовать в разных операционных системах и устройствах. Протокол может работать на любом из портов TCP и UPD и может использоваться на всех основных платформах через сторонние клиенты: Windows, Mac OS, Linux, Apple iOS, Android.
Но если он не подходит для вашей ситуации, стоит обратить внимание на альтернативные решения.
WireGuard
Самый новый и неизведанный протокол VPN — WireGuard. Позиционируется разработчиками как замена IPsec и OpenVPN для большинства случаев их использования, будучи при этом более безопасным, более производительным и простым в использовании.
Все IP-пакеты, приходящие на WireGuard интерфейс, инкапсулируются в UDP и безопасно доставляются другим пирам. WireGuard использует современную криптографию:
Код WireGuard выглядит куда скромнее и проще, чем код OpenVPN, в результате чего его проще исследовать на уязвимости (4 тысячи строк кода против нескольких сотен тысяч). Также многие отмечают, что его гораздо легче развернуть и настроить.
Результаты тестов производительности можно увидеть на официальном сайте (как не сложно догадаться, они хороши). Стоит отметить, что лучшие результаты WireGuard покажет на Linux системах, т.к. там он реализован в виде модуля ядра.
Совсем недавно был представлен WireGuard 1.0.0, который отметил собой поставку компонентов WireGuard в основном составе ядра Linux 5.6. Включенный в состав ядра Linux код прошел дополнительный аудит безопасности, выполненный независимой фирмой, который не выявил каких-либо проблем. Для многих это отличные новости, но сможет ли WireGuard стать достойной заменой IPsec и OpenVPN покажет время и независимые исследования безопасности.
Мы постарались охарактеризовать самые популярные VPN протоколы, надеемся, обзор был для вас полезен. В качестве резюме приводим сравнительную таблицу, где еще раз обозначены важные, на наш взгляд, показатели.
PPTP | SSTP | L2TP/IPsec | IKEv2/IPsec | OpenVPN | WireGuard | |
---|---|---|---|---|---|---|
Компания-разработчик | Microsoft | Microsoft | L2TP — совместная разработка Cisco и Microsoft, IPsec — The Internet Engineering Task Force | IKEv2 — совместная разработка Cisco и Microsoft, IPsec — The Internet Engineering Task Force | OpenVPN Technologies | Jason A. Donenfeld |
Лицензия | Proprietary | Proprietary | Proprietary | Proprietary, но существуют реализации протокола с открытым исходным кодом | GNU GPL | GNU GPL |
Развертывание | Windows, macOS, iOS, некоторое время GNU/Linux. Работает “из коробки”, не требуя установки дополнительного ПО | Windows. Работает “из коробки”, не требуя установки дополнительного ПО | Windows,Mac OS X, Linux, iOS, Android. Многие ОС (включая Windows 2000/XP +, Mac OS 10.3+) имеют встроенную поддержку, нет необходимости ставить дополнительное ПО | Windows 7+, macOS 10.11+ и большинство мобильных ОС имеют встроенную поддержку | Windows, Mac OS, GNU/Linux, Apple iOS, Android и маршрутизаторы. Необходима установка специализированного ПО, поддерживающего работу с данным протоколом | Windows, Mac OS, GNU/Linux, Apple iOS, Android. Установить сам WireGuard, а затем настроить по руководству |
Шифрование | Использует Microsoft Point-to-Point Encryption (MPPE), который реализует RSA RC4 с максимум 128-битными сеансовыми ключами | SSL (шифруются все части, кроме TCP- и SSL-заголовков) | 3DES или AES | Реализует большое количество криптографических алгоритмов, включая AES, Blowfish, Camellia | Использует библиотеку OpenSSL (реализует большинство популярных криптографических стандартов) | Обмен ключами по 1-RTT, Curve25519 для ECDH, RFC7539 для ChaCha20 и Poly1305 для аутентификационного шифрования, и BLAKE2s для хеширования |
Порты | TCP-порт 1723 | TCP-порт 443 | UDP-порт 500 для первонач. обмена ключами и UDP-порт 1701 для начальной конфигурации L2TP, UDP-порт 5500 для обхода NAT | UDP-порт 500 для первоначального обмена ключами, а UDP-порт 4500 — для обхода NAT | Любой UDP- или TCP-порт | Любой UDP-порт |
Недостатки безопасности | Обладает серьезными уязвимостями. MSCHAP-v2 уязвим для атаки по словарю, а алгоритм RC4 подвергается атаке Bit-flipping | Серьезных недостатков безопасности не было выявлено | 3DES уязвим для Meet-in-the-middle и Sweet32, но AES не имеет известных уязвимостей. Однако есть мнение, что стандарт IPsec скомпрометирован АНБ США | Не удалось найти информации об имеющихся недостатках безопасности, кроме инцидента с утечкой докладов АНБ касательно IPsec | Серьезных недостатков безопасности не было выявлено | Серьезных недостатков безопасности не было выявлено |
Материал подготовлен совместно с veneramuholovka