Протокол туннелирования безопасных сокетов

Материал из wikixw
(перенаправлено с «SSTP»)
Перейти к навигации Перейти к поиску

Не путать с Простым симметричным транспортным протоколом.

Secure Socket Tunneling Protocol (SSTP) - это форма туннеля виртуальной частной сети (VPN) , которая обеспечивает механизм транспортировки PPP-трафика по каналу SSL/TLS. SSL/TLS обеспечивает безопасность на транспортном уровне с согласованием ключей, шифрованием и проверкой целостности трафика. Использование SSL/TLS через TCP-порт 443 (по умолчанию порт может быть изменен) позволяет SSTP проходить практически через все брандмауэры и прокси-серверы, за исключением аутентифицированных веб-прокси.

Серверы SSTP должны быть аутентифицированы на этапе SSL/TLS. Клиенты SSTP могут быть дополнительно аутентифицированы на этапе SSL/TLS и должны быть аутентифицированы на этапе PPP. Использование PPP позволяет поддерживать общие методы аутентификации, такие как EAP-TLS и MS-CHAP.

SSTP доступен для Linux, BSD и Windows.

SSTP доступен в Windows Vista SP1 и более поздних версиях, в RouterOS начиная с версии 5.0 и в SEIL начиная с версии прошивки 3.50. Он полностью интегрирован с архитектурой RRAS в этих операционных системах, что позволяет использовать его с аутентификацией Winlogon или смарт-карт, политиками удаленного доступа и VPN-клиентом Windows. Протокол также используется Windows Azure для виртуальной сети Точка-узел.[4]

SSTP был предназначен только для удаленного клиентского доступа, он обычно не поддерживает межсайтовые VPN-туннели.

SSTP страдает от тех же ограничений производительности, что и любой другой туннель IP-over-TCP. В общем случае производительность будет приемлемой только до тех пор, пока на нетуннелированном сетевом канале имеется достаточная избыточная пропускная способность, гарантирующая, что срок действия туннелированных TCP-таймеров не истечет. Если это становится неправдой, производительность резко падает. Это известно как "проблема распада TCP".

SSTP поддерживает только аутентификацию пользователя; он не поддерживает аутентификацию устройства или компьютера.

Структура пакета[править]

Следующая структура заголовка является общей для всех типов пакетов SSTP:

Заголовок SSTP

SSTP заголовок
Битовое смещение Биты 0–7 8–14 15 16–31
0 Версия Зарезервировано C Длина
32+ Данные
  • Версия (8 бит) – связывает и согласовывает используемую версию SSTP.
  • Зарезервировано (7 бит) – зарезервировано для будущего использования.
  • C (1 бит) – управляющий бит, указывающий, представляет ли пакет SSTP управляющий пакет SSTP или пакет данных SSTP. Этот бит устанавливается, если пакет SSTP является управляющим пакетом.
  • Length (16 бит) – поле длины пакета, состоящее из двух значений: зарезервированной части и части длины.
    • Зарезервировано (4 бита) – зарезервировано для будущего использования.
    • Length (12 бит) – содержит длину всего пакета SSTP, включая заголовок SSTP.
  • Data (variable) – когда установлен управляющий бит C, это поле содержит управляющее сообщение SSTP. В противном случае поле данных будет содержать протокол более высокого уровня. На данный момент это может быть только ГЧП.

Контрольное сообщение[править]

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

SSTP управляющее сообщение
Битовое смещение Биты 0–15 16–31
0 Тип сообщения Количество сообщений
32+ Атрибуты
  • Тип сообщения (16 бит) – определяет тип передаваемого управляющего сообщения SSTP. Это диктует количество и типы атрибутов, которые могут быть перенесены в пакет управления SSTP.
  • Количество атрибутов (16 бит) – определяет количество атрибутов, добавляемых к управляющему сообщению SSTP.
  • Атрибуты (переменная) – содержит список атрибутов, связанных с управляющим сообщением SSTP. Количество атрибутов задается полем Количество атрибутов.

См. также[править]

Пруф[править]

docs.microsoft.com/en-us/openspecs/windows_protocols/ms-sstp/c50ed240-56f3-4309-8e0c-1644898f0ea8