WireGuard ist ein Protokoll für VPN-Verbindungen. Der Erfinder Jason Donenfeld, Gründer des Unternehmens Edge Security, ist kein Neuling im Bereich IT-Sicherheit. Er hat WireGuard entwickelt und die Referenzimplementierung in der Programmiersprache Go erstellt. Die existierenden Lösungen wie OpenVPN oder IPSec seien laut Donenfeld zu kompliziert zu konfigurieren und nicht auf modernen kryptografischen Verfahren basierend.
Die große Anzahl an Optionen bei OpenVPN oder IPSec verursache eine sehr große Codebasis, wobei die Referenzimplementierung von WireGuard mit nur 4.000 Zeilen Code innerhalb weniger Stunden durch eine einzelne Person zu begutachten sei. Dies hat auch Linus Torvalds zu einem sehr positiven Feedback verleitet und so fand der WireGuard-Code seine große Zustimmung auf dem Weg in den Linux-Kernel, auch wenn es noch deutlich über ein Jahr dauerte, bis die Kernelspace-Implementierung gemerged wurde.
Im Gegensatz zum Kernelmodul ist die Go-Implementierung performancetechnisch deutlich schlechter. Für Distributionen mit einem älteren Kernel und um WireGuard auch auf Windows-Systemen benutzen zu können, haben die Entwicklungsteams daher weitere Userspace-Implementierungen implementiert.
WireGuard ist Bestandteil des Linux-Kernels und eignet sich im Grunde für den direkten Einsatz mit dem Userspace-Programm wg, das zusammen mit dem VPN auf dem System installiert wird. Falls dieses noch nicht im Kernel enthalten ist oder wenn die Nutzung des Codes im Kernel nicht möglich ist, können Sie mit einem weiteren Userspace-Programm, das sich um die Netzwerkschicht kümmert, Abhilfe schaffen. So lässt sich auch der Standard-Kernel von den Distributoren verwenden, die WireGuard noch nicht unterstützen.
Das Unternehmen Cloudflare entwickelt zu diesem Zweck eine Userspace-Implementierung namens BoringTun in der Programmiersprache
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.