WireGuard VPN: Vor- und Nachteile

WireGuard VPN: Vor- und Nachteile

 

WireGuard ist eine vielversprechende neuartige VPN-Technologie, die alle bisherigen VPN-Protokolle in den Schatten stellen soll. Die Vorteile von WireGuard liegen vor allem in der Leistungsfähigkeit und Geschwindigkeit, weshalb es von Anwendern und Industrie gut angenommen wird. Wir haben geprüft, ob und wie wir diese VPN-Software in unserer VPN-Infrastruktur einsetzen können. Das Ergebnis: Leider ist die Software noch nicht ausgereift genug, als dass wir diese zum heutigen Zeitpunkt guten Gewissens unseren Nutzern anbieten könnten, aber wir erwarten gespannt die zukünftige Entwicklung.

mind the gap

Die Vorteile von WireGuard

Zunächst hat WireGuard einige bestechende Vorteile, die für dessen Einsatz sprechen:

Leistungsfähigkeit und Geschwindigkeit

WireGuard soll wesentlich nützlicher und perfomanter sein als die bisher weit verbreiteten VPN-Protokolle und -Softwarelösungen IPsec und OpenVPN. WireGuard verwendet neuste besonders leistungsfähige Kryptographie-Algorithmen, wie das Noise Protocol Framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24 oder HKDF. Einen weiteren Performance-Schub bekommt WireGuard dadurch, dass die Software serverseitig als Linux-Kernelmodul ausgeführt wird. Zudem gibt es spezielle Optimierungen für die MIPS-Prozessor-Architektur, was WireGuard besonders interessant für weniger leistungsfähige Geräte wie Heim-Router oder andere embedded systems macht.

Einfache Konfiguration & plattformübergreifende Nutzung

Ein Ziel von WireGuard ist es, dass die Software besonders einfach zu konfigurieren sein soll, wie z.B. SSH. WireGuard verwendet zur Identifizierung und Verschlüsselung nur öffentliche Schlüssel und kann somit auf eine Zertifikat-Infrastruktur verzichten. Das VPN-Protokoll ist sehr breit gefächert einsetzbar, da es plattformübergreifende Software-Lösungen gibt. Neben der Linux-Implementation gibt es Ports für Android, macOS, FreeBSD, OpenBSD und sogar eine Windows-Software.

Sicherheit

WireGuard kommt mit sehr wenigen Zeilen Code aus. Dies ist aus zwei Gründen ein großer Sicherheits-Vorteil: Zum einen enthält weniger Code auch potenziell weniger Fehler. Zum anderen ist weniger Code für Sicherheits-Experten einfacher zu überprüfen. Zur Zeit enthält WireGuard etwa 4.000 Zeilen Code. Zum Vergleich: Bisherige Lösungen wie OpenVPN und IPsec benötigen mehrere hunderttausend Zeilen.

Die Nachteile von WireGuard

Diesen vielversprechenden Vorteilen stehen einige gravierende Nachteile gegenüber, die den Einsatz von WireGuard bei Perfect Privacy leider noch nicht ermöglichen:

Work in Progress

Auch wenn WireGuard schon benutzbar ist, ist die Entwicklung einer stabilen Version noch nicht abgeschlossen. Der Entwickler schreibt selber auf der Webseite, dass man zum jetzigen Zeitpunkt nicht auf den Code vertrauen soll. Die Software muss noch IT-Sicherheitsaudits durchlaufen, in denen Sicherheitsexperten die Codequalität überprüfen. Und selbst das Protokoll könnte noch geändert werden. Besondere Vorsicht ist geboten, da WireGuard im Linux-Kernel ausgeführt wird und so Zugriff auf sämtliche Ressourcen des Servers hat. Fehler im Code und Sicherheitslöcher hätten hier gravierende Auswirkungen, weshalb eine gute Code-Qualität und unabhängige Überprüfungen durch Sicherheitsexperten besonders wichtig sind.

Ohne Logs nicht einsetzbar

Bei WireGuard gibt es keine dynamische Adressverwaltung. Die Client-Adressen sind fest vorgegeben. Wir müssten also jedes aktive Gerät unserer Kunden registrieren und die statischen IP-Adressen auf jedem unserer VPN-Server zuweisen. Außerdem müssten wir die letzten Anmeldezeitstempel für jedes Gerät speichern, um ungenutzte IP-Adressen zurückfordern zu können. Unsere Nutzer könnten dann Ihre Geräte nach ein paar Wochen nicht mehr verbinden, da Ihre Adressen neu zugewiesen worden wären.

Uns ist besonders wichtig, dass wir absolut keine Verbindungs-Logs erstellen. Deshalb können wir die o. g. Registrierungs- und Anmeldedaten, die für einen Betrieb von WireGuard derzeit noch nötig wären, nicht speichern.

Kein NeuroRouting und TrackStop möglich

Wenn ein Nutzer eine VPN-Verbindung zu unserem VPN-Netzwerk aufbaut, werden von uns serverseitig im Hintergrund benutzerspezifische Einstellungen vorgenommen, um zufällige Ausgangs-IP-Adressen, NeuroRouting und TrackStop zu aktivieren. Da WireGuard in einem Kernelmodul abläuft gibt es auch keine Userspace Hooks, die es uns ermöglichen würden, diese Einstellungen vorzunehmen. Für WireGuard müssten wir also NeuroRouting, TrackStop usw. deaktivieren, was einen breiten Einsatz von WireGuard nicht möglich macht.

Fazit

WireGuard ist eine interessante Technologie, die zu Recht gerade einen gewissen Hype erfährt. Selbst ein US-Senator hat dem National Institute of Standards and Technology (NIST) bereits vorgeschlagen, WireGuard als Ersatz für IPsec und OpenVPN zu evaluieren. Und auch in den Standard-Linux-Kernel könnte WireGuard bald aufgenommen werden. [1] Vor allem die Vorteile in der Geschwindigkeit und die minimale Code-Länge machen WireGuard zu einer zukunftsträchtigen VPN-Lösung.

Doch wir befürchten, dass wir durch den flächendeckenden Einsatz in unserer VPN-Infrastruktur die Sicherheit unserer Nutzer gefährden würden, da die WireGuard noch nicht für den Produktiveinsatz gedacht ist und wir Verbindungslogs erstellen müssten. Zudem wären wichtige Sicherheitsfeatures wie NeuroRouting und TrackStop mit WireGuard nicht verwendbar.

Deshalb können wir unseren Nutzern WireGuard noch nicht anbieten. Doch wir verfolgen gespannt die weitere Entwicklung und hoffen, dass wir WireGuard in Zukunft einsetzen können.

[1]: https://www.phoronix.com/scan.php?page=news_item&px=WireGuard-Senator-Recommends


Weitere Posts aus 10/2018

Diese Webseite verwendet Cookies zur Analyse der Zugriffe und zur Steuerung unserer Werbung. Wenn Sie diese Seite nutzen, stimmen Sie der Cookie-Nutzung zu. Mehr Informationen finden Sie in unserer Datenschutzerklärung.