Secure socket tunneling protocol что это

Обновлено: 05.07.2024

Недавно я искал информацию об отличиях существующих VPN-технологий и наткнулся на эту статью. Здесь вкратце описаны преимущества и недостатки основных VPN, очень легко и доступно. Предлагаю сообществу перевод статьи.

VPN-провайдеры обычно предлагают на выбор несколько типов подключения, иногда как часть различных тарифных планов, а иногда в составе единого тарифного плана. Цель этой статьи – провести обзор доступных вариантов VPN и помочь понять основы используемых технологий.

Заметка про длину ключа шифрования

Грубо говоря, длина ключа, используемого при создании шифра, определяет, сколько времени потребуется для взлома с помощью прямого перебора. Шифры с более длинными ключами требуют значительно больше времени для перебора, чем более короткие («брутфорс» означает перебор всех возможных комбинаций, пока не будет найдена верная).

Крупные корпорации и правительства могут испытывать потребность в дополнительной безопасности, обеспечиваемой длинными ключами, но для среднего домашнего пользователя VPN с ключом 128 бит более чем достаточно.

Различные шифры имеют уязвимости, которые могут быть использованы для быстрого взлома. Также могут быть использованы специальные программы, такие как клавиатурные шпионы. Подводя итоги, можно сказать, что использование шифрования с ключом более 128 бит на самом деле вряд ли имеет значение для большинства пользователей.

Протокол туннелирования точка-точка (Point-to-Point Tunneling Protocol) – это протокол, изобретенный Microsoft для организации VPN через сети коммутируемого доступа. PPTP является стандартным протоколом для построения VPN уже на протяжении многих лет. Это только VPN-протокол и он опирается на различные методы аутентификации для обеспечения безопасности (наиболее часто используется MS-CHAP v.2). Доступен как стандартный протокол почти во всех операционных системах и устройствах, поддерживающих VPN, что позволяет использовать его без необходимости установки дополнительного программного обеспечения. PPTP остается популярным выбором как предприятий, так и VPN-провайдеров. Его преимущество также в том, что он использует меньше вычислительных ресурсов, следовательно обладает высокой скоростью работы.

  • клиент PPTP встроен почти во все операционные системы
  • очень прост в настройке
  • работает быстро
  • небезопасен (уязвимый протокол аутентификации MS-CHAP v.2 все еще много где используется)
L2TP и L2TP/IPsec

Протокол туннелирования 2 уровня (Layer 2 Tunnel Protocol) – это протокол VPN, который сам по себе не обеспечивает шифрование и конфиденциальность трафика, проходящего через него. По этой причине, как правило, используется протокол шифрования IPsec для обеспечения безопасности и конфиденциальности.

Протокол IPsec на данный момент не имеет никаких серьезных уязвимостей и считается очень безопасным при использовании таких алгоритмов шифрования, как AES. Однако, поскольку он инкапсулирует данные дважды, это не так эффективно, как SSL-решения (например, OpenVPN или SSTP), и поэтому работает немного медленнее.

  • очень безопасен
  • легко настраивается
  • доступен в современных операционных системах
  • работает медленнее, чем OpenVPN
  • может потребоваться дополнительная настройка роутера
OpenVPN

OpenVPN стал технологией №1 при использовании VPN, и хотя он изначально не поддерживается операционными системами, этот протокол широко поддерживается через стороннее программное обеспечение. Совсем недавно невозможно было использовать OpenVPN на iOS и Android без джейлбрейка и рута, а сейчас появились сторонние приложения, которые частично решили эту проблему.

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

  • гибко настраивается
  • очень безопасен (зависит от выбранного алгоритма шифрования, но все они безопасны)
  • может работать сквозь файрволлы
  • может использовать широкий спектр алгоритмов шифрования
  • необходимо стороннее программное обеспечение
  • может быть неудобен в настройке
  • ограниченная поддержка портативными устройствами

Протокол безопасного туннелирования сокетов (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. Сравнение 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);

Использует стандартные порты, и потому его легко может заблокировать интернет-провайдер или системный администратор;

Операционные системы имеют встроенную поддержку этой технологии, нет необходимости ставить дополнительное ПО;

При его правильной настройке нет информации о возможности расшифровать данные.

Мы его не рекомендуем и не используем из-за скорости, потому много рассказывать о нем не станем.

Что такое 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-трафик блокируется провайдером или настройками роутера.

Обзор 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, могут возникнуть сложности с прохождением трафика.

Протокол SSL использует криптографическую систему, с двумя ключами для шифрования данных - открытым и закрытым. Открытый ключ известен всем, а закрытый - только получателю. Благодаря этому SSL создается безопасное соединение между клиентом и сервером. В отличие от PPTP, SSL VPN позволяет пользователям устанавливать безопасный удаленный доступ практически из любого браузера, подключенного к интернету, препятствие в виде нестабильного соединения устраняется. С SSL VPN весь сеанс защищен, тогда как только с SSL это не достигается.

Протокол туннелирования защищенных сокетов SSTP по определению является протоколом прикладного уровня. Он предназначен для синхронного обмена данными между двумя программами и позволяет использовать множество конечных точек приложения по одному сетевому соединению между равноправными узлами. Это позволяет эффективно использовать коммуникационные ресурсы, которые доступны в сети.

Протокол SSTP основан на SSL вместо PPTP или IPSec, и использует TCP-порт 443 (или другие, как это реализовано в Ideco UTM) для ретрансляции трафика SSTP. Хотя он тесно связан с SSL, прямое сравнение между SSL и SSTP невозможно, поскольку в отличие от SSL, SSTP является только протоколом туннелирования. Существует множество причин для выбора SSL, а не IPSec в качестве основы для SSTP. IPSec направлен на поддержку межсетевого подключения VPN, поэтому SSL стал лучшей основой для разработки SSTP, поскольку он поддерживает роуминг.
Есть и другие причины не основывать его на IPSec:

  • не требует строгой аутентификации,
  • есть различия в качестве и кодировании пользовательских клиентов от поставщика к поставщику,
  • не IP-протоколы не поддерживаются по умолчанию,
  • поскольку протокол IPSec был разработан для защищенных соединений типа «сайт-сайт», он может создавать проблемы для удаленных пользователей, пытающихся подключиться из места с ограниченным числом IP-адресов.

SSL VPN оказался более подходящей основой для разработки SSTP

SSL VPN решает эти проблемы и многое другое. В отличие от базового SSL, SSL VPN защищает весь сеанс работы. Статические IP-адреса не требуются, а клиент в большинстве случаев не нужен.

SSTP не предназначен для VPN-подключений «сайт-сайт», но предназначен для VPN-подключений «клиент-сайт».

Эффективность SSTP достигнута такими особенностями:

  • Стандартная блокировка портов уменьшится. Проблемы, связанные с соединениями из-за блокировки портов PPTP GRE или L2TP ESP через брандмауэр или маршрутизатор NAT, не позволяющие клиенту достичь сервера, больше не будут проблемами, т.к. достигается повсеместное подключение. Клиенты смогут подключаться из любого места в интернета.
  • SSTP Client встроен в Windows начиная с версии Vista SP1SSTP не потребует переподготовки, т.к. средства управления VPN для конечных пользователей остаются неизменными. VPN-туннель на основе SSTP подключается непосредственно к текущим интерфейсам клиентского и серверного программного обеспечения Microsoft VPN.
  • Полная поддержка IPv6. Туннель SSTP VPN может быть установлен через интернет-протокол IPv6.
  • Используется встроенная поддержка защиты доступа к сети для проверки исправности клиента.
  • Надежная интеграция с клиентом и сервером MS RRAS, возможность двухфакторной аутентификации.
  • Увеличивается покрытие VPN с нескольких точек до практически любого количества интернет-подключений.
  • SSL-инкапсуляция (защита SSL) для прохождения через порт 443.
  • Может контролироваться и управляться с помощью брандмауэров прикладного уровня, таких как ISA-сервер.
  • Полноценное сетевое VPN-решение, а не туннель приложений (программ) для одного клиента (устройства).
  • Интеграция в NAP.
  • Возможна интеграция и настройка политик для проверки состояния клиента.
  • Один сеанс создан для туннеля SSL.
  • Независимость от приложений.
  • Более сильная принудительная аутентификация, чем IPSec.
  • Поддержка не IP-протоколов, это намного лучше, чем IPSec.
  • Не нужно покупать дорогие, трудно настраиваемые аппаратные брандмауэры, которые не поддерживают интеграцию с Active Directory и встроенную двухфакторную аутентификацию.

Механизм подключения SSTP

Как работает VPN-соединение на основе SSTP. Семь шагов:

В Microsoft уверены, что этот протокол поможет облегчить проблемы с VPN-соединениями. Команда RRAS сейчас готовит RRAS для интеграции с SSTP, этот протокол станет частью решения в будущем. Единственным условием на данный момент является то, что клиент запускает сервера Vista и Longhorn. Набор функций, предоставляемый этим небольшим протоколом, является одновременно разнообразным и гибким. Протокол расширяет возможности пользователя и администратора. Предполагаем, что устройства начнут встраивать этот протокол в стек для безопасной связи, и головная боль NAT вскоре будет забыта, когда мы перейдем к решению с поддержкой 443 / SSL.

SSTP является отличным дополнением к инструментам VPN и позволяет пользователям удаленно и безопасно подключаться к корпоративной сети. Блокирование удаленного доступа и проблемы NAT, кажется, забыты при использовании этого протокола. Технология стабильна, хорошо документирована и работает. Это отличный продукт, он очень приветствуется в наше время для удаленного доступа.

Шлюз безопасности Ideco UTM поддерживает VPN-протокол SSTP. Если ваши пользователи испытывают проблемы при установлении VPN-подключения по протоколу IPsec, вы можете попробовать использовать SSTP.

Как устроен VPN через SSTP

Условная схема пакета с данными

Условно стек протоколов при передаче данных выглядит так (показаны только заголовки, относящиеся к VPN, без подлежащих уровней):

Структура собственно SSTP пакета:

Флаг C = 0 если пакет с данными, и C = 1, если пакет управляющий.

Немного слов об используемой криптографии

SSTP устроен довольно просто за счёт того, что он использует функционал других криптографических протоколов. Собственно, единственная криптографическая функция, реализуемая самим SSTP – это «cryptographic binding», о котором говорится ниже.
Всё шифрование данных осуществляется протоколом SSL. Все пакеты протоколов SSTP, PPP и выше передаются только в зашифрованном виде.
Авторизация проходит сразу по трём протоколам: SSL, PPP и, собственно, сам SSTP.
При установлении SSL соединения проходит авторизация сервера клиентом по SSL сертификату. Аутентификация клиента сервером допускается, однако не поддерживается ни одной из серверных Windows.
На уровне PPP происходит авторизация клиента сервером, и дополнительно может происходить аутентификация сервера. Windows Server поддерживают аутентификацию клиента на уровне PPP с помощью MS-CHAPv2, EAP-TLS, PEAP-MSCHAPv2, PEAP-TLS. Также поддерживаются Password Authentication Protocol (PAP – не шифрованный пароль) и CHAP, однако их использование не рекомендуется, т. к. они не предусматривают обмена ключевой информацией, которая необходима для «cryptographic binding». Собственно, тут те же методы аутентификации, что и в PPTP. Отличие от PPTP в том, что обмен происходит внутри уже созданного шифрованного канала SSL.
Теперь о том, что же такое этот «cryptographic binding». Из-за того, что аутентификация клиента и сервера происходит на разных уровнях, возможна атака человек посередине, когда нарушитель устанавливает SSL соединение с сервером и незащищённое PPP соединение с клиентом.
Порядок установления соединения
Обрыв соединения

Что бы отличить простой канала от разрыва связи стороны «пингуют» друг друга. Если в течение 60 секунд обмена пакетами не было, посылается Echo Request (управляющий пакет протокола SSTP). Если в течение следующих 60 секунд нет ответа, соединение разрывается.

Завершение соединения

Читайте также: