WireGuard "venerà" à u kernel Linux - perchè?

À a fini di lugliu, i sviluppatori di u tunnel WireGuard VPN pruposti set di patch, chì farà u so software di tunneling VPN parte di u kernel Linux. Tuttavia, a data esatta di implementazione di "idea" resta scunnisciuta. Sottu u cut avemu da parlà di stu strumentu in più dettu.

WireGuard "venerà" à u kernel Linux - perchè?
/ foto Tambako U Jaguar CC

In breve nantu à u prugettu

WireGuard hè un tunnel VPN di prossima generazione creatu da Jason A. Donenfeld, CEO di Edge Security. U prugettu hè statu sviluppatu cum'è simplificatu è una alternativa rapida à OpenVPN è IPsec. A prima versione di u pruduttu cuntene solu 4 mila linee di codice. Per paragunà, OpenVPN hà circa 120 mila linee, è IPSec - 420 mila.

By sicondu sviluppatori, WireGuard hè faciule da cunfigurà è a sicurezza di u protocolu hè ottenuta attraversu algoritmi criptografici pruvati. Quandu cambia a rete: Wi-Fi, LTE o Ethernet anu bisognu di ricunnettersi à u servitore VPN ogni volta. I servitori WireGuard ùn terminanu micca a cunnessione, ancu s'ellu l'utilizatore hà ricevutu un novu indirizzu IP.

Malgradu u fattu chì WireGuard hè statu inizialmente cuncepitu per u kernel Linux, i sviluppatori cura è circa una versione portable di u strumentu per i dispusitivi Android. L'applicazione ùn hè ancu sviluppata cumplettamente, ma pudete pruvà avà. Per questu avete bisognu diventa unu di i testatori.

In generale, WireGuard hè abbastanza populari è ancu statu implementatu parechji fornituri VPN, cum'è Mullvad è AzireVPN. Publicatu in linea una grande quantità guide di installazione sta decisione. Per esempiu, ci sò guide, chì sò creati da l'utilizatori, è ci sò guide, preparatu da l'autori di u prugettu.

Dettagli tecnichi

В documentazione ufficiale (p. 18) hè nutatu chì u throughput di WireGuard hè quattru volte più altu ch'è quellu di OpenVPN: 1011 Mbit/s versus 258 Mbit/s, rispettivamente. WireGuard hè ancu davanti à a suluzione standard per Linux IPsec - hà 881 Mbit/s. U supera ancu in facilità di setup.

Dopu chì i chjavi sò scambiati (a cunnessione VPN hè inizializzata assai cum'è SSH) è a cunnessione hè stabilita, WireGuard gestisce tutte l'altri compiti da sè stessu: ùn ci hè bisognu di preoccupassi di u routing, u cuntrollu di u statu, etc. I sforzi di cunfigurazione supplementari seranu solu solu. necessariu se vulete usà a criptografia simmetrica.

WireGuard "venerà" à u kernel Linux - perchè?
/ foto Anders Hojbjerg CC

Per installà, avete bisognu di una distribuzione cù un kernel Linux più vechju di 4.1. Pò esse truvatu in i repositori di distribuzioni Linux maiò.

$ sudo add-apt-repository ppa:hda-me/wireguard
$ sudo apt update
$ sudo apt install wireguard-dkms wireguard-tools

Cum'è l'editori di xakep.ru nota, l'auto-assemblea da i testi fonte hè ancu faciule. Hè abbastanza per apre l'interfaccia è generà chjavi publichi è privati:

$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey

WireGuard ùn usa micca interfaccia per travaglià cù un fornitore di criptu CryptoAPI. Invece, si usa un cifru di flussu ChaCha20, criptograficu insertu d'imitazione Poly1305 è funzioni di hash criptografiche proprietarie.

A chjave secreta hè generata usendu Protocolu Diffie-Hellman basatu nantu à a curva ellittica Curve25519. Quandu l'hashing, usanu funzioni hash BLAKE 2 и SipHash. A causa di u formatu timestamp TAI64N u protocolu scarta i pacchetti cù un valore di timestamp più chjucu, cusì impediscenu DoS- и replay attacchi.

In questu casu, WireGuard usa a funzione ioctl per cuntrullà l'I / O (usatu prima netlink), chì rende u codice più pulito è simplice. Pudete verificà questu fighjendu codice di cunfigurazione.

Piani di sviluppatore

Per avà, WireGuard hè un modulu di kernel fora di l'arburu. Ma l'autore di u prugettu hè Jason Donenfeld dice, chì u tempu hè ghjuntu per l'implementazione cumpleta in u kernel Linux. Perchè hè più simplice è più affidabile chè altre soluzioni. Jason in questu sensu sustegnu ancu Linus Torvalds stessu hà chjamatu u codice WireGuard un "opera d'arte".

Ma nimu ùn parla di e date precise per l'intruduzioni di WireGuard in u kernel. È à pena questu succederà cù a liberazione di u kernel Linux August 4.18. Tuttavia, ci hè una pussibilità chì questu succede in un futuru assai vicinu: in a versione 4.19 o 5.0.

Quandu WireGuard hè aghjuntu à u kernel, i sviluppatori vulè finalizà l'applicazione per i dispositi Android è cuminciate à scrive una applicazione per iOS. Ci hè ancu piani di cumplettà l'implementazioni in Go è Rust è u portu à macOS, Windows è BSD. Hè ancu previstu di implementà WireGuard per più "sistemi esotici": DPDK, FPGA, è ancu parechje altre cose interessanti. Tutti sò listati in lista da fà autori di u prugettu.

PS Qualchi articuli più da u nostru blog corporativu:

A direzzione principale di a nostra attività hè a prestazione di servizii cloud:

Infrastruttura virtuale (IaaS) | Hosting PCI DSS | Nuvola FZ-152 | hosting SAP | Almacenamiento virtuale | Criptà dati in u nuvulu | Storage in nuvola

Source: www.habr.com

Add a comment