Ende Juli haben die Entwickler des VPN-Tunnels WireGuard vorgeschlagen , ihre Software zur Einrichtung von VPN-Tunneln Teil des Linux-Kerns zu machen. Der genaue Zeitpunkt für die Umsetzung dieser Idee ist jedoch noch unbekannt. Im Folgenden sprechen wir genauer über dieses Werkzeug.
/ фото
Kurzinformation zum Projekt
WireGuard ist ein VPN-Tunnel der neuen Generation, entwickelt von Jason A. Donenfeld, dem Leiter von Edge Security. Das Projekt wurde als und schnellere Alternative zu OpenVPN und IPsec konzipiert. Die erste Version des Produkts umfasste lediglich 4.000 Zeilen Code. Zum Vergleich: OpenVPN hat etwa 120.000 Zeilen und IPSec rund 420.000.
Nach entwicklerfreundlich, WireGuard lässt sich einfach einrichten, und die Sicherheit des Protokolls wird . : Wi-Fi, LTE oder Ethernet müssen Sie sich jedes Mal neu mit dem VPN-Server verbinden. Die Server von WireGuard unterbrechen jedoch die Verbindung nicht, selbst wenn der Benutzer eine neue IP-Adresse erhält.
Obwohl WireGuard ursprünglich für den Linux-Kernel optimiert ist, haben die Entwickler um eine tragbare Version des Tools für Android-Geräte gekümmert. Die Anwendung ist zwar noch in der Entwicklung, jedoch kann man sie bereits jetzt ausprobieren. Dazu ist es notwendig, .
Insgesamt erfreut sich WireGuard großer Beliebtheit und wurde sogar von mehreren VPN-Anbietern, wie Mullvad und AzireVPN, übernommen. Im Internet sind dieser Lösung verfügbar. Beispielsweise , die von Nutzern erstellt wurden, und es gibt Guides, .
Technische Einzelheiten
In (S. 18) zeigen, dass die Bandbreite von WireGuard viermal höher ist als die von OpenVPN: 1011 Mbit/s im Vergleich zu 258 Mbit/s. WireGuard übertrifft auch die Standardlösung für Linux, IPsec, die 881 Mbit/s erreicht. Zudem überzeugt es durch seine einfache Einrichtung.
Nach dem Austausch der Schlüssel (die VPN-Verbindung wird fast wie bei SSH initiiert) und der Herstellung der Verbindung erledigt WireGuard alle anderen Aufgaben von selbst: Es ist keine Sorge um Routing, Statusüberwachung usw. nötig. Zusätzliche Anstrengungen bei der Einrichtung sind nur erforderlich, wenn symmetrische Verschlüsselung eingesetzt werden soll.

/ фото
Für die Installation wird eine Linux-Distribution mit einem Kernel "älter" als 4.1 benötigt. Diese ist in den Repositories der gängigen Linux-Distributionen zu finden.
$ sudo add-apt-repository ppa:hda-me/wireguard
$ sudo apt update
$ sudo apt install wireguard-dkms wireguard-tools
Laut den Redakteuren von xakep.ru ist es auch nicht kompliziert, die Software selbst aus den Quelltexten zusammenzustellen. Es reicht aus, das Interface zu aktivieren und öffentliche sowie private Schlüssel zu generieren:
$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey
WireGuard ein Interface zur Arbeit mit dem Kryptoprovider . Stattdessen wird ein streambasierter Verschlüsselungsalgorithmus verwendet , kryptografische Poly1305 und eigene kryptografische Hash-Funktionen.
Der geheime Schlüssel wird unter Verwendung des auf Basis einer elliptischen Kurve generiert. Bei der Hashierung werden und . Durch das Format der Zeitstempel stellt das Protokoll sicher, dass Pakete mit einem niedrigeren Zeitstempel verworfen werden, wodurch und .
Dabei verwendet WireGuard die Funktion ioctl zur Kontrolle von Ein- und Ausgaben (früher wurde verwendet), was den Code sauberer und einfacher macht. Das lässt sich überprüfen, indem man den .
einsehen.
Der Entwicklerplan: Bislang ist WireGuard ein Out-of-Tree-Kernelmodul. Aber der Projektautor Jason Donenfeld , was es an der Zeit ist, WireGuard vollständig in den Linux-Kernel zu integrieren, da es einfacher und zuverlässiger als andere Lösungen ist. Jason hingegen nannte den Code von WireGuard sogar ein „Kunstwerk“, so Linus Torvalds selbst.
Über die genauen Termine der Implementierung von WireGuard im Kernel spricht jedoch derzeit noch niemand. Und dass dies mit der Veröffentlichung des August-Pakets des Linux-Kernels 4.18 geschehen wird. Es besteht jedoch die Möglichkeit, dass dies in naher Zukunft sowie in Version 4.19 oder 5.0 passieren wird.
Wenn WireGuard im Kernel hinzugefügt wird, möchten die Entwickler und beginnen, eine Anwendung für iOS zu schreiben. Außerdem ist geplant, die Implementierungen in Go und Rust abzuschließen und diese auf macOS, Windows und BSD zu portieren. Auch die Umsetzung von WireGuard für „exotischere Systeme“ ist geplant: , , sowie viele andere interessante Dinge. Alle sind in der der Autoren des Projekts aufgeführt.
P.S. Hier sind noch einige Artikel aus unserem Unternehmensblog:
Unser Hauptgeschäftsfeld liegt in der Bereitstellung von Cloud-Diensten:
| | | | | |
Quelle: habr.com
