Was ist ein VPN-Protokoll? – OpenVPN, WireGuard, SSTP, PPTP, IPsec, L2TP, IKEv2

Kein Kommentar Autor: Henry

Ich habe Dir bereits erklärt, was ein VPN ist und wie es Dich vor Datenkraken, Schnüfflern und anderen Gefahren aus dem Internet schützen kann. Sogar Geoblocking und Zensur lassen sich damit umgehen. Wir wissen ebenfalls, dass ein VPN eine logische Verbindung zwischen zwei Geräten ist. Für die Kommunikation über diese Tunnel werden sogenannte VPN-Protokolle wie zum Beispiel OpenVPN eingesetzt. Ein VPN-Protokoll ist also eine Methode, wie sich ein Client mit einem VPN Server verbindet.

Nun sind nicht alle VPN-Protokolle gleich sicher oder gleich schnell. Ich möchte Dir die am häufigsten eingesetzten VPN-Protokolle vorstellen und die Vorteile sowie Nachteile beschreiben.

Eine kurze Analogie: Wir sprechen immer von Datenverkehr, der über Datenautobahnen flitzt. Vergleiche VPN-Protokolle an sich einfach mit den verschiedenen Autos auf einer Autobahn. Einige sind schneller oder sicherer als andere. Mit diesem Bild im Kopf ist die ganze Sache mit den VPN-Protokollen etwas leichter zu verdauen.

Einen Nachteil haben alle! Vorteile aber auch!

Es gibt übrigens einen Nachteil, den alle VPN-Protokolle haben. Deine Internet-Verbindung wird geringfügig langsamer. Das hängt einfach damit zusammen, dass bei der Kommunikation eine weitere Komponente mit im Spiel ist. Bei der Geschwindigkeit kommt es außerdem darauf an, wie schnell oder wie ausgelastet der Server des VPN Providers ist. Die Verschlüsselung frisst ebenfalls ein paar Ressourcen Deines Geräts. Zum Glück sind moderne Geräte und Internet-Verbindungen so schnell, dass dieser Nachteil eigentlich nicht mehr oder sehr selten ins Gewicht fällt.

Natürlich ist ein großer Vorteil von VPN-Protokollen, dass sie Deinen Traffic verschlüsseln. Der Internet Provider oder andere neugierige Augen können nicht schnüffeln. Vor allen Dingen bei öffentlichen WLANs, Hotspots und so weiter ist das der größte Vorteil der VPN-Protokolle. Einige verschlüsseln aber besser als andere und sind daher zu bevorzugen.

Bizarr ist, dass der Einsatz eines VPN-Protokolls Deine Internet-Verbindung auch beschleunigen könnte. Manche Internet Provider drosseln je nach Traffic die Geschwindigkeit. Setzt Du ein VPN ein, kann der Provider aber nicht mehr sehen, was Du im Internet tust. Deswegen ist er auch nicht in der Lage, den von Dir verursachten Traffic zu klassifizieren.

ISP drosselt Traffic Netzneutralität

Der ISP kann Traffic priorisieren oder drosseln.

TCP und UDP

Bevor wir mit den Protokollen loslegen, müssen wir noch kurz den Unterschied zwischen TCP und UDP erklären. Beide sind im Layer 4 (Transportschicht) des sogenannten OSI-Modells zu finden.

TCP ist die Abkürzung von Transmission Control Protocol und UDP steht für User Datagram Protocol. UDP ist das schnellere der beiden Protokolle, da es von einer Zustellung ausgeht. Sollte ein Datenpaket verloren gehen, bekommt das der Client über UDP nicht mit. Sinnvoll ist das zum Beispiel beim Streaming von Medien, bei VoiP (Voice over IP) und so weiter. Es sind alle Aufgaben gemeint, bei denen der Verlust eines Pakets nicht kritisch ist oder ins Gewicht fällt.

TCP hingegen bietet Fehlerkorrektur und jedes Paket wird bestätigt. Der Vorgang ist natürlich langsamer. Der Sender eines Pakets wartet sozusagen auf eine Empfangsbestätigung. Bekommt er sie nicht, wird das Paket noch einmal geschickt. Interessierst Du Dich genauer für die Übertragung von TCP und UDP, findest Du dazu Details in RFC 3366. Es gibt genügend Fälle, bei denen Pakete nicht einfach unter den Tisch fallen dürfen und dort wird überall TCP eingesetzt.

Sagen wird so: Solange Du keine Probleme feststellst, benutze am besten das schnellere UDP.

TCP und UDP kommunizieren über Ports

Ports kannst Du Dir tatsächlich wie nummerierte Türen vorstellen. HTTPS kennst Du vielleicht aus der Adresszeile Deines Browsers. Das bedeutet, dass der Kanal verschlüsselt ist und normalerweise läuft HTTPS über Port 443. Dem unsicheren HTTP ist per Standard der Port 80 zugewiesen.

Bei IANA.org ist eine Liste mit den Standard-Ports hinterlegt. Die Ports werden normalerweise so eingesetzt, müssen es aber nicht. Zum Beispiel ist der Standard-Port für das nachfolgend beschriebene OpenVPN-Protokoll 1194. Es könnte aber sein, dass der Port durch eine Firewall gesperrt ist. Deswegen bieten einige Provider OpenVPN über Port 443 oder 53 an. Das sind die Ports für HTTPS oder DNS-Anfragen und die werden kaum gesperrt sein.

OpenVPN – Open Source, sicher und schnell

OpenVPN ist Open Source und etwas wie die eierlegende Wollmilchsau unter der VPN-Protokollen. Zunächst einmal kann jeder den Quell-Code einsehen und die Community stellt sicher, dass es keine Backdoor gibt. OpenVPN funktioniert mit UDP und auch TCP. Von daher ist ein Einsatz sehr flexibel und je nach Anwendungsfall kannst Du zwischen Zuverlässigkeit und Geschwindigkeit entscheiden.

Das VPN-Protokoll ist sehr zuverlässig und stabil, obwohl OpenVPN noch relativ neu ist. Es gilt als sehr leistungsstark und wird von den meisten VPN Providern als Standard empfohlen. OpenVPN ist unter anderem für Windows, macOS, Linux, Android und iOS verfügbar.

Das Security-Protokoll OpenVPN basiert auf SSL sowie TLS und verschlüsselt mit bis zu 256-Bit.

Die meisten Clients und Apps, die Du von VPN Providern zum Download bekommst, verwenden OpenVPN per Standard. Oftmals darfst Du selbst aussuchen, ob Du TCP oder UDP verwenden möchtest.

Ob Du TCP oder UDP verwenden möchtest, kannst Du häufig selbst bestimmen

Meist kannst Du Dir aussuchen, ob Du TCP oder UDP für OpenVPN verwenden möchtest

WireGuard – ein vielversprechendes VPN-Protokoll

WireGuard ist das neueste VPN-Protokoll und befindet sich derzeit noch in einer Entwicklungsphase. Der Fokus liegt auf Einfachheit und derzeit hat der gesamte Code nur 4000 Zeilen.

Im Endeffekt werden ähnlich wie bei SSH Schlüssel ausgetauscht und somit der sichere Tunnel etabliert. Die Verbindung steht mit WireGuard sehr schnell und das VPN-Protokoll kann Roaming. Ich durfte die frühe WireGuard-Implementierung von NordVPN ausprobieren und das funktioniert bereits super. Dabei bin ich von einem WLAN zum nächsten gesprungen und sogar auf eine mobile Datenverbindung umgestiegen. Der Tunnel stand ohne Unterbrechung sofort wieder. Das macht echt Spaß, auch wenn das Protokoll Nachteile hat.

NordLynx: WireGuard für NordVPN!
In der Zwischenzeit ist das WireGuard-Protokoll bei NordVPN angekommen und in den Linux-Client eingeflossen. Es nennt sich NordLynx und ein Speedtest zeigt, dass es schneller als OpenVPN ist.

Die Latenz ist geringer als bei OpenVPN und bisher kann ich keine Nachteile sehen. Sollte es keine massive Security-Lücke geben, sehe ich WireGuard als das VPN-Protokoll der Zukunft. NordVPN (günstig und schnell!)* hat WireGuardwie erwähnt in seinem Linux-Client bereits eingeführt. Wann andere große VPN Provider nachziehen, ist noch nicht ganz klar. Ich habe WireGuard auch in diesem Beitrag genauer vorgestellt.

Es gibt natürlich einen WireGuard-Client für Linux und somit auch für den Raspberry Pi. Damit lässt sich der Winzling ebenfalls über das VPN-Protokoll verbinden. Das ist schon richtig schick!

Raspberry Pi via VPN-Protokoll WireGuard verbunden

Raspberry Pi via VPN-Protokoll WireGuard verbunden

SSTP (Secure Socket Tunneling Protocol) – VPN-Protokoll für Windows

SSTP ist eine Methode, um damit PPP-Datenverkehr über SSL/TLS zu transportieren. Das VPN-Protokoll läuft per Standard über Port 443 und lässt sich durch eine Firewall schlechter blockieren als andere. SSTP gilt als ähnlich sicher und gut wie OpenVPN, es gibt aber einen kleinen Haken.

Microsoft ist im Besitz von SSTP und hat das VPN-Protokoll auch entwickelt. Es ist also proprietär. Der Vorteil für Windows-Anwender ist allerdings, dass der Client ab Windows Vista SP1 per Standard implementiert ist. Willst Du den Client des VPN-Providers nicht nutzen und eine VPN-Verbindung manuell konfigurieren, musst Du bei modernen Windows-Versionen keine Software von Dritten einspielen.

Für Linux und macOS gibt es ebenfalls SSTP-Implementierungen, die nach eigenen Erfahrungen auch gut funktionieren. Verwendest Du Ubuntu oder ein Derivat wie Linux Mint, kannst Du den SSTP-Client einfach über ein PPA installieren. Mac-Anwender können ihr Glück mit iSSTP versuchen. Für Android empfehle ich den SSTP VPN Client. Die Software kostet zwar ein paar Euro, braucht aber keinen root-Zugriff und funktioniert im Gegensatz zu den ganzen anderen, kostenlosen Lösungen reibungslos.

Für Android taugt meiner Meinung nach nur der der kostenpflichtige SSTP-Client

Nur der kostenpflichtige SSTP-Client für Android hat mich wirklich überzeugt

Weiterhin läuft SSTP über TCP und ist damit langsamer als eine UDP-Verbindung. Es könnte Probleme mit dem sogenannten TCP Meltdown geben. Vereinfacht gesagt wird die Verbindung dann sehr zäh und langsam. Doch wie gesagt lässt sich damit fast jede Firewall umgehen und Du kannst so gut wie immer eine VPN-Verbindung etablieren. Tatsächlich hat mir SSTP schon mehrmals aus der Patsche geholfen, wenn OpenVPN und andere Protokolle gesperrt waren. Alternativen sind einfach Gold wert.

PPTP gilt als unsicheres VPN-Protokoll

PPTP (Point-to-Point Tunneling Protocol) ist der Dinosaurier unter den VPN-Protokollen und wird seit Windows 95 eingesetzt. Seit 2012 gilt PPTP aber nachweislich als nicht mehr sicher. PPTP ist sehr flott, die Verschlüsselung lässt sich mit modernen Computern allerdings recht schnell knacken. Da PPTP für wesentlich ältere Hardware oder CPUs entwickelt wurde, läuft das Protokoll auch gut auf alten Geräten. Geht es nicht um sensible Daten, sondern zum Beispiel um das Streaming von Video und Audio, kann man auch mal PPTP nehmen.

PPTP ist darüber hinaus für fast alle Betriebssystem verfügbar. In Android ist es per Standard implementiert, in modernen Linux-Distributionen ebenfalls und in Windows sowieso. Als Quick-and-Dirty-Lösung ist PPTP in gewissen Situationen immer noch besser als gar kein VPN!

Merke Dir einfach: Wenn es nicht unbedingt sein muss, verwende PPTP auf keinen Fall. In einem Satz beschrieben: Es ist schnell, aber auch sehr unsicher.

L2TP / IPsec

L2TP und IPsec gehören eigentlich zusammen, denn sie werden in der VPN-Welt nur als Kombination eingesetzt. Mit L2TP lassen sich alle Protokolle tunneln, die sich in PPP einkapseln lassen. Das Problem mit L2TP ist aber, dass es keine Sicherheit bietet. Das ist natürlich doof.

Deswegen wird L2TP durch IPsec getunnelt und somit ist für die notwendige Sicherheit gesorgt. IPsec kann außerdem lediglich IP-Pakete tunneln und es lassen sich weder DNS noch IP-Adresse konfigurieren. Die Kombination kann das aber. Die beiden Protokolle bügeln sozusagen ihre Schwachpunkte gegenseitig aus und der gemeinsame Einsatz ergibt eine vernünftige Lösung.

L2TP über IPsec gilt als genauso sicher wie OpenVPN, aber als weniger flexibel. Für die Desktop-Betriebssysteme Windows, macOS und Linux gibt es Software, mit der sich L2TP über IPsec verwenden lässt. Sollten OpenVPN oder WireGuard funktionieren, nimm lieber das.

Bei Mobile sieht die Sache so aus, dass sowohl bei Googles Android als auch bei Apples iOS eine Einwahl über L2TP via IPsec per Standard möglich ist. Du musst also nichts installieren. Die meisten guten VPN-Provider bieten Apps und deswegen musst Du Dir an dieser Stelle eigentlich keine großen Gedanken machen. Behalte es einfach im Hinterkopf, falls Du die Kombination L2TP über IPsec doch irgendwann benötigst.

IKEv2

IKEv2 oder Internet Key Exchange version 2 wurde gemeinsam von Microsoft und Cisco entwickelt. Meist wird es genau wie L2TP mit einem Protokoll für die Authentifizierung wie IPsec eingesetzt. Das Protkoll unterstützt EAP (Extensible Authentication Protocol), Pre-Shared Keys und digitale Signaturen.

Das Protokoll IKEv2 gilt als guter Kompromiss zwischen Sicherheit und Geschwindigkeit, bietet dabei aber sehr hohe Verschlüsselung. Das ist genauer gesagt AES 256-Bit für Daten und SHA256 für die Kontroll-Nachrichten.

Weiterhin unterstützt es das MOBIKE-Protokoll (Mobility and Multihoming ). Sollten sich Netzwerke ändern, bekommt Dein VPN das mit und verbindet sich sofort wieder neu. Du kannst es ein bisschen mit dem Kill-Switch vergleichen, den gute VPN-Clients bieten. Der deaktiviert sofort sämtliche Netzwerkleitungen, wenn die Verbindung zum VPN Server unterbrochen ist.

In neueren Versionen von Windows (ab 7), macOS und iOS ist IKEv2 per Standard implementiert. Für die Konfiguration ist etwas Handarbeit notwendig. Unterstützen VPN-Anbieter IKEv2, gibt es meist eine Anleitung auf der Website des Providers.

Willst Du IKEv2 unter Android nutzen, dann kannst Du den strongSwan VPN Client installieren. Es gibt die Software auch unter Linux, aber eine Konfiguration ist eine ziemliche Kommandozeilen-Orgie. IKEv2 ist übrigens auch mit Blackberry-Geräten kompatibel.

Ein Nachteil ist, dass IKEv2 die Ports 500 und 4500 nutzt. Sollte das in einer Firewall gesperrt sein, dann funktioniert eine VPN-Verbindung nicht.

Es spricht nichts gegen IKEv2, aber persönlich würde ich OPenVPN oder WireGuard den Vorzug geben




 Alle Kommentare als Feed abonnieren

Kommentare sind geschlossen.