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, в семи
этапах
- Клиенту SSTP необходимо подключение к интернет. После
того, как это Интернет соединение проверено протоколом,
устанавливается TCP соединение с сервером по порту 443.
- Далее происходит SSL согласование для уже установленного
соединения TCP, в соответствии с чем проверяется сертификат
сервера. Если сертификат правильный, то соединение
устанавливается, в противном случае соединение обрывается.
- Клиент посылает HTTPS запрос в рамках зашифрованной SSL
сессии на сервер.
- Теперь клиент посылает контрольные пакеты SSTP control
packet внутри сессии HTTPS session. Это в свою очередь
приводит к установлению состояния SSTP на обеих машинах для
контрольных целей, обе стороны инициируют взаимодействие на
уровне PPP.
- Далее происходит PPP согласование SSTP по HTTPS но обоих
концах. Теперь клиент должен пройти аутентификацию на
сервере.
- Сессия теперь привязывается к IP интерфейсу на обеих
сторонах и IP адрес назначается для маршрутизации трафика.
- Теперь устанавливается взаимодействие, будь это IP
трафик, или какой-либо другой.
Компания Microsoft уверена, что этот протокол поможет
облегчить проблемы с VPN соединением. Специалисты RRAS теперь
готовятся к интеграции RRAS с SSTP, поэтому протокол будет
частью решения, которое будет развиваться дальше. Единственное
требование в настоящий момент заключается в том, что клиент
должен работать под управлением операционных систем Vista и
Longhorn server. Набор инструментов, предоставляемый этим
небольшим протоколом, является богатым и очень гибким, поэтому
протокол увеличит опыт пользователей и администраторов. Я
предсказываю, что устройства начнут встраиваться в этот
протокол в стек для безопасного взаимодействия (stack for
secure communication) и проблемы с NAT скоро будут забыты,
т.к. мы перейдем к готовому решению 443/SSL.
Заключение
SSTP – это прекрасное дополнение к набору инструментов VPN
toolkit, которое позволяет пользователям удаленно и безопасно
подключаться к корпоративной сети (corporate network).
Блокирование удаленного доступа и проблемы NAT уходят в
прошлое при использовании этого протокола. Вся технология
стабильна, хорошо документирована, и отлично работает. Это
замечательный продукт, и он очень приветствуется в наше время,
когда необходим удаленный доступ.