WireGuard - Der wohl schnellste VPN-Tunnel
Was ist WireGuard?
WireGuard ist ein VPN-Tunnel, welcher extrem einfach aufgebaut ist, trotzdem modernste Kryptografien nutzt und sehr hohe Geschwindigkeiten erzielt. Dadurch ist WireGuard deutlich performanter als IPsec, was auch das Hauptziel darstellt. [2]
WireGuard kann für viele verschiedene Szenarien eingesetzt werden, bspw. in kleinen Firmennetzen oder auch in Supercomputern. Ursprünglich ist es für den Linux-Kernel entwickelt, nun kann WireGuard auch auf Windows, macOS, BSD, iOS und Android verwendet werden.
Auch wenn WireGuard aktuell noch weiter entwickelt wird, könnte er bereits als am einfachsten zu bedienende und sicherste VPN-Lösung betrachtet werden.
Worin besteht die Einfachheit?
WireGuard zu konfigurieren und implementieren ist fast so einfach wie ein SSH-Zugang. Durch den Austausch von Public-Keys wird eine sichere Verbindung hergestellt. Es kann problemlos zwischen mehreren IP-Adressen gewechselt werden und die gesamte Netzwerkkonfiguration sehr simpel geändert werden.
Kryptografischer Stand
Durch die Nutzung von aktuellsten Kryptografiemethoden, wie bspw. “Noise Protocol Framework”, “Curve 25519” und “ChaCha20”. Die gesamte Kryptografiekonstruktion wurde durch Kryptografen überprüft. [3]
Wenig Angriffsfläche für Attacken
Durch die Einfachheit der Software und der wenigen Codezeilen (~ 4000) ist es sehr leicht, eventuelle Sicherheitslücken zu bemerken und auszubessern. Im Gegensatz zu IPsec oder OpenVPN mit deutlich mehr Code und komplexerer Architektur, ist es selbst für ganze Teams an Experten eine überwältigende Aufgabe die Software zu auditieren.
Wie wird die hohe Performance erreicht?
Schnelle kryptografische Primitive (einzelne “Bausteine” eines kryptografischen Systems) und die Integration im Linux-Kernel verleihen WireGuard die hohe Performance. Dadurch ist selbst auf schwächeren Geräten eine schnelle Netzwerkkommunikation möglich.
Im Vergleich zu OpenVPN bietet WireGuard eine 3-4 mal so hohe Geschwindigkeit bei gleichzeitig niedrigerer CPU-Auslastung. Der Abstand zu IPsec ist zwar deutlich geringer, allerdings trotzdem nicht wegzureden [2].
Worin besteht der Unterschied zu anderen VPN-Lösungen wie IPsec oder OpenVPN?
Neben dem Performancevorsprung profitiert WireGuard auch durch eine höhere Benutzerfreundlichkeit und einfacherer Administration. WireGuard verwendet moderne Verschlüsselungstechniken, die es genauso sicher machen wie IPsec-VPNs, wenn nicht sogar sicherer.
IPsec ist ein älteres Protokoll, das umfangreich getestet wurde und daher als sicher gilt. WireGuard bietet jedoch eine einfachere und effizientere Implementierung, was es für viele Nutzer attraktiver macht.
Durch die weite Verbreitung von OpenVPN wird dies als Industriestandard gesehen, trotz weiter steigender Nutzeranzahl von WireGuard. Der Geschwindigkeitsunterschied von WireGuard und OpenVPN resultiert daraus, dass OpenVPN im Userspace läuft. Der Userspace, auch als Userland bekannt, ist der Speicherbereich, in dem Anwendungssoftware und einige Treiber ausgeführt werden. Anwendungen im Userspace können nicht direkt auf die Hardware-Ressourcen des Systems zugreifen. Stattdessen müssen Systemaufrufe an den Kernel gesendet werden, um Zugriff auf diese Ressourcen zu erhalten. WireGuard hingegen läuft im Kernelspace und kann direkt auf Systemressourcen zugreifen, was deutlich weniger Zeit benötigt.
Was sind die Limits von WireGuard?
WireGuard legt keinen Fokus auf Obfuskation (Verschleierung bzw. Verbergen des Netzwerks). Das Verbergen der tatsächlichen Nutzung des Netzwerks, sollte auf einer höheren Ebene stattfinden. Dies bedeutet, dass WireGuard-Verbindungen leichter zu erkennen und zu blockieren sein könnten, insbesondere in Umgebungen, in denen die Nutzung von VPNs überwacht wird.
Des Weiteren unterstützt WireGaurd keine TCP-Verbindungen. Vielmehr ist die Umwandlung der UDP-Pakete von WireGuard in TCP die Aufgabe einer überliegenden Schicht und kann durch Programme wie udptunnel und udp2raw durchgeführt werden.
Es gibt durchaus viele weitere Grenzen von WireGuard, allerdings sind diese sehr spezifisch und sind nur in einzelnen Anwendungsfällen von Bedeutung.
Anwendungsfälle
Die wohl häufigste Verwendung von WireGuard besteht darin, sich in ein Netzwerk zu begeben, welche von außerhalb nicht erreichbar sein soll, bspw. Firmennetzwerke. Remote-Arbeitumgebungen bzw. Homeoffice ist hier das Stichwort. Auch kann WireGuard für Gaming genutzt werden. Einige Spiele unterstützen nur lokalen Multiplayer. Mittel WireGuard kann sich somit in ein und dasselbe Netzwerk begeben werden. Durch die hohe Geschwindigkeit ist die Anforderung an geringe Latenzen kein Problem.
Gibt es Alternativen?
OpenVPN ist weit verbreitet und lang genug im Einsatz, um als erprobt zu gelten.
IKEv2/IPsec ist ein VPN-Protokoll, was vor allem für iOS und macOS Geräten geeignet ist. Es bietet eine gute Balance zwischen Sicherheit und Performance.
Zu behaupten, dass WireGuard generell besser ist als andere VPN-Software, ist zu kurz gedacht. Durch die angesprochenen Limits kann es für bestimmte Anwendungsfälle bedeuten, dass WireGuard nicht verwendet werden kann. Die Entscheidung für WireGuard sollte daher auf einer sorgfältigen Abwägung dieser Risiken basieren.
Quellen:
2: Whitepaper: https://www.wireguard.com/papers/wireguard.pdf
3: Analyse von WireGuard: https://courses.csail.mit.edu/6.857/2018/project/He-Xu-Xu-WireGuard.pdf