Протокол sstp что это

Как устроен 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 что это
Структура собственно SSTP пакета:
Протокол 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-сообщениями об окончании соединения и через несколько секунд рвут соединение.

Источник

Обзор 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 смотрите на нашем канале.

Источник

Протокол Secure Socket Tunneling Protocol

Протокол sstp что это

Протокол sstp что это

SSTP (Secure Socket Tunneling Protocol – протокол безопасного туннелирования сокетов) и его возможности для VPN в будущем.

Virtual private network (виртуальная частная сеть), или также называемая VPN, это сеть которая собирается с использованием общих элементов для подключения к узлам, что позволяет пользователям создавать сети для передачи данных. Системы используют шифрование и различные другие меры безопасности, чтобы гарантировать, что данные не будут перехвачены неавторизированными пользователями. В течении многих лет VPN очень успешно использовалось, но с недавних пор ее использование стало проблематичным в результате увеличения числа организаций, которые обеспечивают своим пользователям доступ. Альтернативными мерами стало блокировка и подключение такого типа доступа. Многие организации начали использовать IPSec и SSL VPN в качестве альтернативы. Еще одна новая альтернатива – это SSTP, который также называют «Microsoft SSL VPN».

Проблемы с типичной VPN

Обычно виртуальные сети VPN используют зашифрованный туннель (encrypted tunnel), который позволяет сохранить конфиденциальность проходящих по нему данных (tunneled data). Но таким образом, если маршрут туннеля проходит через типичный физический NAT, то туннель VPN перестает работать. Обычно VPN подключает узел к конечному пункту назначения. Но может случиться так, что и узел и пункт назначения имеют один и тот же внутренний LAN адрес, если вовлечен NAT, то могут возникнуть различные сложности.

SSL VPN

Secure Socket Layer (безопасный уровень сокета), или SSL, использует криптографическую систему (cryptographic system), которая использует два типа ключей для шифрования данных – открытый ключ (public) и закрытый ключ (private key). Открытый ключ (public key) известен всем, а закрытый (private) известен только получателю. Благодаря этому SSL создается безопасное соединение между клиентом и сервером. SSL VPN позволяет пользователям установить безопасный удаленный доступ от любого виртуально подключенного веб браузера (web browser), в отличие от VPN. Барьер нестабильного соединения убирается. При SSL VPN вся сессия становится безопасной, в то время как при использовании только SSL это не достигается.

Secure socket tunneling protocol (протокол безопасного туннелирования сокетов), также называемый SSTP, это по определению протокол прикладного уровня (application-layer protocol). Он спроектирован для создания синхронного взаимодействия при совместном обмене двух программ. Благодаря ему возможно несколько подключений приложения по одному соединению между узлами, в результате чего достигается эффективное использование сетевых ресурсов, которые доступны в этой сети.

Протокол SSTP основан SSL, а не на PPTP или IPSec и использует TCP Port 443 для передачи трафика SSTP. Хотя он тесно связан с SSL, нельзя сделать прямого сравнения между SSL и SSTP, т.к. SSTP лишь туннельный протокол (tunneling protocol) в отличие от SSL. Существует несколько причин для выбора SSL, а не IPSec в качестве основы для SSTP. IPSec направлен на поддержку соединения site- to-site VPN connectivity, и поэтому SSL имеет лучшую основу для разработки SSTP, т.к. он поддерживает роуминг (roaming). Другие причины для того, чтобы не использовать IPSec, заключаются в следующем:

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

SSL VPN решает эти проблемы и многие другие. В отличие от основы SSL, SSL VPN обеспечивает безопасной всей сессии. Не нужен статический IP, а в большинстве случаев не требуется клиент. Т.к. соединение с Интернет происходит через браузер, то по умолчанию протокол подключения TCP/IP. Клиентам, подключающимся с помощью SSL VPN, может быть предоставлен рабочий стол для доступа к сетевым ресурсам. Прозрачно для пользователя, трафик от их компьютера может быть ограничен для определенных ресурсов, на основе критериев, описываемых бизнесом.

SSTP – расширение VPN

Разработка SSTP была вызвана нехваткой возможностей VPN. Самый главный недостаток VPN – это нестабильное соединение. Это возникает из-за недостаточности областей покрытия. SSTP значительно расширяет область покрытия VPN соединения, сводя тем самым эту проблему до минимума. SSTP устанавливает соединение по безопасному протоколу HTTPS; это предоставляет клиентам безопасный доступ к сетям за маршрутизаторами NAT router, брандмауэрами (firewall) и веб прокси (web proxies), не заботясь об обычных проблемах с блокировкой портов.

SSTP не спроектирован для соединения site to site VPN connections, а предназначен для использования при соединении client to site VPN connections.

Успех SSTP может быть обнаружен в следующих возможностях:

Протокол sstp что это

Рисунок 1.1 Механизм SSTP соединения

Как работает соединение SSTP, основанное на VPN, в семи этапах

Компания Microsoft уверена, что этот протокол поможет облегчить проблемы с VPN соединением. Специалисты RRAS теперь готовятся к интеграции RRAS с SSTP, поэтому протокол будет частью решения, которое будет развиваться дальше. Единственное требование в настоящий момент заключается в том, что клиент должен работать под управлением операционных систем Vista и Longhorn server. Набор инструментов, предоставляемый этим небольшим протоколом, является богатым и очень гибким, поэтому протокол увеличит опыт пользователей и администраторов. Я предсказываю, что устройства начнут встраиваться в этот протокол в стек для безопасного взаимодействия (stack for secure communication) и проблемы с NAT скоро будут забыты, т.к. мы перейдем к готовому решению 443/SSL.

Заключение

SSTP – это прекрасное дополнение к набору инструментов VPN toolkit, которое позволяет пользователям удаленно и безопасно подключаться к корпоративной сети (corporate network). Блокирование удаленного доступа и проблемы NAT уходят в прошлое при использовании этого протокола. Вся технология стабильна, хорошо документирована, и отлично работает. Это замечательный продукт, и он очень приветствуется в наше время, когда необходим удаленный доступ.

Источник

Обзор сетевых туннелей 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, сообщающие о завершении сессии, после чего обе стороны независимо друг от друга разрывают соединение.

Источник

Протокол SSTP

SSTP (Secure Socket Tunneling Protocol – протокол безопасного туннелирования сокетов) и его возможности для VPN в будущем.

Virtual private network (виртуальная частная сеть), или также называемая VPN, это сеть которая собирается с использованием общих элементов для подключения к узлам, что позволяет пользователям создавать сети для передачи данных. Системы используют шифрование и различные другие меры безопасности, чтобы гарантировать, что данные не будут перехвачены неавторизированными пользователями. В течении многих лет VPN очень успешно использовалось, но с недавних пор ее использование стало проблематичным в результате увеличения числа организаций, которые обеспечивают своим пользователям доступ. Альтернативными мерами стало блокировка и подключение такого типа доступа. Многие организации начали использовать IPSec и SSL VPN в качестве альтернативы. Еще одна новая альтернатива – это SSTP, который также называют «Microsoft SSL VPN».

Обычно виртуальные сети VPN используют зашифрованный туннель (encrypted tunnel), который позволяет сохранить конфиденциальность проходящих по нему данных (tunneled data). Но таким образом, если маршрут туннеля проходит через типичный физический NAT, то туннель VPN перестает работать. Обычно VPN подключает узел к конечному пункту назначения. Но может случиться так, что и узел и пункт назначения имеют один и тот же внутренний LAN адрес, если вовлечен NAT, то могут возникнуть различные сложности.

Secure Socket Layer (безопасный уровень сокета), или SSL, использует криптографическую систему (cryptographic system), которая использует два типа ключей для шифрования данных – открытый ключ (public) и закрытый ключ (private key). Открытый ключ (public key) известен всем, а закрытый (private) известен только получателю. Благодаря этому SSL создается безопасное соединение между клиентом и сервером. SSL VPN позволяет пользователям установить безопасный удаленный доступ от любого виртуально подключенного веб браузера (web browser), в отличие от VPN. Барьер нестабильного соединения убирается. При SSL VPN вся сессия становится безопасной, в то время как при использовании только SSL это не достигается.

Secure socket tunneling protocol (протокол безопасного туннелирования сокетов), также называемый SSTP, это по определению протокол прикладного уровня (application-layer protocol). Он спроектирован для создания синхронного взаимодействия при совместном обмене двух программ. Благодаря ему возможно несколько подключений приложения по одному соединению между узлами, в результате чего достигается эффективное использование сетевых ресурсов, которые доступны в этой сети.

Протокол SSTP основан SSL, а не на PPTP или IPSec и использует TCP Port 443 для передачи трафика SSTP. Хотя он тесно связан с SSL, нельзя сделать прямого сравнения между SSL и SSTP, т.к. SSTP лишь туннельный протокол (tunneling protocol) в отличие от SSL. Существует несколько причин для выбора SSL, а не IPSec в качестве основы для SSTP. IPSec направлен на поддержку соединения site- to-site VPN connectivity, и поэтому SSL имеет лучшую основу для разработки SSTP, т.к. он поддерживает роуминг (roaming). Другие причины для того, чтобы не использовать IPSec, заключаются в следующем:

SSL VPN решает эти проблемы и многие другие. В отличие от основы SSL, SSL VPN обеспечивает безопасной всей сессии. Не нужен статический IP, а в большинстве случаев не требуется клиент. Т.к. соединение с Интернет происходит через браузер, то по умолчанию протокол подключения TCP/IP. Клиентам, подключающимся с помощью SSL VPN, может быть предоставлен рабочий стол для доступа к сетевым ресурсам. Прозрачно для пользователя, трафик от их компьютера может быть ограничен для определенных ресурсов, на основе критериев, описываемых бизнесом.

Разработка SSTP была вызвана нехваткой возможностей VPN. Самый главный недостаток VPN – это нестабильное соединение. Это возникает из-за недостаточности областей покрытия. SSTP значительно расширяет область покрытия VPN соединения, сводя тем самым эту проблему до минимума. SSTP устанавливает соединение по безопасному протоколу HTTPS; это предоставляет клиентам безопасный доступ к сетям за маршрутизаторами NAT router, брандмауэрами (firewall) и веб прокси (web proxies), не заботясь об обычных проблемах с блокировкой портов.

SSTP не спроектирован для соединения site to site VPN connections, а предназначен для использования при соединении client to site VPN connections.

Успех SSTP может быть обнаружен в следующих возможностях:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *