Ende Juli bot die Entwickler VPN-Tunnel WireGuard eine
Reihe von Patches , die ihre Software machen VPN-Tunnel, Teil des Linux - Kernels zu organisieren. Das genaue Datum für die Umsetzung der „Idee“ ist jedoch noch nicht bekannt. Unter der Katze werden wir ausführlicher über dieses Tool sprechen.
/ Foto Tambako Der Jaguar CCKurz über das Projekt
WireGuard ist der VPN-Tunnel der nächsten Generation, der von Jason A. Donenfeld, Leiter Edge Security, erstellt wurde. Das Projekt wurde als
vereinfachte und flinke Alternative zu OpenVPN und IPsec entwickelt. Die erste Version des Produkts enthielt nur viertausend Codezeilen. Zum Vergleich: In OpenVPN etwa 120.000 Zeilen und in IPSec - 420.000.
Laut
den Entwicklern ist WireGuard einfach zu konfigurieren und die Protokollsicherheit wird
durch bewährte kryptografische Algorithmen erreicht .
Wenn Sie das Netzwerk ändern : Wi-Fi, LTE oder Ethernet, müssen Sie jedes Mal eine neue Verbindung zum VPN-Server herstellen. WireGuard-Server unterbrechen die Verbindung nicht, selbst wenn der Benutzer eine neue IP-Adresse erhalten hat.
Trotz der Tatsache, dass WireGuard ursprünglich für den Linux-Kernel geschärft wurde,
kümmerten sich die Entwickler
um die tragbare Version des Tools für Android-Geräte. Die Anwendung ist noch nicht fertig, aber Sie können sie jetzt in der Praxis ausprobieren. Dazu müssen Sie
einer der Tester werden .
Im Allgemeinen ist WireGuard sehr beliebt und wurde sogar
von mehreren VPN-Anbietern wie Mullvad und AzireVPN implementiert. Das Netzwerk hat eine
Vielzahl von Handbüchern zur Konfiguration dieser Lösung veröffentlicht. Beispielsweise
gibt es Anleitungen , die Benutzer erstellen, und Anleitungen,
die von den Autoren des Projekts erstellt wurden .
Technische Details
In der
offiziellen Dokumentation (S. 18) wird darauf hingewiesen, dass die Bandbreite von WireGuard viermal höher ist als die von OpenVPN: 1011 Mbit / s gegenüber 258 Mbit / s. WireGuard ist der Standard-IPsec-Lösung von Linux voraus - 881 Mbit / s. Es übertrifft es in Bezug auf die einfache Einrichtung.
Nach dem Austausch der Schlüssel (die VPN-Verbindung wird fast wie in SSH initialisiert) und dem Herstellen der Verbindung löst WireGuard alle anderen Aufgaben unabhängig voneinander: Sie müssen sich keine Gedanken über das Routing, die Überwachung des Status usw. machen. Zusätzliche Konfigurationsanstrengungen müssen nur angewendet werden, wenn Sie symmetrische Verschlüsselung verwenden möchten.
/ Foto Anders Hojbjerg CCZur Installation benötigen Sie eine Distribution mit dem Linux-Kernel "älter" 4.1. Es befindet sich in den Repositorys der wichtigsten Linux-Distributionen.
$ sudo add-apt-repository ppa:hda-me/wireguard $ sudo apt update $ sudo apt install wireguard-dkms wireguard-tools
Laut den Herausgebern von xakep.ru ist die Selbstorganisation aus dem Quellcode ebenfalls unkompliziert. Es reicht aus, die Schnittstelle zu öffnen und öffentliche und private Schlüssel zu generieren:
$ sudo ip link add dev wg0 type wireguard $ wg genkey | tee privatekey | wg pubkey > publickey
WireGuard
verwendet keine Schnittstelle, um mit dem Kryptografieanbieter
CryptoAPI zusammenzuarbeiten . Stattdessen werden die Stream-Chiffre
ChaCha20 , die kryptografische
Nachahmung Poly1305 und ihre eigenen kryptografischen Hash-Funktionen verwendet.
Der geheime Schlüssel wird unter Verwendung
des Diffie-Hellman-Protokolls basierend auf der elliptischen Kurve
Curve25519 generiert. Hashing verwendet
die Hash-Funktionen BLAKE2 und
SipHash . Aufgrund des
TAI64N- Zeitstempelformats verwirft das Protokoll Pakete mit einem niedrigeren Zeitstempelwert, wodurch
DoS- und
Wiederholungsangriffe verhindert werden .
Gleichzeitig verwendet WireGuard die ioctl-Funktion zur Steuerung der E / A (zur Verwendung von
Netlink ), wodurch der Code sauberer und einfacher wird. Sie können dies anhand
des Konfigurationscodes überprüfen.
Entwicklerpläne
Bisher ist WireGuard ein Out-of-Tree-Kernelmodul. Der Projektautor Jason Donenfeld
sagt jedoch, dass die Zeit für eine vollständige Implementierung im Linux-Kernel gekommen ist. Da es einfacher und zuverlässiger als andere Lösungen ist. Jason wird in dieser Hinsicht sogar von Linus Torvalds selbst unterstützt - er nannte den WireGuard-Code „ein Kunstwerk“.
Aber niemand spricht über die genauen Daten für die Einführung von WireGuard in den Kernel. Und dies ist mit der Veröffentlichung des Linux-Kernels 4.18 im August
unwahrscheinlich . Es ist jedoch wahrscheinlich, dass dies in naher Zukunft geschehen wird: in Version 4.19 oder 5.0.
Wenn WireGuard zum Kernel hinzugefügt wird,
möchten Entwickler die Anwendung für Android-Geräte verfeinern und mit dem Schreiben einer Anwendung für iOS beginnen. Darüber hinaus ist geplant, die Implementierungen auf Go and Rust abzuschließen und auf macOS, Windows und BSD zu portieren. Es ist auch geplant, WireGuard für "exotischere Systeme" zu implementieren:
DPDK ,
FPGA und viele andere interessante Dinge. Alle von ihnen sind in der
To-Do-Liste der Autoren des Projekts aufgeführt.
PS Noch ein paar Artikel aus unserem Unternehmensblog:
Die Hauptrichtung unserer Aktivitäten ist die Bereitstellung von Cloud-Diensten:
Virtuelle Infrastruktur (IaaS) | PCI DSS Hosting | Wolke FZ-152 | SAP-Hosting | Virtueller Speicher | Datenverschlüsselung in der Cloud | Cloud-Speicher