VPN все чаще оказывается на слуху в последние пару лет. Этому способствуют и суровые законы некоторых стран, и пандемия, вынудившая людей работать из дома. Но не все хорошо знакомы с технологией в целом, не говоря уже о таких аспектах, как ее отдельные протоколы.
В этом материале как раз об этом и поговорим. Выясним, какие есть протоколы, чем они отличаются, сравним их друг с другом и поможем выбрать наиболее подходящий вариант.
1. Что такое VPN?
Virtual Private Network (Частная Виртуальная Сеть) — это расширение для публичной сети, позволяющее имитировать еще одну сеть поверх уже существующей, к которой может подключаться ограниченное количество устройств.
Обычно «виртуальное» подключение формируется между локальным компьютером и сервером. После этого подключенные системы получают преимущества приватной сети. Уровень доверия к ней многократно возрастает благодаря используемым механизмам защиты трафика. И это несмотря на низкий уровень доверия к сети, на базе которой строится VPN. После подключения к VPN можно управлять защищенными файлами, доступными только для членов сети, скрывать исходящий трафик и шифровать его.
1.1. Основные сценарии использования VPN.
- Изначально VPN разрабатывалась для офисов и крупных корпораций, чтобы сотрудники могли подключаться к корпоративной сети и работать удаленно, используя мобильные устройства и домашние компьютеры. Их защищают с помощью технологий туннелинга.
- Потом эти возможности начали использоваться для обхода разного рода блокировок. Например, региональные ограничения от сервисов в духе Pandora, Hulu, Amazon и Tidal. Или блокировки со стороны государства, запрещающие посещать те или иные ресурсы в связи с действующим законодательством.
- Также с помощью VPN строятся защищенные каналы связи между удаленными офисами. Например, если штаб-квартира компании находится в Лондоне, а один из филиалов в Уэльсе, то для их безопасного (защищенного от вмешательства третьих лиц) обмена данными потребуется VPN.
1.2. Что такое VPN-протокол?
VPN-протокол — программный фундамент, на базе которого строится любой VPN-сервис. В нем описывается формат организации подключения, обмена данными внутри частной виртуальной сети и другие аспекты работы ПО.
От выбора протокола зависит, какие задачи будут с помощью него решены, насколько эффективно они будут решаться, насколько это будет безопасно, быстро и т.п. Существует несколько технологий организации VPN, поэтому возникают некоторые разногласия при выборе соответствующих сервисов и при настройке виртуальных частных сетей.
1.3. На какие критерии оценки VPN-протоколов стоит обратить внимание.
У каждого протокола свой набор характеристик, исходя из которых нужно выбирать для себя подходящий. Среди них:
- Поддерживаемые платформы — протоколы могут быть достаточно специфичны и функционировать исключительно на одной-двух операционных системах. Другие же поддерживают сразу все доступные ОС.
- Поддерживаемые сети — не все протоколы работают в идентичных сетях. Некоторые VPN-сервисы предлагают свои услуги только в конкретных странах ввиду технологических ограничений, введенных, в том числе, государственными органами.
- Скорость работы — тоже зависит от архитектуры протокола. Есть те, что быстрее передают данные на мобильных устройствах. Есть те, что показывают пиковую производительность только в масштабах больших корпоративных сетей.
- Безопасность — в протоколах по-разному реализовано шифрование и другие механизмы обеспечения безопасности данных. Поэтому, в зависимости от поставленных задач, надо выбирать технологию, наименее подверженную распространенным для нее атакам.
Теперь от общего описания форматов и характеристик перейдем к конкретным технологическим решениям и к их особенностям.
2. Кратко о существующих протоколах.
Для начала кратко пробежимся по протоколам, которые будем рассматривать в статье.
- OpenVPN — сбалансированный вариант. Он быстрее остальных и гораздо меньше подвержен атакам со стороны злоумышленников. Топовые VPN-сервисы базируют свои продукты на основе этого протокола.
- L2TP/IPsec во многом похож на OpenVPN. В меру быстрый, в меру безопасный. Но это «в меру» как раз все портит. Это не значит, что его стоит бояться или он как-то серьезно подвергает опасности вашу конфиденциальность в сети. Для некритичных задач его хватит с головой. Но надо иметь в виду, что этот протокол уступает по безопасности OpenVPN. В текущей ситуации нужен как альтернатива на случай, когда более подходящий протокол недоступен.
- IKEv2/IPsec — альтернатива вышеперечисленным протоколам, адаптированная под работу на мобильных устройствах. Ее преимущество заключается в возможности быстро переподключиться к сети после потери сигнала. Такое может происходить на нулевых этажах торговых центров, в туннелях, метро и других местах с недостаточной «проницаемостью». IKEv2 скоростной, но работает не на всех платформах и сложен в настройке.
- SSTP разработан компанией Microsoft и работает только с ее программным обеспечением. Настроить его в сторонних операционных системах чересчур сложно, да и не все хотят иметь дело с технологическими корпорациями в таком вопросе, как VPN. Если же причастность Microsoft не смущает, и на компьютере установлена Windows, то это будет сносным выбором.
- PPTP — еще один продукт. Устаревший протокол, который больше не используется глобально. Пригодится только за отсутствием альтернатив.
- WireGuard — перспективная новинка, во много схожая с OpenVPN, но обгоняющая его по всем параметрам (от скорости передачи файлов до изощренности методов шифрования).
- SoftEther — еще один современный стандарт VPN. Быстрый, отказоустойчивый, обеспечивающий хорошее шифрование.
Далее разберем каждый протокол подробнее. Ознакомимся с принципами работы, степенью защищенности, производительностью и другими аспектами VPN-технологий.
3. OpenVPN.
Золотой стандарт среди действующих VPN-протоколов. Хорош сразу по всем фронтам:
- Он универсален. Его можно использовать в разных целях, независимо от того, нужен ли вам виртуальный «офис», защищенный от сторонних глаз, или безопасный туннель для подключения к заблокированным ресурсам.
- OpenVPN создан независимой командой разработчиков из OpenVPN Technologies. Главное преимущество протокола — открытый исходный код. Ему он обязан дикой популярностью. Opensource-сущность помогла этой технологии пройти десятки независимых аудитов от фирм, занимающихся безопасностью. Этому помогли кастомные методы шифрования, поддержка SSL и алгоритмов AES-256-GCM.
- Также он обеспечивает скорость передачи данных выше, чем у конкурентов. Многие сервисы, базирующие свои VPN-серверы на базе OpenVPN, обеспечивают передачу зашифрованного контента на скорости до 2000 Мбит в секунду.
- В работе OpenVPN задействуются технологии TCP и UDP, благодаря чему стандарт можно задействовать в качестве альтернативы для других протоколов, когда описываемый стандарт заблокирован на стороне провайдера. А еще он работает стабильно и реже остальных теряет соединение с интернетом (в этом тоже помогает поддержка TCP).
Для настройки и запуска OpenVPN нужен клиент, то есть программное обеспечение, адаптированное под работу с протоколом. Использовать встроенные системные инструменты не получится. Благо клиентских приложений, поддерживающих эту технологию, хватает. И они доступны на Windows, macOS, Linux, iOS и Android. В зависимости от количества подключений OpenVPN может быть бесплатным, но бизнес-клиентам придется заплатить.
Протокол находится в активной разработке, постоянно обрастает обновленными стандартами защиты и повышениями производительности.
4. PPTP.
Point-to-Point Tunneling Protocol — старая технология, которая давно перешла в разряд винтажных и сейчас практически не используется. Была создана компанией Microsoft в 1999 году.
Протокол устанавливает стандартное двухканальное соединения типа PPP между устройствами, а потом передает данные через инкапсуляцию по методу Generic Routing Encapsulation. Параллельно с этим действует соединение по TCP-порту. Первое используется непосредственно для передачи информации, второе нужно для управления подключением.
PPTP сложен в настройке и в управлении. К примеру, из-за необходимости поддерживать сразу две сетевые сессии с трудом получается перенаправлять сигнал на сетевой экран. Из-за спецификаций GRE и других компонентов протокола страдает безопасность.
Несмотря на наличие поддержки MS-CHAPv2 и EAP-TLS для авторизации пользователей, PPTP остается небезопасным VPN-протоколом, не рекомендуемым к использованию для решения серьезных задач. Подобрать ключ и получить доступ к частной сети можно примерно за 23 часа с помощью профильного онлайн-сервиса.
В свое время эта технология обрела успех благодаря поддержке со стороны Microsoft и внедрению PPTP в Windows по умолчанию. Для настройки не требовались сторонние клиенты и программные инструменты, но в связи с появлением более надежных альтернатив в духе OpenVPN, популярность PPTP начала снижаться. Сейчас даже Microsoft рекомендует использовать продукты конкурентов и прекратить эксплуатировать PPTP ввиду его незащищенности и нестабильности.
Его все еще можно использовать для снятия региональных ограничений, так как обычно в этих случаях не приходится скрывать трафик и переживать за кражу личных данных.
5. SSTP.
Secure Socket Tunneling Protocol — модифицированная версия PPTP. Эдакая надстройка старого протокола, которая должна была стать не только духовным продолжением ранее существовавшей технологии, но и исправлением всех ошибок, допущенных в «предыдущей версии».
Сколько-то заметной популярности протокол не сыскал. Доля на рынке VPN у SSTP такая же скромная, как и у предыдущей итерации протокола Microsoft. Но у него есть преимущество в виде отсутствия критических проблем с безопасностью. Таких зияющих дыр в нем нет и перехватить трафик гораздо сложнее.
Помогает SSL-шифрование. При подключении к SSTP вся информация отправляется через TCP-порт 443. Такой подход делает его полезным при необходимости создавать безопасные подключения со странами, где большая часть VPN-сервисов заблокирована или запрещена законом.
Многочисленные тестирования показали, что SSTP может передавать данные на высокой скорости (если канал свободен) и быстро восстанавливать соединение, если то неожиданно оборвалось. По этим показателям протокол стремится к OpenVPN, но не дотягивает ввиду некоторых ограничений технологии.
Для нормальной работы SSTP требуется свободный канал данных. Как только на нем появляется нагрузка (даже незначительная), скорость работы протокола резко падает и превращает используемый VPN-сервис в настоящую помеху.
Secure Socket Tunneling Protocol доступен на операционных системах Windows, Linux и BSD, но поддерживается ограниченным количеством сервисов. Их тяжело найти, а еще они зачастую обходятся дороже альтернатив. Отсюда и скромная аудитория SSTP, которая и не планирует расти в ближайшем будущем из-за продвинутости конкурентов.
6. IPsec.
Internet Protocol Security представляет собой не одну технологию, а набор протоколов. Каждый из них помогает обеспечить безопасность информации, передаваемой по IP-сети. По сути, они не создавались для организации VPN-соединений, это одно из нескольких применений.
Прелесть IPsec заключается в его упрощенной настройке. Благодаря своей архитектуре и работе на сетевом уровне не возникает потребности в подключении сторонних клиентов. VPN на базе Internet Protocol Security можно «поднять» во всех операционных системах встроенными средствами – через параметры ОС. Это его главное преимущество над OpenVPN.
Безопасность IPsec достигается за счет работы двух механизмов.
- Authentication Header – ставит цифровую подпись каждой единице данных, передаваемой через VPN-соединение.
- Encapsulating Security Protocol – защищает целостность передаваемой информации и конфиденциальность пользователей протокола.
IPsec используется в тандеме с другими техническими решениями. Зачастую речь идет о комбинировании технологий IPsec и L2TP или об IPsec + IKEv2.
6.1. IPsec/L2TP
L2TP задумывалась как альтернатива PPTP. Проблема была в отсутствии механизмов шифрования данных и методов авторизации. Поэтому вместе с ней всегда подключали IPsec. Таким образом удавалось задействовать AES-алгоритмы шифровки данных. Из недостатков метода можно выделить сложности при работе с некоторыми брандмауэрами, они частенько блокируют соединения по порту 500. А еще он медленный, потому что дважды за сессию инкапсулирует передаваемую информацию. Другие протоколы так не делают.
6.2. IPsec/IKEv2
Разработан командой разработчиков из Microsoft и Cisco, но имеет несколько вариаций с открытым исходным кодом, написанных независимыми программистами. IKEv2 хорош наличием поддержки Mobility and Multi-homing Protocol. Это делает его устойчивым к смене сетей, это поможет владельцам смартфонам оставаться на связи даже при выходе в сеть через VPN. Подключение к VPN-серверу не обрывается при смене роутера, к которому подключен гаджет или смене точки доступа во время поездок.
IKEv2 поддерживает методы шифрования AES, Blowfish и Camellia. В этом плане он не отличается от L2TP. Так что уровень защищенности от атак извне у них идентичный. Также он потребляет меньше ресурсов, чем условный OpenVPN, и от этого демонстрирует более высокую скорость передачи данных. По умолчанию поддерживается в Windows 7 и новее, в macOS Lion и новее, в iOS и в ряде смартфонов на базе Android.
7. WireGuard.
Новое поколение VPN-протоколов. Разработчики называют его ускоренной, надежной и простой в управлении альтернативой OpenVPN и другим используемым технологиям. Какого-то конкретного мнения по поводу WireGuard пока выражено не было.
Известно, что в его основе лежит ворох технологий шифрования, бережно оберегающих каждый байт отправляемых данных. Используются Curve25519, ChaCha20, SipHash, BLAKE2 и Poly1305. Причем каждый из перечисленных типов криптографии берет на себя конкретную задачу. Допустим, Curve25519 необходим для обмена ключами, BLAKE2 занимается хэшированием информации, а Poly1305 задействуется для аутентификации.
WireGuard легковесный – он состоит всего из четырех тысяч строк кода. Поэтому разработчики при желании могут быстро его исследовать, проанализировать и даже поменять что-то. Это открытый стандарт, как и OpenVPN. Эта легковесность распространяется и на пользовательский опыт – люди охотно отмечают, что настроить WireGuard легче, чем остальные протоколы.
По результатом бенчмарков, WireGuard обгоняет лидеров рынка. Разрыв между WG и OpenVPN впечатляет. 1011 Мбит в секунду против 258 Мбит в секунду соответственно. С IPsec разница не такая большая, но она есть, и как раз в пользу WireGuard.
8. SoftEther.
Недавняя разработка из Цукубского университета. Кроссплатформенный японский VPN-проект, который бок о бок с WireGuard стремится выйти на первые позиции, обойдя OpenVPN.
Хорош совместимостью с другими VPN-технологиями. Может работать в комбинациях с IPsec, EtherIP, L2TP. Из дополнительных функций предлагает: динамический DNS, встроенный фильтр пакетов, удобную панель управления и контроль над RPC через HTTPS. А еще он без проблем обходит чересчур бдительные брандмауэры, мешающие нормальной работе сети даже в безопасных условиях.
На SoftEther можно легко перебраться с OpenVPN за счет глубокой интеграции двух сервисов и функции клонирования в японском протоколе.
Так же, как OpenVPN и WireGuard, имеет открытый исходный код и распространяется бесплатно.
9. Сравнительная таблица протоколов.
Закрепим новую информацию с помощью таблицы.
OpenVPN | PPTP | SSTP | IPsec | WireGuard | SoftEther | |
Создатели | OpenVPN Technologies | Microsoft | Microsoft | Cisco и другие | Джейсон Донфилд | Университет Цукуба |
Тип лицензии | GNU GPL (открытый исходный код) | Проприетарная | Проприетарная | Зависит от реализации | GNU GPL (открытый исходный код) | Apache License 2.0 |
Поддерживаемые платформы | Нативно не поддерживает ни одну ОС. Сторонние клиенты для настройки есть для Windows, Linux, macOS, iOS и Android | Windows, macOS, Linux и iOS без необходимости скачивать дополнительное ПО | Windows без необходимости скачивать дополнительное ПО | Windows, macOS, Linux и iOS без необходимости скачивать дополнительное ПО | Windows, macOS, Linux и iOS без необходимости скачивать дополнительное ПО | Windows, macOS, iOS, Linux и Android |
Используемые порты | Любой TCP и UPD | TCP 1723 | TCP 443 | UDP 500, UDP 1701 (зависит от выполнимых задач) | Любой UPD | Любой TCP |
Методы шифрования | Библиотека OpenSSL | Самый безопасный из доступных — MPPE | SSL | Самый безопасный из доступных — AES | Curve25519, ChaCha20, SipHash, BLAKE2 и Poly1305 | SSL |
Уязвимости | Не найдено | Атаки по словарю MSCHAP-V2 и Bit Flipping | Не найдено | Не найдено | Не найдено | Не найдено |
10. Какой протокол выбрать?
Пока что фаворитом является OpenVPN. Он уже давно на рынке и успел себя зарекомендовать. Используется топовыми VPN-cервисами, работает на Android, iOS, Windows, macOS, Linux и даже на роутерах. Разве что на утюге не получится запустить. Скорость работы OpenVPN хоть и не поражает, но ее хватит для комфортной работы.
Второе место я бы отдал WireGuard. Это пока еще темная лошадка, но зато с кучей бонусов. Он превосходит OpenVPN и IPsec по всем параметрам, но пока не вызывает такого доверия, как первый. Но это все же дело времени. Кажется, что в ближайшем будущем расстановка сил на рынке VPN-сервисов заметно скорректируется.
Замкнет тройку лидеров IPsec – jтличный баланс между производительностью и доступностью. Правда, если не брать в расчет подозрительную историю с утечкой данных американских спецслужб. Если им верить, то в IPsec встроены бэкдоры, позволяющие отслеживать трафик, передаваемый по протоколу IPsec в тайне от отправляющего.
Остальные технологии оказались на обочине прогресса. Не советую их использовать. Только если все остальные варианты почему-то оказались недоступны.
11. Выводы.
Теперь вы знакомы с особенностями VPN-протоколов. Опираясь на эту информацию, будет несложно выбрать подходящий (учитывая тот факт, что выбор-то, на самом деле, невелик). Остается «поднять» собственный сервер на базе OpenVPN или подобрать сервис в духе того же TunnelBear. Главное, не использоваться бесплатные варианты.