Выбираем протокол для VPN. Сравнение OpenVPN, PPTP, L2TP/IPsec и IPsec IKEv2
Многие ресурсы, рассказывая пользователям о VPN, как правило, рекомендуют OpenVPN с шифрованием 256 бит, объясняя, что это самый надежный протокол. Но на самом деле это не совсем протокол, а на итоговую безопасность VPN влияют несколько показателей, и каждый из них очень важен.
Мы начинаем цикл о выборе безопасного VPN, в рамках которого рассмотрим показатели, влияющие на итоговую безопасность VPN, и в их разрезе расскажем о некоторых уязвимых местах VPN-туннеля.
Протокол туннелирования
Как правило, выбор VPN начинается с выбора протокола туннелирования (далее ПТ). Сегодня на рынке имеется несколько вариантов ПТ для реализации виртуальной частной сети: OpenVPN, PPTP, L2TP/IPsec, IPsec IKEv2 и другие, не получившие широкого распространения.
Сразу хотелось бы отметить, что OpenVPN не совсем верно называть протоколом туннелирования, это программное обеспечение для создания виртуальной сети, но пусть будет протокол, дабы избежать путаницы. Что такое протокол? Представьте себе ситуацию: вы встретились с человеком и хотите с ним пообщаться, но говорите на разных языках. Разумеется, вы не поймете друг друга, и речи о каком-либо полноценном взаимодействии идти не может. Протокол – это и есть язык взаимодействия, в данном случае между компьютером и VPN-сервером.
PPTP – первый протокол, поддерживаемый на платформе Windows. Протокол имеет слабое шифрование и может быть взломан как спецслужбами, так и квалифицированными злоумышленниками. Из плюсов стоит отметить отсутствие необходимости устанавливать дополнительное программное обеспечение и скорость работы. PPTP VPN требует минимальных ресурсов и по сравнению с OpenVPN почти не расходует заряд при использовании на мобильных устройствах. Почему этот протокол до сих пор используется?
Главная его проблема – слабая защита передачи ключа, но это не значит, что любой желающий может взломать шифрование. PPTP имеет и свои плюсы: простоту в настройке и использовании, неплохую защиту и смену IP-адреса. PPTP, может, и не самый защищенный протокол, но определенно лучше, чем ничего.
Что о нем надо знать:
Он медленнее других из-за двойного инкапсулирования (создается IPsec-туннель, а данные ходят через L2TP);
Использует стандартные порты, и потому его легко может заблокировать интернет-провайдер или системный администратор;
Операционные системы имеют встроенную поддержку этой технологии, нет необходимости ставить дополнительное ПО;
При его правильной настройке нет информации о возможности расшифровать данные.
Мы его не рекомендуем и не используем из-за скорости, потому много рассказывать о нем не станем.
IPsec IKEv2
Что такое IKEv2 в этой связке? Это, если говорить очень просто, авторизация через сертификат, и она, к сожалению, поддерживается не всеми устройствами.
Что о нем надо знать:
Работает быстрее, нежели L2TP/IPsec,
Сопоставим с OpenVPN,
Поддерживается не всеми операционными системами (хотя сам IPsec поддерживается везде);
При правильной настройке его не могут расшифровать ни спецслужбы, ни злоумышленники (по крайней мере, так считается в среде IT-специалистов).
Стоит отметить поддержку IPsec на всех популярных операционных системах как положительный момент. Но есть по этому поводу и другое мнение: в отличие от встроенных систем шифрования диска, наличие встроенных систем IPsec не вызывало возмущений со стороны спецслужб. Его реализовали даже в Windows, где всегда воздерживались от инструментов защиты данных, недоступных для взлома спецслужбам. Этот факт многим кажется подозрительным.
OpenVPN – бесплатное решение с открытым исходным кодом, которое, по признанию большинства специалистов, является самым лучшим на сегодняшний день для создания частной виртуальной сети (VPN).
Что надо знать об OpenVPN:
Не входит в состав стандартных дистрибутивов современных операционных систем, потому требует установки дополнительного программного обеспечения;
При правильной настройке его не смогут расшифровать ни спецслужбы, ни злоумышленники;
При нестандартных настройках сложно блокируется.
Да, OpenVPN требует установки дополнительного программного обеспечения, но это проверенный временем софт с открытым исходным кодом, установка и настройка которого не создаст проблем даже новичку.
OpenVPN работает на всех современных операционных системах: Windows, macOS, Linux, Android, iOS.
Выбор транспортного протокола для OpenVPN. TCP или UDP?
Зашифрованная информация, созданная при помощи OpenVPN, может передаваться по одному из двух протоколов: UDP или TCP. VPN-провайдеры обычно предлагают оба варианта, сопровождая их комментарием «TCP надежней, UDP быстрее».
Представьте себе, что вы рубите лес для постройки дома и вам надо спускать срубленные деревья вниз по реке до места строительства. Вы можете просто бросать их в воду, и ваш помощник будет ловить их на месте стройки ‒ это будет самым быстрым и простым способом. Но если бревно застрянет в процессе доставки или будет похищено, вы не узнаете этого, разве что когда вам не хватит бревен на постройку дома. А если вы присвоите каждому бревну номер и ваш помощник будет звонить после получения каждого бревна, уведомляя об успешной доставке, в этом случае, даже если какие-то бревна будут потеряны, вы узнаете об этом незамедлительно и отправите замену. Но согласитесь, такой способ отправки бревен займет больше времени, а потому, если река широкая и не извилистая, лучше использовать простой и быстрый способ.
Аналогичная ситуация и в выборе протокола: UDP – быстрый способ без подтверждения доставки пакетов, его мы рекомендуем использовать при стабильном интернете.
TCP не такой быстрый, но зато доставка каждого пакета подтверждается, он рекомендуется при плохой связи. TCP необходим в тех ситуациях, когда UDP-трафик блокируется провайдером или настройками роутера.
Альтернативный вариант OpenVPN TCP по 443 порту не может быть заблокирован, так как этот порт используется для всех HTTPS-соединений, и пользователи просто не смогут открывать сайты. Мы в своих решениях ставим OpenVPN UDP, но если в течение 15 секунд не получается подключиться при помощи UDP, автоматически начинается TCP-соединение. Позже мы поговорим про TLS authentication, порт соединения, генерацию сессионного ключа, алгоритмы шифрования, длину ключа, аутентификацию данных и другие составляющие безопасного VPN-соединения.
Что такое VPN-протоколы и какие они бывают
В тексте рассказываем, что такое VPN-протоколы, какие решения доступны на рынке и что лучше использовать.

Что такое VPN
VPN (Virtual Private Network) — это один из способов подключения к сети, когда между устройством и удаленным хостом создается защищенное соединение.
По мере того, как компании переносят свои данные и приложения в облако, потребность в виртуальной частной сети (VPN) становится скорее необходимостью, чем опцией. В том числе из-за того, что мошенники стали целенаправленно атаковать российские компании. А последние — использовать разные способы для повышения безопасности своей инфраструктуры.
Сценарии использования VPN
- Удаленный доступ. Сотрудники компаний используют VPN для удаленной работы с корпоративными ресурсами.
- Транспортные тоннели. Между разными сегментами сети можно построить канал для передачи данных. Например, соединить офис в Москве и Санкт-Петербурге.
- Доступ к запрещенным ресурсам и анонимизация. Среди обычных пользователей это популярный сценарий. VPN позволяет получить доступ к сайту в обход региональных или государственных блокировок.
Что такое VPN-протокол
Протоколы VPN — это специальные правила, определяющие порядок работы виртуальной частной сети. Они отвечают за процессы аутентификации устройств, способы передачи данных, безопасность используемых алгоритмов и приватность соединения.
VPN-протокол состоит из туннелирования и шифрования. Протокол туннелирования создает соединение между вашим устройством и VPN-сервером, а протокол шифрования — шифрует данные, чтобы никто не смог перехватить или подделать их.
Как работают VPN-протоколы
- Пользователь выбирает сервер в сервисе VPN и подключается к нему со своего устройства.
- VPN-сервис создает зашифрованный туннель между клиентом и сервером. В нем шифрует передаваемые данные с помощью протокола.
- VPN-сервер получает и расшифровывает трафик. Для этого он использует специальные ключи шифрования.
- VPN-сервер заменяет информацию о пользователе на свою и перенаправляет на целевой сайт клиентский запрос, с которым нужно установить соединение. Таким образом, обеспечивает безопасность и обход блокировок.
- VPN-сервер получает ответ, шифрует и перенаправляет его пользователю. Для расшифровки данных VPN-клиент и сервер используют специальные ключи шифрования.
Виды VPN-протоколов
Даже у самых надежных VPN-протоколов есть свои плюсы и минусы — невозможно точно остановиться на одном варианте. Некоторые из них быстрее, другие более безопасны, а третьи проще в настройке. Поэтому перед выбором VPN-протокола важно определить свои личные потребности.
PPTP
PPTP (Point-to-Point Tunneling Protocol) — один из первых VPN-протоколов. Компания Microsoft разработала его для коммутируемых сетей в Windows 95 и Windows NT. Примитивное шифрование делает его сверхбыстрым, но из-за этого страдает безопасность в интернете. К сожалению, он не дожил до наших дней и в настоящее время считается устаревшим.
PPTP использует протокол MPPE (Microsoft Point-to-Point Encryption) с ключами длиной до 128 бит. Для аутентификации он может использовать либо MS-CHAPv1, либо MS-CHAPv2. Совокупность этих факторов делает его открытым к разным атакам: от перебора до подмены битов.
Низкоуровневое шифрование делает PPTP одним из самых быстрых VPN-протоколов. Шифрование обычно замедляет скорость соединения, но у PPTP он слишком мал, чтобы вызвать значительную разницу.
SSTP
SSTP (Secure Socket Tunneling Protocol) — еще один протокол от Microsoft, который впервые появился в Windows Vista. Его изначально рассматривали как преемника PPTP и L2TP, поэтому SSTP можно найти в более поздних версиях Windows. По уровню безопасности он практически не уступает OpenVPN и способен обходить межсетевые экраны.
SSTP использует SSL-протокол, инкапсулирует пакеты данных по HTTPS и поддерживает шифрование AES-256. Дополнительно может подключаться к TCP-порту 443, что делает его трудноблокируемым протоколом. Сам протокол подвержен TCP meltdown, когда один протокол накладывается поверх другого. Например, более медленное внешнее соединение заставляет верхний уровень ставить в очередь больше повторных передач, чем способен обработать нижний уровень. Это приводит к задержкам и проблемам с передачей данных.
Относительно скорости SSTP работает быстрее других протоколов. Однако он требует большей пропускной способности и мощного процессора.
IPsec
IPsec VPN — это набор протоколов, который защищает соединение между устройствами на уровне IP. Существует два режима работы IPsec: туннельный и транспортный.
Туннельный режим. IPsec VPN шифрует исходный IP-пакет и инкапсулирует его в новый заголовок. Туннель прокладывается между парой шлюзов — например, двумя маршрутизаторами или маршрутизатором и межсетевым экраном. Аутентификация выполняется на обоих концах соединения, путем добавления к пакету заголовка. В транспортном режиме шифруется только полезная нагрузка IP-пакета без начального заголовка.
Туннельный режим обычно безопаснее транспортного, поскольку шифрует не только полезную нагрузку, но и весь IP-пакет.
Транспортный режим. Он отличается от туннельного методом инкапсуляции: шифрует только данные, а заголовок IP оставляет без изменений. Поэтому транспортный режим менее безопасный.
Ядро IPSec базируется на трех протоколах:
- Authentication Header (AH) обеспечивает аутентификацию и поддерживает целостность данных,
- ESP или Encapsulating Security Payload отвечает за шифрование трафика,
- ISAKMP или Internet Security Association and Key Management Protocol отвечает за обмен ключами и аутентификацию конечных хостов.
L2TP/IPsec
L2TP (Layer 2 Tunneling Protocol) появился в 1999 году как преемник PPTP. Для этого Microsoft и Cisco объединили два протокола — PPTP и L2F (Layer 2 Forwarding). Однако L2TP не шифрует данные, поэтому эту функцию выполняет IPSec.
L2TP обеспечивает нулевую защиту, поскольку не может защитить полезную нагрузку данных. IPSec же поддерживает шифр AES-256 и, как правило, считается безопасным. Поэтому L2TP инкапсулирует часть трафика, как обычное PPTP-соединение, а вторую обеспечивает IPSec.
L2TP/IPSec использует только три порта (UDP 500/4500 и ESP IP Protocol 50), поэтому брандмауэры смогут довольно просто его заблокировать. По сравнению с другими протоколами, у L2TP/IPsec средняя скорость передачи данных. Однако эта связка довольно ресурсоемкая, поэтому требует хорошее интернет-соединение и неплохие вычислительные мощности.
IPsec/IKEv2
IKEv2 (Internet Key Exchange) разработан Microsoft и Cisco в качестве преемника IKEv1. Как и предыдущий протокол, IKEv2 использует IPSec для шифрования. Протокол популярен среди мобильных пользователей, поскольку отлично справляется с установкой повторного соединения. Несмотря на то, что его разработала компания Microsoft, есть версия IKEv2 с открытым исходным кодом.
Протокол поддерживает несколько алгоритмов шифрования с 256-разрядными ключами: AES, Camellia, 3DES и ChaCha20. А также функцию MOBIKE, которая позволяет пользователям не терять соединение при переключении сетей, и процесс аутентификации на основе сертификатов. Но у протокола есть недостаток: IKEv2 подвержен атаке «человек посередине» из-за IPSec.
IKEv2 работает через UDP-протокол, что обеспечивает низкую задержку и высокую скорость. Эффективный обмен сообщениями типа «запрос-ответ» также играет важную роль. Кроме того, IKEv2 менее требователен к процессору, чем OpenVPN.
OpenVPN
OpenVPN (Open-Source Virtual Private Network) — золотой стандарт в области VPN-протоколов. У него высокая скорость подключения и совместимость с большинством портов. Работает протокол на всех основных платформах, включая Windows, macOS, Linux, Android и iOS. Также есть большое комьюнити, в котором разрабатывают собственные решения на базе OpenVPN.
С точки зрения безопасности OpenVPN опирается на библиотеку OpenSSL и поддерживает разные алгоритмы шифрования: AES, Blowfish и другие. У него есть несколько портов, поэтому VPN-трафик можно замаскировать под обычный браузер. Таким образом, интернет-провайдеры не могут его заблокировать.
В плане скорости протокол занимает промежуточное место. Он быстрее, чем L2TP/IPSec, но медленнее, чем PPTP и WireGuard. Однако скорость всегда зависит от устройства и параметров конфигурации. К примеру, его можно увеличить за счет функции раздельного туннелирования или уменьшить с помощью обфускации или двойного шифрования.
В чем разница между UDP и TCP?
OpenVPN использует два протокола: TCP и UDP. Мы о них уже рассказывали, а сейчас подробнее разберем, чем они отличаются.
UDP и TCP устроены по-разному. Например, TCP медленнее, чем UPD. При этом он надежнее из-за контроля передачи пакетов, тогда как UDP может их потерять при передаче. Все потому, что вместо повторной передачи пакетов, как у TCP, он отправляет следующий. Если вам нужен VPN для видеосвязи — используйте UDP, если для серфинга сайтов — TCP.

WireGuard
Протокол появился в 2018 году и успел завоевать большую популярность. Он использует шифр ChaCha20, описанный в RFC 7539, и имеет около четырех тысяч строк кода, что значительно упрощает и ускоряет аудит безопасности. Основной минус: он не умеет динамически назначать IP-адреса пользователям, подключенным к серверу. Поэтому статический IP должен храниться на том же сервере.
WireGuard — самый быстрый по сравнению с другими VPN-протоколами, поскольку не использует туннелирование по TCP в принципе. Linux-системы обеспечивают наилучшую работу протокола с помощью интеграции в модуль ядра.
Lightway
Компании ExpressTechnologies разработала протокол LightWay в качестве аналога Wireguard, но с упором на безопасность и высокую скорость. Его используют как сервис ExpressVPN.
При создании протокола разработчики использовали библиотеку wolfSSL — ее часто можно найти в системах умных домов. Сам по себе LightWay неплохой вариант с точки зрения безопасности. Он передает ключи шифрования через алгоритм Диффи-Хеллмана с применением эллиптических кривых (ECDH) и использует динамическую выдачу IP-адресов для приватности пользователей. В протоколе всего две тысячи строк кода, что облегчает специалистам аудит безопасности. А для любителей «покопаться» есть открытый исходный код.
Lightway занимает лидирующие позиции по скорости передачи данных. В большинстве случае — через UDP вместе с DTLS-протоколом для безопасной передачи датаграмм. При этом можно его использовать в связке TCP и TLS.
SoftEther
SoftEther — многопротокольная VPN-система с открытым исходным кодом. Она поддерживает разные протоколы: SSL, L2TP/IPsec, OpenVPN, MSST и другие. Среди основных функций SoftEther VPN — обход NAT. Его удобно использовать для запуска VPN-серверов на компьютерах с шлюзами, маршрутизаторами и межсетевыми экранами.
SoftEther VPN состоит из трех основных элементов:
- VPN-сервер для запросов VPN-клиентов. Он принимает внушительное количество VPN-протоколов, включая OpenVPN, L2TP, L2TPv3, IPSec и SSTP.
- VPN-клиент для подключения VPN-сервера. Необязательно использовать клиент от SoftEther, чтобы подключиться к VPN, — это можно сделать с помощью других клиентов и протоколов. Однако он дает определенные преимущества и удобства.
- ПО SoftEther VPN bridge. Поддерживает функциональность для пользователей или компаний.
ГОСТ VPN как сервис
Создайте удаленный доступ к вашей инфраструктуре в Selectel, используя алгоритмы шифрования ГОСТ.
Какой VPN-протокол лучше
Я рассмотрел самые популярные протоколы, чтобы определить их сильные и слабые стороны. В критерии оценивания входят алгоритмы шифрования, сжатие данных, а также особенности самих протоколов и их передачи данных. Скорость работы специально не учитывал, поскольку для каждого соединения она индивидуальная. Например, скорость OpenVPN зависит от размера буфера отправки и приема.
| Протокол | Безопасность, шифрование | Стабильность подключения | Совместимость с устройствами |
| Lightway | Высокая, ECDH + wolfSSL | Средняя | Большинство ОС, т.к. внедрен в ExpressVPN |
| OpenVPN | Высокая, 160/256-бит, TLS с DES, RC2, DESX, BF, CAST, AES | Высокая | Широкая поддержка ПК и мобильных устройств. Надежные алгоритмы шифрования. Требуется ПО сторонних производителей |
| PPTP | Низкая, 128-бит, MPPE с RSA RC4 | Высокая | Уверенная поддержка Windows ПК. Слабая безопасность. Полезен для контента с географическими ограничениями |
| SSTP | Высокая, AES 256-бит | Средняя | Уверенная поддержка Windows. Работает на некоторых дистрибутивах Linux |
| IPsec/L2TP | Высокая, 256-бит, AES или 3DES через IPSec | Средняя | Поддержка разных устройств и платформ. |
| IPsec/IKEv2 | Высокая, 256-бит, Blowfish, Camellia, 3DES, ChaCha20, AES | Высокая | Ограниченная поддержка платформ, за исключением Windows. Подходит для мобильных устройств |
| WireGuard | Высокая, ChaCha20, Curve25519, HKDF, BLAKE2, SipHash24 | Средняя, но бывают проблемы | Поддерживает весь спектр ОС |
| SoftEther | Высокая, 256-бит, можно использовать другие протоколы поверх | Высокая | Поддержка нескольких десктопных и мобильных ОС. Нет нативных операционных систем. Подходит для мобильных устройств |
| Совсем небезопасен | Наблюдаются проблемы с безопасностью | Безопасен | Высокий уровень безопасности |
| PPTP — устаревший,- легко взломать. |
L2TP/IPSec + считается безопасным в совокупности с AES- уязвим для атак человек посередине |
IKEv2/IPSec + быстрый+ хорошо работает на мобильных устройствах- закрытый исходный код |
OpenVPN + высокая скорость+ золотой стандарт/крайне универсален+ открытый исходный код |
| SSTP — уязвим для атаки «человек посередине» на SSLv3- имеет закрытый исходный код |
WireGuard + открытый исходный код+ высокая скорость и безопасность |
||
| SoftEther + высокая скорость- требуется ручная настройка |
Степень безопасности VPN-протоколов.
У каждого VPN-протокола есть свои преимущества и недостатки с точки зрения безопасности, скорости и простоты использования. Рассмотрим, для каких задач их лучше использовать.
- Обеспечение безопасности. OpenVPN защищает данные пользователей и поддерживает быструю скорость работы. Однако с последним бывают проблемы.
- Улучшение пользовательского опыта. WireGuard, как и OpenVPN, подходит для повседневной работы с VPN.
- Организация кроссплатформенности. Способность IKEv2/IPSec к быстрому подключению делает его отличным решением для мобильных телефонов.
- Кастомизация VPN. L2TP/IPSec подходит для ручной настройки VPN. Он обеспечивает относительную безопасность и скорость, но уступает более новым решениям.
- Разработка собственных решений. PPTP прост в настройке, поэтому его стоит рассмотреть, если хотите запустить домашний VPN-сервер. SoftEther поддерживает другие варианты протоколов и открыт для различных экспериментов.
- Ускорение работы VPN. Lightway отличается высокой скоростью и имеет самую маленькую кодовую базу среди всех VPN-протоколов.
PPTP vs L2TP vs OpenVPN vs SSTP
Недавно я искал информацию об отличиях существующих VPN-технологий и наткнулся на эту статью. Здесь вкратце описаны преимущества и недостатки основных VPN, очень легко и доступно. Предлагаю сообществу перевод статьи.
VPN-провайдеры обычно предлагают на выбор несколько типов подключения, иногда как часть различных тарифных планов, а иногда в составе единого тарифного плана. Цель этой статьи – провести обзор доступных вариантов VPN и помочь понять основы используемых технологий.
Заметка про длину ключа шифрования
Грубо говоря, длина ключа, используемого при создании шифра, определяет, сколько времени потребуется для взлома с помощью прямого перебора. Шифры с более длинными ключами требуют значительно больше времени для перебора, чем более короткие («брутфорс» означает перебор всех возможных комбинаций, пока не будет найдена верная).
Сейчас почти невозможно найти VPN-шифрование с использованием ключа длиной менее 128 бит и все сложнее найти 256-битное шифрование в предлагаемых OpenVPN-решениях, ключи которых бывают даже 2048 бит. Но что означают эти цифры на практике, 256-битное шифрование действительно более безопасное, чем 128-битное?
Краткий ответ таков: при практическом применении – нет. Это правда, что взлом 256-битного ключа потребует в 2128 больше вычислительной мощности, чем взлом 128-битного ключа. Это означает, что потребуется 3.4х10^38 операций (количество комбинаций в 128-битном ключе) – подвиг для существующих компьютеров и даже в ближайшем будущем. Если бы мы применили самый быстрый суперкомпьютер (по данным 2011 года его скорость вычислений 10.51 петафлопс), нам потребовалось бы 1.02х10^18 (около 1 миллиарда) лет, чтобы взломать 128-битный AES-ключ путем перебора.
Так как на практике 128-битный шифр не может быть взломан путем перебора, было бы правильно говорить, что ключа такой длины более чем достаточно для большинства применений. Только настоящие параноики (например, чиновники в правительстве, имеющие дело со сверхсекретными документами, которые должны оставаться в тайне в течение следующих 100 или более лет) могут использовать 256-битное шифрование (правительство США, например, использует сертифицированный NIST 256-битный AES-шифр).
Так почему же все более часто встречаются VPN-провайдеры, предлагающие 256-битное шифрование (не говоря уже о 2048-битном)? Особенно если учесть, что использование шифрования с 256-битным или более длинным ключом требует больше вычислительных ресурсов. Ответ прост – маркетинг. Проще продать VPN-услуги с более длинным ключом шифрования.
Крупные корпорации и правительства могут испытывать потребность в дополнительной безопасности, обеспечиваемой длинными ключами, но для среднего домашнего пользователя VPN с ключом 128 бит более чем достаточно.
Различные шифры имеют уязвимости, которые могут быть использованы для быстрого взлома. Также могут быть использованы специальные программы, такие как клавиатурные шпионы. Подводя итоги, можно сказать, что использование шифрования с ключом более 128 бит на самом деле вряд ли имеет значение для большинства пользователей.
PPTP
Протокол туннелирования точка-точка (Point-to-Point Tunneling Protocol) – это протокол, изобретенный Microsoft для организации VPN через сети коммутируемого доступа. PPTP является стандартным протоколом для построения VPN уже на протяжении многих лет. Это только VPN-протокол и он опирается на различные методы аутентификации для обеспечения безопасности (наиболее часто используется MS-CHAP v.2). Доступен как стандартный протокол почти во всех операционных системах и устройствах, поддерживающих VPN, что позволяет использовать его без необходимости установки дополнительного программного обеспечения. PPTP остается популярным выбором как предприятий, так и VPN-провайдеров. Его преимущество также в том, что он использует меньше вычислительных ресурсов, следовательно обладает высокой скоростью работы.
Хотя PPTP обычно и используется со 128-битным шифрованием, в следующие несколько лет после включения этого протокола в состав Windows 95 OSR2 в 1999 году были найдены ряд уязвимостей. Наиболее серьезной из которых явилась уязвимость протокола аутентификации MS-CHAP v.2. Используя эту уязвимость, PPTP был взломан в течение 2 дней. И хотя компанией Microsoft была исправлена эта ошибка (за счет использования протокола аутентификации PEAP, а не MS-CHAP v.2), она сама рекомендовала к использованию в качестве VPN проколов L2TP или SSTP.
- клиент PPTP встроен почти во все операционные системы
- очень прост в настройке
- работает быстро
- небезопасен (уязвимый протокол аутентификации MS-CHAP v.2 все еще много где используется)
L2TP и L2TP/IPsec
Протокол туннелирования 2 уровня (Layer 2 Tunnel Protocol) – это протокол VPN, который сам по себе не обеспечивает шифрование и конфиденциальность трафика, проходящего через него. По этой причине, как правило, используется протокол шифрования IPsec для обеспечения безопасности и конфиденциальности.
L2TP/IPsec встроен во все современные операционные системы и VPN-совместимые устройства, и так же легко может быть настроен как и PPTP (обычно используется тот же клиент). Проблемы могут возникнуть в том, что L2TP использует UDP-порт 500, который может быть заблокирован файрволлом, если вы находитесь за NAT. Поэтому может потребоваться дополнительная настройка роутера (переадресация портов). Кстати, протокол SSL, например, использует TCP-порт 443, чтобы быть неотличимым от обычного HTTPS-трафика.
Протокол IPsec на данный момент не имеет никаких серьезных уязвимостей и считается очень безопасным при использовании таких алгоритмов шифрования, как AES. Однако, поскольку он инкапсулирует данные дважды, это не так эффективно, как SSL-решения (например, OpenVPN или SSTP), и поэтому работает немного медленнее.
- очень безопасен
- легко настраивается
- доступен в современных операционных системах
- работает медленнее, чем OpenVPN
- может потребоваться дополнительная настройка роутера
OpenVPN
OpenVPN является достаточно новой технологией с открытым кодом, которая использует библиотеку OpenSSL и протоколы SSLv3/TLSv1, наряду с множеством других технологий для обеспечения надежного VPN-решения. Одним из его главных преимуществ является то, что OpenVPN очень гибок в настройках. Этот протокол может быть настроен на работу на любом порту, в том числе на 443 TCP-порту, что позволяет маскировать трафик внутри OpenVPN под обычный HTTPS (который использует, например, Gmail) и поэтому его трудно заблокировать.
Еще одним преимуществом OpenVPN является то, что используемые для шифрования библиотеки OpenSSL поддерживают множество криптографических алгоритмов (например, AES, Blowfish, 3DES, CAST-128, Camelia и другие). Наиболее распространенные алгоритмы, которые используют VPN-провайдеры – AES и Blowfish. AES является новой технологией, и хотя оба считаются безопасными, тот факт, что он имеет 128-битный размер блока, а не 64-битный как у Blowfish, означает, что он может работать с большими (более 1Гб) файлами лучше. Различия, однако, довольно незначительные. То, как быстро работает OpenVPN, зависит от выбранного алгоритма шифрования, но, как правило, работает быстрее, чем IPsec.
OpenVPN стал технологией №1 при использовании VPN, и хотя он изначально не поддерживается операционными системами, этот протокол широко поддерживается через стороннее программное обеспечение. Совсем недавно невозможно было использовать OpenVPN на iOS и Android без джейлбрейка и рута, а сейчас появились сторонние приложения, которые частично решили эту проблему.
С этим связана другая проблема OpenVPN – гибкость может сделать его неудобным в настройке. В частности, при использовании типовой программной реализации OpenVPN (например, стандартный открытый клиент OpenVPN под Windows) необходимо не только скачать и установить клиент, но и загрузить и установить дополнительные конфигурационные файлы. Многие VPN-провайдеры решают эту проблему путем использования преднастроенных VPN-клиентов.
- гибко настраивается
- очень безопасен (зависит от выбранного алгоритма шифрования, но все они безопасны)
- может работать сквозь файрволлы
- может использовать широкий спектр алгоритмов шифрования
- необходимо стороннее программное обеспечение
- может быть неудобен в настройке
- ограниченная поддержка портативными устройствами
SSTP
Протокол безопасного туннелирования сокетов (Secure Socket Tunneling Protocol) – был представлен Microsoft в Windows Vista SP1, и хотя он теперь доступен на Linux, RouterOS и SEIL, он по-прежнему используется в значительной степени только Windows-системами (есть очень маленький шанс, что он появится на Apple устройствах). SSTP использует SSL v.3 и, следовательно, предлагает аналогичные преимущества, что и OpenVPN (например, возможность использовать TCP-порт 443 для обхода NAT), а так как он интегрирован в Windows, он проще в использовании и более стабилен, чем OpenVPN.
- очень безопасен (зависит от алгоритма шифрования, обычно используется очень стойкий AES)
- полностью интегрирован в Windows (начиная с Windows Vista SP1)
- имеет поддержку Microsoft
- может работать сквозь файрволлы
- работает только в Windows-среде
Заключение
PPTP небезопасен (даже его создатели в Microsoft отказались от него), поэтому его использования следует избегать. В то время, как простота установки и кроссплатформенная совместимость являются привлекательными, L2TP/IPsec имеет те же преимущества и является более безопасным.
L2TP/IPsec является хорошим решением VPN, но не таким хорошим, как OpenVPN. Однако, для быстрой настройки VPN без необходимости установки дополнительного программного обеспечения остается лучшим решением, особенно для мобильных устройств, где поддержка OpenVPN по-прежнему на низком уровне.
OpenVPN является лучшим решением VPN несмотря на необходимость стороннего программного обеспечения во всех операционных системах. Это надежный, быстрый и безопасный протокол, хотя и требует немного больше усилий, чем другие протоколы.
SSTP предлагает большинство преимуществ OpenVPN, но только в среде Windows. Это означает, что он лучше интегрирован в ОС, но благодаря этому он слабо поддерживается VPN-провайдерами.
Большинство пользователей могут использовать OpenVPN на своих настольных компьютерах, возможно, дополнив его L2TP/IPsec на своих мобильных устройствах.
Протоколы VPN: какой протокол лучше и в чем состоят различия между ними

VPN все чаще оказывается на слуху в последние пару лет. Этому способствуют и суровые законы некоторых стран, и пандемия, вынудившая людей работать из дома. Но не все хорошо знакомы с технологией в целом, не говоря уже о таких аспектах, как ее отдельные протоколы.
В этом материале как раз об этом и поговорим. Выясним, какие есть протоколы, чем они отличаются, сравним их друг с другом и поможем выбрать наиболее подходящий вариант.
Что такое VPN
Virtual Private Network (Частная Виртуальная Сеть) — это расширение для публичной сети, позволяющее имитировать еще одну сеть поверх уже существующей, к которой может подключаться ограниченное количество устройств.
Обычно « виртуальное » подключение формируется между локальным компьютером и сервером. После этого подключенные системы получают преимущества приватной сети. Уровень доверия к ней многократно возрастает благодаря используемым механизмам защиты трафика. И это несмотря на низкий уровень доверия к сети, на базе которой строится VPN. После подключения к VPN можно управлять защищенными файлами, доступными только для членов сети, скрывать исходящий трафик и шифровать его.
Основные сценарии использования VPN
- Изначально VPN разрабатывалась для офисов и крупных корпораций, чтобы сотрудники могли подключаться к корпоративной сети и работать удаленно, используя мобильные устройства и домашние компьютеры. Их защищают с помощью технологий туннелинга.
- Потом эти возможности начали использоваться для обхода разного рода блокировок. Например, региональные ограничения от сервисов в духе Pandora, Hulu, Amazon и Tidal. Или блокировки со стороны государства, запрещающие посещать те или иные ресурсы в связи с действующим законодательством.
- Также с помощью VPN строятся защищенные каналы связи между удаленными офисами. Например, если штаб-квартира компании находится в Лондоне, а один из филиалов в Уэльсе, то для их безопасного (защищенного от вмешательства третьих лиц) обмена данными потребуется VPN.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Что такое VPN-протокол?
VPN-протокол — программный фундамент, на базе которого строится любой VPN-сервис. В нем описывается формат организации подключения, обмена данными внутри частной виртуальной сети и другие аспекты работы ПО.
От выбора протокола зависит, какие задачи будут с помощью него решены, насколько эффективно они будут решаться, насколько это будет безопасно, быстро и т.п. Существует несколько технологий организации VPN, поэтому возникают некоторые разногласия при выборе соответствующих сервисов и при настройке виртуальных частных сетей.
На какие критерии оценки VPN-протоколов стоит обратить внимание
У каждого протокола свой набор характеристик, исходя из которых нужно выбирать для себя подходящий. Среди них:
- Поддерживаемые платформы — протоколы могут быть достаточно специфичны и функционировать исключительно на одной-двух операционных системах. Другие же поддерживают сразу все доступные ОС.
- Поддерживаемые сети — не все протоколы работают в идентичных сетях. Некоторые VPN-сервисы предлагают свои услуги только в конкретных странах ввиду технологических ограничений, введенных, в том числе, государственными органами.
- Скорость работы — тоже зависит от архитектуры протокола. Есть те, что быстрее передают данные на мобильных устройствах. Есть те, что показывают пиковую производительность только в масштабах больших корпоративных сетей.
- Безопасность — в протоколах по-разному реализовано шифрование и другие механизмы обеспечения безопасности данных. Поэтому, в зависимости от поставленных задач, надо выбирать технологию, наименее подверженную распространенным для нее атакам.
Теперь от общего описания форматов и характеристик перейдем к конкретным технологическим решениям и к их особенностям.

Кратко о существующих протоколах
Для начала кратко пробежимся по протоколам, которые будем рассматривать в статье.
- OpenVPN — сбалансированный вариант. Он быстрее остальных и гораздо меньше подвержен атакам со стороны злоумышленников. Топовые VPN-сервисы базируют свои продукты на основе этого протокола.
- L2TP/IPsec во многом похож на OpenVPN. В меру быстрый, в меру безопасный. Но это «в меру» как раз все портит. Это не значит, что его стоит бояться или он как-то серьезно подвергает опасности вашу конфиденциальность в сети. Для некритичных задач его хватит с головой. Но надо иметь в виду, что этот протокол уступает по безопасности OpenVPN. В текущей ситуации нужен как альтернатива на случай, когда более подходящий протокол недоступен.
- IKEv2/IPsec — альтернатива вышеперечисленным протоколам, адаптированная под работу на мобильных устройствах. Ее преимущество заключается в возможности быстро переподключиться к сети после потери сигнала. Такое может происходить на нулевых этажах торговых центров, в туннелях, метро и других местах с недостаточной «проницаемостью». IKEv2 скоростной, но работает не на всех платформах и сложен в настройке.
- SSTP разработан компанией Microsoft и работает только с ее программным обеспечением. Настроить его в сторонних операционных системах чересчур сложно, да и не все хотят иметь дело с технологическими корпорациями в таком вопросе, как VPN. Если же причастность Microsoft не смущает, и на компьютере установлена Windows, то это будет сносным выбором.
- PPTP — еще один продукт. Устаревший протокол, который больше не используется глобально. Пригодится только за отсутствием альтернатив.
- WireGuard — перспективная новинка, во много схожая с OpenVPN, но обгоняющая его по всем параметрам (от скорости передачи файлов до изощренности методов шифрования).
- SoftEther — еще один современный стандарт VPN. Быстрый, отказоустойчивый, обеспечивающий хорошее шифрование.
Далее разберем каждый протокол подробнее. Ознакомимся с принципами работы, степенью защищенности, производительностью и другими аспектами VPN-технологий.
OpenVPN
Золотой стандарт среди действующих VPN-протоколов. Хорош сразу по всем фронтам:
- Он универсален. Его можно использовать в разных целях, независимо от того, нужен ли вам виртуальный «офис», защищенный от сторонних глаз, или безопасный туннель.
- OpenVPN создан независимой командой разработчиков из OpenVPN Technologies. Главное преимущество протокола — открытый исходный код. Ему он обязан дикой популярностью. Opensource-сущность помогла этой технологии пройти десятки независимых аудитов от фирм, занимающихся безопасностью. Этому помогли кастомные методы шифрования, поддержка SSL и алгоритмов AES-256-GCM.
- Также он обеспечивает скорость передачи данных выше, чем у конкурентов. Многие сервисы, базирующие свои VPN-серверы на базе OpenVPN, обеспечивают передачу зашифрованного контента на скорости до 2000 Мбит в секунду.
- В работе OpenVPN задействуются технологии TCP и UDP, благодаря чему стандарт можно задействовать в качестве альтернативы для других протоколов, когда описываемый стандарт заблокирован на стороне провайдера. А еще он работает стабильно и реже остальных теряет соединение с интернетом (в этом тоже помогает поддержка TCP).

Для настройки и запуска OpenVPN нужен клиент, то есть программное обеспечение, адаптированное под работу с протоколом. Использовать встроенные системные инструменты не получится. Благо клиентских приложений, поддерживающих эту технологию, хватает. И они доступны на Windows, macOS, Linux, iOS и Android. В зависимости от количества подключений OpenVPN может быть бесплатным, но бизнес-клиентам придется заплатить.
Протокол находится в активной разработке, постоянно обрастает обновленными стандартами защиты и повышениями производительности.
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 ввиду его незащищенности и нестабильности.
Его все еще можно использовать для снятия региональных ограничений, так как обычно в этих случаях не приходится скрывать трафик и переживать за кражу личных данных.
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, которая и не планирует расти в ближайшем будущем из-за продвинутости конкурентов.
IPsec
Internet Protocol Security представляет собой не одну технологию, а набор протоколов. Каждый из них помогает обеспечить безопасность информации, передаваемой по IP-сети. По сути, они не создавались для организации VPN-соединений, это одно из нескольких применений.
Прелесть IPsec заключается в его упрощенной настройке. Благодаря своей архитектуре и работе на сетевом уровне не возникает потребности в подключении сторонних клиентов. VPN на базе Internet Protocol Security можно «поднять» во всех операционных системах встроенными средствами – ч ерез параметры ОС. Это его главное преимущество над OpenVPN.
Безопасность IPsec достигается за счет работы двух механизмов.
- Authentication Header – ставит цифровую подпись каждой единице данных, передаваемой через VPN-соединение.
- Encapsulating Security Protocol – защищает целостность передаваемой информации и конфиденциальность пользователей протокола.
IPsec используется в тандеме с другими техническими решениями. Зачастую речь идет о комбинировании технологий IPsec и L2TP или об IPsec + IKEv2.
IPsec/L2TP

L2TP задумывалась как альтернатива PPTP. Проблема была в отсутствии механизмов шифрования данных и методов авторизации. Поэтому вместе с ней всегда подключали IPsec. Таким образом удавалось задействовать AES-алгоритмы шифровки данных. Из недостатков метода можно выделить сложности при работе с некоторыми брандмауэрами, они частенько блокируют соединения по порту 500. А еще он медленный, потому что дважды за сессию инкапсулирует передаваемую информацию. Другие протоколы так не делают.
IPsec/IKEv2
Разработан командой разработчиков из Microsoft и Cisco, но имеет несколько вариаций с открытым исходным кодом, написанных независимыми программистами. IKEv2 хорош наличием поддержки Mobility and Multi-homing Protocol. Это делает его устойчивым к смене сетей, это поможет владельцам смартфонам оставаться на связи даже при выходе в сеть через VPN. Подключение к VPN-серверу не обрывается при смене роутера, к которому подключен гаджет или смене точки доступа во время поездок.

IKEv2 поддерживает методы шифрования AES, Blowfish и Camellia. В этом плане он не отличается от L2TP. Так что уровень защищенности от атак извне у них идентичный. Также он потребляет меньше ресурсов, чем условный OpenVPN, и от этого демонстрирует более высокую скорость передачи данных. По умолчанию поддерживается в Windows 7 и новее, в macOS Lion и новее, в iOS и в ряде смартфонов на базе Android.
WireGuard
Новое поколение VPN-протоколов. Разработчики называют его ускоренной, надежной и простой в управлении альтернативой OpenVPN и другим используемым технологиям. Какого-то конкретного мнения по поводу WireGuard пока выражено не было.
Известно, что в его основе лежит ворох технологий шифрования, бережно оберегающих каждый байт отправляемых данных. Используются Curve25519, ChaCha20, SipHash, BLAKE2 и Poly1305. Причем каждый из перечисленных типов криптографии берет на себя конкретную задачу. Допустим, Curve25519 необходим для обмена ключами, BLAKE2 занимается хэшированием информации, а Poly1305 задействуется для аутентификации.

WireGuard легковесный – о н состоит всего из четырех тысяч строк кода. Поэтому разработчики при желании могут быстро его исследовать, проанализировать и даже поменять что-то. Это открытый стандарт, как и OpenVPN. Эта легковесность распространяется и на пользовательский опыт – л юди охотно отмечают, что настроить WireGuard легче, чем остальные протоколы.
По результатом бенчмарков, WireGuard обгоняет лидеров рынка. Разрыв между WG и OpenVPN впечатляет. 1011 Мбит в секунду против 258 Мбит в секунду соответственно. С IPsec разница не такая большая, но она есть, и как раз в пользу WireGuard.
SoftEther
Недавняя разработка из Цукубского университета. Кроссплатформенный японский VPN-проект, который бок о бок с WireGuard стремится выйти на первые позиции, обойдя OpenVPN.
Хорош совместимостью с другими VPN-технологиями. Может работать в комбинациях с IPsec, EtherIP, L2TP. Из дополнительных функций предлагает: динамический DNS, встроенный фильтр пакетов, удобную панель управления и контроль над RPC через HTTPS. А еще он без проблем обходит чересчур бдительные брандмауэры, мешающие нормальной работе сети даже в безопасных условиях.
На SoftEther можно легко перебраться с OpenVPN за счет глубокой интеграции двух сервисов и функции клонирования в японском протоколе.
Так же, как OpenVPN и WireGuard, имеет открытый исходный код и распространяется бесплатно.
Сравнительная таблица протоколов
Закрепим новую информацию с помощью таблицы.
OpenVPN
PPTP
SSTP
IPsec
WireGuard
SoftEther
Создатели