{"id":148,"date":"2007-06-25T12:10:45","date_gmt":"2007-06-25T10:10:45","guid":{"rendered":"http:\/\/www.mitternachtshacking.de\/blog\/148-microsofts-proprietares-sstp-ssl-vpn"},"modified":"2018-05-31T18:22:41","modified_gmt":"2018-05-31T17:22:41","slug":"microsofts-proprietares-sstp-ssl-vpn","status":"publish","type":"post","link":"https:\/\/www.mitternachtshacking.de\/blog\/148-microsofts-proprietares-sstp-ssl-vpn","title":{"rendered":"Microsofts propriet\u00e4res SSTP SSL-VPN"},"content":{"rendered":"<p>Microsoft hat sich mal wieder etwas eigenes ausgedacht, eine propriet\u00e4re Implementierung eines VPNs \u00fcber SSL. Der <a href=\"http:\/\/www.microsoft.com\/technet\/technetmag\/issues\/2007\/06\/CableGuy\/default.aspx?loc=de\">Cable Guy<\/a> erkl\u00e4rt, worum es geht.<\/p>\n<p>Das <a href=\"http:\/\/www.windowsecurity.com\/articles\/Secure-Socket-Tunneling-Protocol.html\">Secure Socket Tunneling Protocol<\/a> (SSTP) ist ein neues Protokoll, das eine sichere VPN-Verbindung auch \u00fcber Adresstranslation (NAT) herstellen soll. Dabei kommen prim\u00e4r die bekannten TLS-Sicherungsverfahren zum Einsatz. Die ersten sechs Schritte im Tunnelaufbau sind identisch zum normalen SSL-Handshake:<\/p>\n<ol>\n<li>Der Client baut eine Verbindung zum TCP-Port 443 (HTTPS) des Servers auf<\/li>\n<li>Der Client sendet eine SSL Session Setup Message die anzeigt, dass der Client eine SSL-Verbindung zum Server aufbauen will<\/li>\n<li>Der Server sendet dem Client sein SSL-Zertifikat<\/li>\n<li>Der Client \u00fcberpr\u00fcft das Zertifikat, bestimmt die Verschl\u00fcsselungsmethode f\u00fcr die SSL-Sitzung, generiert einen Sitzungsschl\u00fcssel und verschl\u00fcsselt diesen mit dem \u00f6ffentlichen Schl\u00fcssel des Zertifikats des Servers<\/li>\n<li>Der Client sendet den verschl\u00fcsselten SSL-Sitzungsschl\u00fcssels zum Server<\/li>\n<li>Der Server entschl\u00fcsselt den SSL-Sitzungsschl\u00fcssel mit dem zugeh\u00f6rigen privaten Schl\u00fcssel. Die gesamte Kommunikation wird mit diesem Sitzungsschl\u00fcssel verschl\u00fcsselt<\/li>\n<\/ol>\n<p>Soweit kein Problem, das ist bew\u00e4hrter Standard. Aber nun kommt die Erweiterung:<\/p>\n<ol>\n<li>Der Client sendet eine HTTP-\u00fcber-SSL-Anforderungsnachricht zum Server und handelt mit dem Server einen SSTP-Tunnel aus<\/li>\n<li>Der Client handelt mit dem SSTP-Server eine PPP-Verbindung aus. Zu dieser Aushandlung geh\u00f6ren die Authentifizierung der Anmeldeinformationen des Benutzers mit einer PPP-Authentifizierungsmethode und die Konfiguration der Einstellungen f\u00fcr den Datenverkehr<\/li>\n<li>Der Client beginnt, \u00fcber die PPP-Verbindung Datenverkehr zu senden<\/li>\n<\/ol>\n<p>Das kommt mir irgendwie bekannt vor. PPP ist anscheinend das Lieblingsprotokoll von Microsoft. Das kam ja schon in <a href=\"http:\/\/www.schneier.com\/pptp-faq.html\">PPTP<\/a> zum Einsatz.<\/p>\n<p>Der Overhead ist jedenfalls lustig: IP-Header, TCP-Header, SSTP-Header, PPP-Header und dann erst das eigentliche Datenpaket. Ok, gegen\u00fcber IPSec over HTTPS ist das ein wenig effizienter, der PPP-Header hat 8 Byte, der ESP-Header hat 20 Byte. Trotzdem erscheint mir PPP nicht wirklich zwingend notwendig. Die meisten mir bekannten SSL-VPN-Verbindungen kommen jedenfalls ohne PPP aus und bieten direkt IP over HTTPS. Und das scheint recht stabil zu funktionieren.<\/p>\n<p>Na mal sehen, wie es sich verbreitet und ein Vorteil gegen\u00fcber PPTP d\u00fcrfte es allemal sein.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft hat sich mal wieder etwas eigenes ausgedacht, eine propriet\u00e4re Implementierung eines VPNs \u00fcber SSL. Der Cable Guy erkl\u00e4rt, worum es geht. Das Secure Socket Tunneling Protocol (SSTP) ist ein neues Protokoll, das eine sichere VPN-Verbindung auch \u00fcber Adresstranslation (NAT) herstellen soll. Dabei kommen prim\u00e4r die bekannten TLS-Sicherungsverfahren zum Einsatz. Die ersten sechs Schritte im [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/148"}],"collection":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/comments?post=148"}],"version-history":[{"count":0,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/148\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/media?parent=148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/categories?post=148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/tags?post=148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}