Wireguard auf pfsense
-
Hallo,
weiss jemand, ob kurzfristig Wireguard in pfsense integriert wird?
VG Thomas Lauer
-
Guten Abend,
TL;DR: Nein, ist auch momentan kein Thema und die BSD Implementation ist sowohl Alpha-Qualität als auch nicht gerade sehr perfomant.
nein kurzfristig wird das sicherlich nicht kommen, da jetzt erst einmal die Arbeiten an 2.5 relevant sind und es dort kein Feature oder Paket ist. Zudem ist der Stand von Wireguard in den BSDs immer noch ALPHA, auch wenn es einen IMHO unnötig großen Hype um das ganze Thema gibt. Davon abgesehen, gibt es immer noch einige Punkte, die bei näherer Betrachtung bei Wireguard ein großes Fragezeichen aufwerfen, die aber in dem ganzen Hype untergehen. Leider wird hier gerne vergessen, dass das meiste, was momentan in der Presse und Co über Wireguard berichtet wird, sich lediglich auf ein spezfischen Build unter Linux und in dessen Kernel beziehen. Sowohl die Windows Variante als Client als auch die Implementationen auf anderen Plattformen - wie eben BSD - sind hier wesentlich schwächer oder nicht einmal annähernd auf ähnlichem Stand. In BSD bspw. ist Wireguard sehr ähnlich wie OpenVPN nur im Userspace untergebracht und somit kaum nennenswert performanter als Selbiges. Und über der so gefeierten Simplizität (es sind nur X lines of coce) wird leider vergessen, dass Wireguard einen einzelnen Encryption Satz implementiert. Sollte ein Teil oder der komplette Satz kompromittiert sein, müsste man alle Wireguard Installationen und Implementationen komplett ersetzen/patchen bevor man sicher weiterarbeiten kann. Bei IPSEC oder OpenVPN würde man hier lediglich auf einen anderen unterstützten Cipher, Hash oder Encryption Algorithmus wechseln. Man kann hier natürlich wie VPN Betreiber oder auch die Kollegen von OPNsense jetzt loslaufen und das schnell schnell implementieren. Was wir an Performance Tests mit einer opnsense und wireguard hatten sowie die angeblich einfachen Konfiguration konnten wir leider vor 2-3 Monaten nicht feststellen. Performance blieb hinter IPSEC und OVPN zurück, Konfiguration flog uns bei einem einfachen Update der Sense um die Ohren. Inklusive Fehlermeldungen wie "das Konfigurations-Keyword gibt es nicht mehr" - oh nunja. Konfig-Fileformat geändert. Kommt wohl vor.
Es hat schon einen Grund, warum Wireguard selbst auf seiner Seite warnt:
WireGuard is currently working toward a stable 1.0 release. Current snapshots are generally versioned "0.0.YYYYMMDD" or "0.0.V", but these should not be considered real releases and they may contain security quirks (which would not be eligible for CVEs, since this is pre-release snapshot software).Der Daemon unter BSD sagt auch ganz klar beim Start, dass der Code Alpha Status hat und nicht in produktiven Umgebungen verwendet werden soll! Das scheint offenbar aber keinen der VPN Betreiber abzuschrecken, es als Werbeargument zu nutzen, Wireguard zu unterstützen.
Gerade bei Security würde ich persönlich aber lieber auf soliden Code und Software setzen, die im aktuellen Zustand stabil und sicher sind. Wireguard ist da momentan eher eine interessante Laborstudie aber IMHO kein Einsatz für die Praxis.
Sorry für die Länge, aber nachdem man diese "sprichwörtliche Sau" so oft immer wieder "durchs Internet-Dorf" getrieben bekommt, dann muss das mal länger niedergeschrieben werden ;) Um das nochmal kurz einzuwerfen, habe ich überhaupt nichts dagegen, endlich auch einen neuen & einfachen Vertreter zum Thema VPN im Sortiment zu haben. Aber momentan könnte man aus den ganzen Hypes und Berichten meinen, es wäre ein neuer Allheilsbringer auferstanden. Und das sehe ich beim Stand einer Alpha als ziemlich kritisch, wenn ich Anfragen von Firmen (und nichtmal kleinen) bekomme, ob man nicht das tolle neue Ding da mit W einsetzen könnte, weil das doch laut XY so super gut sein soll.
Grüße,
-
+1 Sehr gut geschrieben.
Vermisse nur noch das Vergleich im beziehung zur Flexibilität (darum auch mehr code!).
OpenVPN steht da vorne. -
@JeGr vielen Dank für die ausführliche Antwort. Die hilft mir weiter. Auf der Suche nach dem passenden VPN. Ich muss eine Infrastruktur mir ca. 200 VPNs neu planen, und bin mir nicht sicher was besser ist IPSEC oder OPENVPN.
-
Flexibilität mag ich so noch gar nicht bewerten, solange es keine wirkliche halbwegs stabile Version bzw. mal wenigstens Beta/RC Level gibt, bei der auch die API etc. eingefroren ist und sich nicht ändert. Ob man da später einfach bspw. auf Layer 2 Funktionalität erhalten kann/wird (was ggü. IPSEC bzw. OVPN dann ein echter Vorteil wäre) steht da bspw. noch aus (à la ZeroTier).
Was mich eher abschreckt ist die Qualität in BSD und wie mit dem Crypto und Privacy Part umgegangen wird. Ein paar Kommentare von VPN Anbietern die sich bspw. dagegen entschieden haben, das momentan anzubieten:
Wenn es jedoch um WireGuard geht, werden standardmäßig Endpunkt und erlaubte IP-Adresse in der Serveroberfläche angezeigt, was mit unseren Datenschutzrichtlinien nicht wirklich vereinbar ist. Wir sollten Ihre Quell-IP nicht kennen und können nicht akzeptieren, dass sie auf unseren Servern angezeigt wird.
Für Firmen-/Heim-VPNs erstmal kein großes Problem, für Anbieter aber schon.
WireGuard hat keine dynamische Adressverwaltung, die Client-Adressen sind fest. Das heißt, wir müssten jedes aktive Gerät unserer Kunden registrieren und die statischen IP-Adressen auf jedem unserer VPN-Server vergeben.
Man muss also Clients (zum damaligen Zeitpunkt ggf. auch jetzt noch) fix zuweisen. Aufwändig und umständlich. Dazu kommt:
Außerdem müssten wir den letzten Login-Zeitstempel für jedes Gerät speichern, um nicht verwendete IP-Adressen zurückzugewinnen. Unsere Benutzer könnten Ihre Geräte dann nach einigen Wochen nicht mehr verbinden, da die Adressen neu vergeben worden wären.
Also kein DHCP wie bspw. OpenVPN macht. Wird ein Client nicht mehr benötigt muss man ihn aus der Konfiguration austragen. Unpraktisch.
Auch Datenschutz / DSGVO relevant:
WireGuard eignet sich aufgrund seines Designs nicht für Richtlinien für die uneingeschränkte Protokollierung. Insbesondere wird die letzte öffentliche IP-Adresse des Benutzers auf dem Server gespeichert, mit dem die Verbindung hergestellt wurde, und kann gemäß unserer aktuellen Datenschutzrichtlinie nicht innerhalb eines Tages entfernt werden. Zu einem späteren Zeitpunkt werden wir wahrscheinlich einige Änderungen am Quellcode vornehmen, um die zuletzt verwendete öffentliche IP zu bereinigen oder zu entfernen.
Gerade für User relevant, die VPNs nutzen wollen um sich weiteren "Datenschutz" zu erkaufen:
Wireguard ist in seinem aktuellen Zustand nicht nur gefährlich, weil ihm grundlegende Funktionen fehlen und es sich um eine experimentelle Software handelt, sondern es schwächt auch in gefährlicher Weise die Anonymitätsebene. Unser Service zielt darauf ab, eine gewisse Anonymitätsebene bereitzustellen, daher können wir etwas nicht berücksichtigen, das diese so stark schwächt.
Was ebenfalls auffällt:
- Wireguard hat keine dynamische Adressverwaltung
- WG prüft die Serveridentät nicht. Das würde MITM ermöglichen, liegt aber wohl noch am früher Serverzustand.
- WG funktioniert nur über UDP. TCP ist momentan noch nicht einmal implementiert. Für einige Verbindungen/ISPs ist aber TCP eindeutig stabiler.
- Eine Verbindung via Proxies ist nicht möglich. In einigen Umgebungen aber durchaus notwendig.
- Nur eine einzige Verschlüsselungskette definiert. Kein Umschwenken bei Bekanntwerden von Schwachstellen möglich, es müssen alle Clients/Server/Komponenten aktiv gepatcht werden.
Quellen: u,a. RestorePrivacy und diverse VPN Betreiber
-
@thomaslauer said in Wireguard auf pfsense:
@JeGr vielen Dank für die ausführliche Antwort. Die hilft mir weiter. Auf der Suche nach dem passenden VPN. Ich muss eine Infrastruktur mir ca. 200 VPNs neu planen, und bin mir nicht sicher was besser ist IPSEC oder OPENVPN.
Das hängt ganz von verschiedenen Faktoren ab, aber das haben wir - zumindest bezüglich OpenVPN - sicher auf unserem Workshop schonmal angesprochen ;)
Ansonsten ist das eine Frage was die Skalierbarkeit, Hardware und Beschaffenheit der VPN angeht. Ich vermute es sind Site2Site Tunnel gemeint? Zudem käme dann bei ~200 Tunneln schon die Frage, wie es in Richtung Routingprotokollen etc. aussieht, IP Vergabe/Planung, wer kontrolliert beide Seiten Server/Client etc.
Da könnten wir ggf. aber auch als Firma unterstützen ;)
Beste Grüße
J.G.