Протокол SSTP - VPN Печать
02.01.13 11:14

Протокол SSTP


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

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 это не достигается.

SSTP

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, заключаются в следующем:

  • Он не обеспечивает сильной аутентификации (strong authentication)
  • Существуют различия в качестве и кодировании клиентов пользователей от поставщика к поставщику
  • Не IP протоколы не поддерживаются по умолчанию
  • Т.к. IPSec был разработан для безопасных соединений site to site secure connections, поэтому легко представить проблемы удаленных пользователей при подключении из места с ограниченным числом IP адресов.

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 использует HTTPS для установления безопасного соединения
    • Туннель SSTP (VPN) будет работать по Secure-HTTP. Будет устранена проблема с VPN соединениями, работающими по протоколу Point-to-Point Tunneling Protocol (PPTP) или по протоколу Layer 2 Tunneling Protocol (L2TP). Веб прокси (Web proxies), брандмауэры (firewall) и маршрутизаторы Network Address Translation (NAT) routers, расположенные на пути между клиентом и сервером, больше не будут блокировать соединения VPN.
  • Снижается количество проблем с обычной блокировкой портов
    • Проблемы с блокировкой соединения по отношению к блокировке порта PPTP GRE или L2TP ESP на брандмауэре (firewall) или NAT router, которые не позволяли клиенту подключиться к серверу, больше не являются проблемой, т.к. достигается повсеместное соединение. Клиенты могут подключаться из любого места в интернет.
  • SSTP встроен в операционную систему Longhorn server
  • SSTP Client встроен в операционную систему Windows Vista SP1
    • SSTP не вызывает новых проблем, т.к. контроль конечных пользователей end-user VPN controls остается неизменным. SSTP, работающий по VPN туннелю, встраивается напрямую в интерфейсы для программного обеспечения для клиентов и серверов Microsoft VPN.
  • Полная поддержка IPv6. SSTP VPN туннель можно установить по протоколу IPv6.
  • Используется интегрированная поддержка защиты доступа к сети (network access protection) для проверки состояния клиента.
  • Сильная аутентификация (Strong integration) на клиенте и сервере MS RRAS, с возможностью двух факторной аутентификации (two factor authentication).
  • Увеличилась зона покрытия VPN от нескольких точек до практически любого Интернет подключения.
  • SSL инкапсуляция прослеживания по порту 443.
  • Может управляться и контролироваться с помощью брандмауэров прикладного уровня, как ISA server.
  • Полностью сетевое решение VPN, а не просто прикладной туннель для одного приложения.
  • Интеграция в NAP.
  • Возможна интеграция и конфигурация с помощью политик для проверки состояния клиента.
  • Одна сессия создается для туннеля SSL.
  • Не зависит от приложения.
  • Более сильная аутентификация по сравнению с IPSec
  • Поддержка не IP протоколов – это основное улучшение по сравнению с IPSec.
  • Нет нужды в покупке дорогостоящего и труднонастраиваемого аппаратного брандмауэра (hardware firewall), который не поддерживает интеграцию с Active directory и двух факторную аутентификацию.
Рисунок 1.1 Механизм SSTP соединения

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

  1. Клиенту SSTP необходимо подключение к интернет. После того, как это Интернет соединение проверено протоколом, устанавливается TCP соединение с сервером по порту 443.
  2. Далее происходит SSL согласование для уже установленного соединения TCP, в соответствии с чем проверяется сертификат сервера. Если сертификат правильный, то соединение устанавливается, в противном случае соединение обрывается.
  3. Клиент посылает HTTPS запрос в рамках зашифрованной SSL сессии на сервер.
  4. Теперь клиент посылает контрольные пакеты SSTP control packet внутри сессии HTTPS session. Это в свою очередь приводит к установлению состояния SSTP на обеих машинах для контрольных целей, обе стороны инициируют взаимодействие на уровне PPP.
  5. Далее происходит PPP согласование SSTP по HTTPS но обоих концах. Теперь клиент должен пройти аутентификацию на сервере.
  6. Сессия теперь привязывается к IP интерфейсу на обеих сторонах и IP адрес назначается для маршрутизации трафика.
  7. Теперь устанавливается взаимодействие, будь это IP трафик, или какой-либо другой.

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

Заключение

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

Рики Магалхаес (Ricky M. Magalhaes)

 

P.S. Добавлю и я свои пять копеек...

Я понимаю, что всем приятно продавать продукты miсrosoft. Но я выбираю OPENVPN. 

 

источник: http://www.cyberguru.ru/networks/protocols/sstp.html

ссылка на материал: http://thin.kiev.ua/windows/49-windows/727-sstp-vpn.html

{jcomments on}

Последнее обновление 02.01.13 11:21