Das Secure Socket Tunneling Protocol (SSTP) ist ein VPN-Tunnelprotokoll von Microsoft, das mit Windows Vista (2007) eingeführt wurde. Es kapselt PPP-Datenframes in eine TLS-Verbindung über TCP-Port 443 — denselben Port, den auch HTTPS nutzt. Dadurch kommt SSTP durch nahezu jede Firewall, denn Port 443 wird in den seltensten Fällen blockiert.
Wie SSTP funktioniert
SSTP baut zuerst eine TLS-Sitzung zum SSTP-Server auf, die Verschlüsselung und Integritätsschutz übernimmt. Innerhalb dieses Kanals wird eine PPP-Verbindung ausgehandelt, deren Authentifizierung wie bei L2TP und PPTP auf PPP-Ebene stattfindet — typischerweise mit MS-CHAPv2 oder EAP. Server-Seite setzt Microsofts Routing and Remote Access (RRAS) ein.
PPP-Frame --> TLS --> TCP (Port 443) --> IP
Ein bekannter Nachteil ist das TCP-over-TCP-Problem: PPP über TLS über TCP verschachtelt zwei zuverlässige Transportschichten. Bei Paketverlust kann der innere TCP-Datenstrom den äußeren überholen und die Verbindung ins Stocken bringen. Außerdem ist SSTP proprietär und wurde nie als RFC standardisiert; native Clients gibt es nur für Windows, andere Systeme benötigen Drittanbieter-Lösungen wie SoftEther.
Einordnung
SSTP war vor allem für Nutzer attraktiv, die hinter restriktiven Firewalls nur HTTPS-Verkehr erlaubt haben. In aktuellen Windows-Versionen bevorzugt Microsoft jedoch IKEv2 als Standard-VPN-Protokoll; SSTP dient dort als Fallback, wenn andere Ports blockiert sind.
Verwandte Grundlagen: SSTP-Befehle, IP-Tunnel, VPN-Grundlagen, GRE.