Secure socket tunneling protocol что это
Обзор Secure Socket Tunneling Protocol
В статье мы посмотрим, что такое SSTP, чем отличаются VPN-протоколы и какие преимущества есть у SSTP для подключения пользователей по VPN.
Виртуальная частная сеть VPN представляет собой сеть, построенную с использованием открытых сетей для соединения узлов. Это позволяет пользователю получать безопасный доступ к ресурсам локальной сети (например на время карантина). При этом используется шифрование и другие меры безопасности, чтобы гарантировать, что данные не будут перехвачены неавторизованными пользователями.
В течение многих лет для VPN-подключений успешно использовались протокол PPTP, но в последнее время их использование стало проблематично из-за увеличения числа подключений к мобильным провайдерам и публичным Wi-Fi сетям. Были придуманы альтернативные меры для обеспечения такого типа доступа. Многие организации начали использовать IPSec и SSL VPN в качестве альтернативы. Другой новой альтернативой стало SSTP, также называемый «SSL VPN от Microsoft».
В PPTP используется зашифрованный GRE-туннель, который обеспечивает конфиденциальность передаваемых данных. Когда туннель проходит через обычные NAT-ы, VPN туннель перестает работать. VPN обычно соединяет узел с конечной точкой. Может случиться так, что и узел, и конечная точка имеют один и тот же внутренний адрес локальной сети и, если задействован NAT, могут возникнуть сложности с прохождением трафика.
Протокол туннелирования защищенных сокетов SSTP по определению является протоколом прикладного уровня. Он предназначен для синхронного обмена данными между двумя программами и позволяет использовать множество конечных точек приложения по одному сетевому соединению между равноправными узлами. Это позволяет эффективно использовать коммуникационные ресурсы, которые доступны в сети.
Протокол SSTP основан на SSL вместо PPTP или IPSec, и использует TCP-порт 443 (или другие, как это реализовано в Ideco UTM) для ретрансляции трафика SSTP. Хотя он тесно связан с SSL, прямое сравнение между SSL и SSTP невозможно, поскольку в отличие от SSL, SSTP является только протоколом туннелирования. Существует множество причин для выбора SSL, а не IPSec в качестве основы для SSTP. IPSec направлен на поддержку межсетевого подключения VPN, поэтому SSL стал лучшей основой для разработки SSTP, поскольку он поддерживает роуминг.
Есть и другие причины не основывать его на IPSec:
SSL VPN оказался более подходящей основой для разработки SSTP
SSL VPN решает эти проблемы и многое другое. В отличие от базового SSL, SSL VPN защищает весь сеанс работы. Статические IP-адреса не требуются, а клиент в большинстве случаев не нужен.
Развитие SSTP было вызвано проблемами с безопасностью протокола PPTP. SSTP устанавливает соединение по защищенному HTTPS; это позволяет клиентам безопасно получать доступ к сетям за NAT-маршрутизаторами, брандмауэрами и веб-прокси, не беспокоясь о станадартных проблемах блокировки портов.
SSTP не предназначен для VPN-подключений «сайт-сайт», но предназначен для VPN-подключений «клиент-сайт».
Эффективность SSTP достигнута такими особенностями:
Механизм подключения SSTP
В Microsoft уверены, что этот протокол поможет облегчить проблемы с VPN-соединениями. Команда RRAS сейчас готовит RRAS для интеграции с SSTP, этот протокол станет частью решения в будущем. Единственным условием на данный момент является то, что клиент запускает сервера Vista и Longhorn. Набор функций, предоставляемый этим небольшим протоколом, является одновременно разнообразным и гибким. Протокол расширяет возможности пользователя и администратора. Предполагаем, что устройства начнут встраивать этот протокол в стек для безопасной связи, и головная боль NAT вскоре будет забыта, когда мы перейдем к решению с поддержкой 443 / SSL.
SSTP является отличным дополнением к инструментам VPN и позволяет пользователям удаленно и безопасно подключаться к корпоративной сети. Блокирование удаленного доступа и проблемы NAT, кажется, забыты при использовании этого протокола. Технология стабильна, хорошо документирована и работает. Это отличный продукт, он очень приветствуется в наше время для удаленного доступа.
Шлюз безопасности Ideco UTM поддерживает VPN-протокол SSTP. Если ваши пользователи испытывают проблемы при установлении VPN-подключения по протоколу IPsec, вы можете попробовать использовать SSTP.
Подробнее о VPN-сервере в Ideco UTM смотрите на нашем канале.
Как устроен VPN через SSTP
Нашёл буквально несколько упоминаний о SSTP на Хабре, в связи с чем хочу рассказать про устройство этого протокола. Secure Socket Tunneling Protocol (SSTP) – протокол VPN от Microsoft, основанный на SSL и включённый в состав их ОС начиная с Windows 2008 и Windows Vista SP1. Соединение проходит с помощью HTTPS по 443 порту. Для шифрования используется SSL, для аутентификации — SSL и PPP. Подробнее про устройство — под катом.
Серверная часть протокола включена в ОС Windows Server 2008, 2008 R2, 2012, 2012 R2. Далее рассказывается про текущую (и, кажется, единственную) версию — 1.0.
В основном используется для подключения типа узел-узел или узел-сеть. По умолчанию для соединения используется 443 порт, но можно настроить и на другие порты.
Условная схема пакета с данными
Условно стек протоколов при передаче данных выглядит так (показаны только заголовки, относящиеся к VPN, без подлежащих уровней):
Структура собственно SSTP пакета:
Флаг C = 0 если пакет с данными, и C = 1, если пакет управляющий.
Немного слов об используемой криптографии
Порядок установления соединения
1. Клиентом устанавливается TCP соединение на 443-ий порт SSTP сервера.
2. Проходит установление SSL/TLS соединения поверх TCP соединения. Клиент проверяет сертификат сервера.
3. Проходит HTTPS приветствие.
4. Начинается установление SSTP соединения. Все SSTP пакеты идут внутри HTTPS. Клиент посылает запрос на установление соединения (Call Connect Request message). В этом сообщении передаётся номер протокола, который будет использоваться внутри SSTP; в текущей версии стандарта это всегда PPP.
5. Сервер проверяет запрос и, если всё ОК, отвечает на него подтверждением (Call Connect Acknowledge message), в котором сообщает 32-битное случайное число (ClientNonce), используемое в следующем ответе клиента для защиты от повторения, а так же список хэш-функций для подписи следующего ответа (SHA1 и/или SHA256).
6. Происходит PPP авторизация. Все пакеты PPP вложены в SSTP пакеты и, соответственно, зашифрованы SSL.
7. Клиент посылает Call Connected message, в которое включаются ClientNonce и Хэш сертификата сервера (ClientCertificateHash), полученного при установлении SSL соединения.
Это сообщение подписывается с помощью указанной сервером хэш-функции (точнее HMAC на её основе) и ключа, полученного в процессе PPP авторизации. Таким образом осуществляется cryptographic binding. Если для авторизации в PPP используется протокол, не поддерживающий генерацию ключей для MPPE (PAP или CHAP), то HMAC вычисляется с использованием ключа, равного нулю; т. е. фактически cryptographic binding не производится и описанная выше атака человек посередине возможна.
8. Сервер проверяет Call Connected message, на этом SSTP считается установленным.
9. Заканчивается установление параметров PPP.
Всё, соединение установлено. Дальше стороны обмениваются пакетами с данными.
Обрыв соединения
Что бы отличить простой канала от разрыва связи стороны «пингуют» друг друга. Если в течение 60 секунд обмена пакетами не было, посылается Echo Request (управляющий пакет протокола SSTP). Если в течение следующих 60 секунд нет ответа, соединение разрывается.
Завершение соединения
Завершение соединения происходит без особых нюансов, стороны обмениваются SSTP-сообщениями об окончании соединения и через несколько секунд рвут соединение.
Обзор сетевых туннелей SSTP
SSTP имеет серверную часть, которая внедрена в линейку ОС Windows Server, начиная с 2008-й редакции. Ниже будет рассказано о версии протокола 1.0. Можно считать ее единственной, так как за прошедшие годы она не получила какого-либо развития.
Кратко об особенностях криптографии
SSTP имеет сравнительно простое устройство, однако выделяется наличием уникальной криптографической функции, пусть и только одной. Речь идет об опции Cryptographic Binding, и о ней будет сказано подробнее дальше по тексту.
Данные шифрует протокол SSL. При авторизации используются SSL, PPP и, непосредственно, SSTP.
На уровне PPP клиентский узел авторизуется сервером. Попутно в некоторых случаях идет процесс аутентификации сервера. Если применяется PPP, то для выполнения процедуры аутентификации клиента, серверная ОС от Microsoft использует:
Технология также предусматривает поддержку CHAP и протокола PAP, в котором применяется пароль, не прошедший шифрование. Оба варианта не рекомендованы к применению, так как при их использовании узлы не обмениваются ключевой информацией, а, значит, функция Cryptographic Binding становится недоступной.
Здесь применимы в основном те же способы аутентификации, какие характерны и для PPTP. Но есть и важное отличие: в PPP узлы обмениваются данными внутри защищенного канала SSL, который зашифрован.
Чтобы защититься от таких атак, применяется подпись ключом сообщения уровня SSTP о том, что соединение установлено (Call Connected Message). При этом есть одна важная особенность. Ключ вырабатывается во время процедуры аутентификации на PPP-уровне, благодаря чему у сервера появляется возможность определить, что тот, кто организовал SSL-сеанс и тот, кто смог пройти авторизацию по PPP, является одним и тем же клиентом. Вышеописанная процедура и лежит в основе функции Cryptographic Binding.
Как происходит установление соединения
Разрыв соединения
Во время работы канал может простаивать. Это может выглядеть как разрыв соединения, но узлам необходимо уметь отличать одно от другого. Для этого стороны используют стандартный Ping. Если за 1 минуту узлы ни разу не обменялись данными, то производится отправка Echo Request (пакет с управляющей информацией уровня SSTP). При отсутствии отклика в течение 60 секунд производится разрыв связи.
Завершение сеанса
Узлы направляют друг другу пакеты SSTP, сообщающие о завершении сессии, после чего обе стороны независимо друг от друга разрывают соединение.
Зачем использовать протокол Secure Socket Tunneling Protocol (SSTP)?
Зачем использовать протокол Secure Socket Tunneling Protocol (SSTP)?
Зачем использовать новый VPN протокол? PPTP и L2TP/IPsec были с нами на протяжении долгого времени и в большей части отлично служили нам. Оба протокола работали с Windows RRAS и ISA на протяжении последнего десятилетия, и мы привыкли к ним. Мы знаем, как их настраивать, пользователи знают, как создавать подключения или использовать подключения, которые мы предоставляем им в пакетах CMAK, и мы знаем о проблемах поддержки, у нас также есть правила работы с VPN практически для всех ситуаций.
Учитывая весь опыт работы с PPTP и L2TP/IPsec, должно быть очевидным, зачем нам нужен новый VPN протокол. Как часто ваши пользователи, находясь за пределами компании, могли использовать для исходящего доступа лишь HTTP и HTTPS? Или, возможно, вам самим пришлось столкнуться с этим. Что вы делали? Если проблема заключалась в почтовом доступе, большинство из нас переходили на OWA. Если требовался сетевой доступ, жизнь становилась немного труднее, и иногда не было других вариантов, кроме как сменить место положения и надеяться, что там у нас будет более стабильное подключение. Это довольно дорогая, затратная по времени и просто раздражающая ситуация.
Вот почему SSTP является таким даром для администраторов брандмауэра TMG. SSTP (Secure Socket Tunnel Protocol), скрывает в туннели PPP подключения с помощью зашифрованных SSL HTTP подключений. Поскольку транспортировка прикладного уровня – это HTTP, его можно передавать по туннелю через брандмауэры, которые разрешают только TCP порты 80 и 443 для исходящего доступа, или когда исходящий веб прокси является единственным вариантом доступа к интернету. Да, SSTP будет работать через веб прокси. Однако устройство веб прокси перед SSTP VPN клиентом не должно требовать проверки подлинности, поскольку нет способа настройки SSTP VPN клиента на отправку учетных данных на веб прокси-сервер.
SSTP имеет несколько требований:
- SSTP работает только с Vista SP1 и более поздними клиентскими операционными системами (включая Vista SP2 и Windows 7) Windows Server 2008 и Windows Server 2008 R2 также может действовать в качестве SSTP VPN клиента SSTP не поддерживает VPN подключений от сайта к сайту SSTP VPN серверы, включая брандмауэр TMG, требуют привязки сертификатов веб сайта к веб приемникам SSTP Web Listener Клиент SSTP VPN должен иметь возможность проверять списки отзыва сертификатов (Certificate Revocation List – CRL) для подтверждения того, что сертификат веб сайта, привязанный к SSTP Web Listener, не был отозван (CRL проверка может быть отключена на клиенте, но это не самая удачная мысль для производственных сред) Только Windows Server 2008 и Windows Server 2008 R2 могут работать в качестве серверов SSTP VPN.
Важным моментом является то, что при настройке брандмауэра на прием SSTP подключений вы, по сути, создаете веб приемник для приема подключений. Этот веб приемник настраивается на разрешение анонимных подключений. Вам потребуется выделить IP адрес для веб приемника, поскольку это SSL подключение с сертификатом, изданным для этого приемника. Если вы хотите опубликовать любые другие сайты SSL, используя тот же брандмауэр TMG, вам потребуются дополнительные IP адреса для поддержки этих подключений. Вы не сможете использовать тот же веб приемник, если хотите настроить брандмауэр на публичных веб серверах с предварительной аутентификацией.
Как работает SSTP?
Процесс подключения SSTP довольно прост. Далее описан принцип работы подключений SSTP:
Те, кому интересны характеристики архитектуры протокола VPN, могут обратить внимание на рисунок ниже. Обратите внимание, что SSTP содержит дополнительный заголовок по сравнению с двумя другими протоколами VPN. Они содержатся там благодаря HTTPS инкапсуляции вдобавок к SSTP заголовку. L2TP и PPTP не содержат заголовков прикладного уровня, инкапсулирующих обмен данными.
Разбираемся в 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