SSTP ist PPP über HTTPS, keine Webseite auf Port 443
TLS und eine HTTP-Anfrage öffnen den Kanal, dann erledigen Steuernachrichten und PPP den Rest. Gehen Sie die Stufen durch und sehen Sie, warum ein Browsertest so wenig beweist.
SSTP trägt PPP innerhalb einer HTTPS-Verbindung, deshalb sieht es für alles dazwischen wie Webverkehr aus. TLS und HTTP bauen den äußeren Kanal auf, dann bereiten SSTP-Steuernachrichten den Tunnel vor, und PPP liefert das Sitzungsverhalten. Ein Browser, der eine Seite unter derselben Adresse lädt hat nur einen Teil der ersten Stufe abgeschlossen. Das als VPN-Test zu werten, ist der Weg, auf dem ein funktionierender Proxy für eine Protokollabweichung verantwortlich gemacht wird.
Gehen Sie die vier Stufen der Reihe nach durch, und der Fehler, den Sie sehen, landet in einer davon.
Stufe 1: TCP und TLS
Der Client öffnet eine TCP-Verbindung zu Port 443 und führt einen TLS-Handshake aus. Die Zertifikatskette muss zum Hostnamen passen, mit dem der Client konfiguriert wurde. Eine Namensabweichung erzeugt hier einen Fehler, bevor irgendeine SSTP-Nachricht ausgetauscht wird, und die SSTP-Spezifikation setzt voraus, dass dieser äußere HTTPS-Kanal bereits existiert. Nichts in den späteren Stufen kann einen Vertrauensfehler hier ausgleichen.
Ein gewöhnlicher Webserver kann diese Stufe perfekt abschließen und trotzdem an der nächsten scheitern. TLS-Erfolg ist ein Beleg über das Zertifikat, nicht über das Protokoll dahinter.
Stufe 2: die HTTPS-Anfrage
SSTP stellt seine Anfrage mit einer bestimmten Methode, SSTP_DUPLEX_POST, und hält den Austausch offen, statt ein Dokument zurückzugeben. Ein Server oder Proxy, der für gewöhnliche Seitenanfragen konfiguriert ist, kann die Verbindung annehmen und die Methode dann ablehnen. Diese Ablehnung ist das Kompatibilitätsproblem, das Leute üblicherweise als blockierten Port 443 beschreiben.
Lesen Sie den Antwortcode und die Methode im Serverprotokoll. Eine Ablehnung in dieser Stufe ist ein anderes Problem als ein TCP-Timeout, und beide führen zu unterschiedlichen Korrekturen.
Stufe 3: Steuernachrichten
Sobald die Anfrage angenommen ist, tauscht SSTP Steuernachrichten aus, die den Tunnel aushandeln und vorbereiten. Das sind Protokollnachrichten im HTTPS-Body und keine HTTP-Anfragen, daher kann ein Proxy, der Bodies prüft und umschreibt, sie zerstören, während Seitenanfragen unberührt bleiben.
Hier verdient sich eine Deep-Inspection-Middlebox ihren Ruf. Wenn Seiten laden und das VPN scheitert, prüfen Sie, ob der Body verändert wird, statt ob der Port offen ist.
Stufe 4: PPP übernimmt
PPP liefert dann das Sitzungsverhalten: Linkaushandlung, Authentifizierung und die folgende Konfiguration der Netzwerkschicht. Die PPP-Authentifizierung ist getrennt von der TLS-Prüfung, die der Client bereits bestanden hat. Ein Serverzertifikat, das der Client akzeptiert, sagt nichts darüber, ob die Anmeldedaten des Benutzers gültig sind oder das Konto berechtigt ist.
Ein akzeptiertes Zertifikat und eine abgelehnte Anmeldung widersprechen sich nicht. Es sind aufeinanderfolgende Stufen mit unabhängigen Ergebnissen.
Die Authentifizierung hat mehrere Rollen
Der Client prüft die Identität des TLS-Servers gegen seinen Vertrauensspeicher und den konfigurierten Namen. Dann authentifiziert PPP den Benutzer oder die Maschine, je nach Bereitstellung. Der Server kann eine eigene Richtlinie hinzufügen, wer sich verbinden darf und was er erreichen darf. Halten Sie den Hostnamen mit der Zertifikatsidentität konsistent, denn eine rohe Adresse ersetzt eine funktionierende Einrichtung durch einen Namensprüfungsfehler.
Notieren Sie, welche Stufe den Fehler gemeldet hat. Zertifikat, Methode, Steuernachricht, PPP-Authentifizierung, dann Routen: fünf Stellen, fünf Reparaturen.
Was ein Browsertest zeigen kann und was nicht
Eine Seite unter der Adresse zu laden beweist DNS-Auflösung, TCP-Erreichbarkeit und dass etwas lauscht, das HTTP spricht. Es beweist nicht, dass die Methode akzeptiert wird, der Steueraustausch überlebt oder die PPP-Authentifizierung konfiguriert ist. Verwenden Sie einen Client, der SSTP implementiert, statt ein anderes Profil durch Ändern des Ports umzuwandeln.
Sobald die Sitzung steht, entscheiden Routen, DNS und serverseitige Weiterleitung weiterhin, was der Benutzer erreichen kann. Der Tunnel ist ein Weg, keine Berechtigung.