WireGuard wird Teil des Linux-Kernels – warum?

Ende Juli haben die Entwickler des VPN-Tunnels WireGuard vorgeschlagen eine Sammlung von Patches, 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.

WireGuard wird Teil des Linux-Kernels – warum?
/ фото Tambako The Jaguar CC

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 einfachere 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 den entwicklerfreundlich, WireGuard lässt sich einfach einrichten, und die Sicherheit des Protokolls wird durch bewährte kryptografische Algorithmen gewährleistet.. Bei einem Netzwerkwechsel: 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 sich auch 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, werden Sie einer der Tester.

Insgesamt erfreut sich WireGuard großer Beliebtheit und wurde sogar implementiert. von mehreren VPN-Anbietern, wie Mullvad und AzireVPN, übernommen. Im Internet sind viele viele Anleitungen zur Einrichtung dieser Lösung verfügbar. Beispielsweise gibt es Guides, die von Nutzern erstellt wurden, und es gibt Guides, die von den Entwicklern des Projekts verfasst wurden..

Technische Einzelheiten

In offiziellen Dokumentation (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.

WireGuard wird Teil des Linux-Kernels – warum?
/ фото Anders Hojbjerg CC

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 verwendet nicht ein Interface zur Arbeit mit dem Kryptoprovider CryptoAPI. Stattdessen wird ein streambasierter Verschlüsselungsalgorithmus verwendet ChaCha20, kryptografische Authentifizierung Poly1305 und eigene kryptografische Hash-Funktionen.

Der geheime Schlüssel wird unter Verwendung des Diffie-Hellman-Protokolls auf Basis einer elliptischen Kurve generiert. Curve25519Bei der Hashierung werden Hash-Funktionen BLAKE2 und SipHash. Durch das Format der Zeitstempel TAI64N stellt das Protokoll sicher, dass Pakete mit einem niedrigeren Zeitstempel verworfen werden, wodurch DoS- und Replay-Angriffe verhindert werden..

Dabei verwendet WireGuard die Funktion ioctl zur Kontrolle von Ein- und Ausgaben (früher wurde Netlinkverwendet), was den Code sauberer und einfacher macht. Das lässt sich überprüfen, indem man den Konfigurationscode.

einsehen.

Der Entwicklerplan: Bislang ist WireGuard ein Out-of-Tree-Kernelmodul. Aber der Projektautor Jason Donenfeld sagen, 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 unterstützt 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 es ist kaum wahrscheinlic h 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 die App für Android-Geräte weiterentwickeln 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: DPDK, FPGA, sowie viele andere interessante Dinge. Alle sind in der To-Do-Liste 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:

Virtuelle Infrastruktur (IaaS) | PCI DSS Hosting | Cloud FZ-152 | SAP-Hosting | Virtuelles SAN | Datenverschlüsselung in der Cloud | Cloud-Speicher

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster