WireGuard va „veni” la nucleul Linux - de ce?

La sfârșitul lunii iulie, dezvoltatorii tunelului VPN WireGuard au propus set de plasturi, care va face software-ul lor de tunel VPN parte a nucleului Linux. Cu toate acestea, data exactă de implementare a „ideii” rămâne necunoscută. Mai jos de tăiere vom vorbi despre acest instrument mai detaliat.

WireGuard va „veni” la nucleul Linux - de ce?
/ fotografie Tambako Jaguarul CC

Pe scurt despre proiect

WireGuard este un tunel VPN de generație următoare creat de Jason A. Donenfeld, CEO al Edge Security. Proiectul a fost dezvoltat ca simplificat și o alternativă rapidă la OpenVPN și IPsec. Prima versiune a produsului conținea doar 4 mii de linii de cod. Pentru comparație, OpenVPN are aproximativ 120 de mii de linii, iar IPSec - 420 de mii.

Pe conform dezvoltatorilor, WireGuard este ușor de configurat și se realizează securitatea protocolului prin algoritmi criptografici dovediți. La schimbarea rețelei: Wi-Fi, LTE sau Ethernet trebuie să se reconnecteze la serverul VPN de fiecare dată. Serverele WireGuard nu termină conexiunea, chiar dacă utilizatorul a primit o nouă adresă IP.

În ciuda faptului că WireGuard a fost proiectat inițial pentru nucleul Linux, dezvoltatorii a fost in grija și despre o versiune portabilă a instrumentului pentru dispozitive Android. Aplicația nu este încă complet dezvoltată, dar o puteți încerca acum. Pentru asta ai nevoie deveni unul dintre testeri.

În general, WireGuard este destul de popular și chiar a fost implementate mai mulți furnizori VPN, cum ar fi Mullvad și AzireVPN. Publicat online un număr mare ghiduri de configurare această decizie. De exemplu, sunt ghiduri, care sunt create de utilizatori și există ghiduri, elaborat de autorii proiectului.

Tehnic

В documentație oficială (p. 18) se observă că debitul WireGuard este de patru ori mai mare decât cel al OpenVPN: 1011 Mbit/s față de 258 Mbit/s, respectiv. WireGuard este, de asemenea, înaintea soluției standard pentru Linux IPsec - are 881 Mbit/s. De asemenea, îl depășește prin ușurința instalării.

După ce cheile sunt schimbate (conexiunea VPN este inițializată la fel ca SSH) și conexiunea este stabilită, WireGuard se ocupă de toate celelalte sarcini pe cont propriu: nu este nevoie să vă faceți griji cu privire la rutare, controlul stării etc. Eforturile suplimentare de configurare vor fi doar necesar dacă doriți să utilizați criptarea simetrică.

WireGuard va „veni” la nucleul Linux - de ce?
/ fotografie Anders Hojbjerg CC

Pentru a instala, veți avea nevoie de o distribuție cu un nucleu Linux mai vechi de 4.1. Poate fi găsit în depozitele principalelor distribuții Linux.

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

După cum notează editorii xakep.ru, auto-asamblarea din textele sursă este, de asemenea, ușoară. Este suficient să deschideți interfața și să generați chei publice și private:

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

WireGuard nu foloseste interfață pentru lucrul cu un furnizor de cripto CryptoAPI. În schimb, se folosește un cifru de flux ChaCha20, criptografic inserție de imitație Poly1305 și funcții hash criptografice proprietare.

Cheia secretă este generată folosind Protocolul Diffie-Hellman bazată pe curba eliptică Curve25519. La hashing, ei folosesc funcții hash BLAKE2 и SipHash. Datorită formatului de marcaj de timp TAI64N protocolul aruncă pachetele cu o valoare mai mică a marcajului de timp, prin urmare prevenirea DoS- и reluarea atacurilor.

În acest caz, WireGuard utilizează funcția ioctl pentru a controla I/O (utilizată anterior netlink), ceea ce face codul mai curat și mai simplu. Puteți verifica acest lucru uitându-vă la codul de configurare.

Planuri pentru dezvoltatori

Deocamdată, WireGuard este un modul kernel în afara arborelui. Dar autorul proiectului este Jason Donenfeld El vorbește, că a sosit momentul implementării complete în nucleul Linux. Pentru că este mai simplu și mai fiabil decât alte soluții. Jason în acest sens suporturi chiar și Linus Torvalds însuși a numit codul WireGuard o „operă de artă”.

Dar nimeni nu vorbește despre datele exacte pentru introducerea WireGuard în kernel. ȘI cu greu acest lucru se va întâmpla cu lansarea nucleului Linux din august 4.18. Cu toate acestea, există posibilitatea ca acest lucru să se întâmple în viitorul foarte apropiat: în versiunea 4.19 sau 5.0.

Când WireGuard este adăugat la nucleu, dezvoltatorii vrei finalizați aplicația pentru dispozitivele Android și începeți să scrieți o aplicație pentru iOS. Există, de asemenea, planuri de finalizare a implementărilor în Go și Rust și de a le porta pe macOS, Windows și BSD. De asemenea, este planificată implementarea WireGuard pentru mai multe „sisteme exotice”: DPDK, FPGA, precum și multe alte lucruri interesante. Toate sunt enumerate în listă de lucruri de făcut autorii proiectului.

PS Încă câteva articole de pe blogul nostru corporativ:

Direcția principală a activității noastre este furnizarea de servicii cloud:

Infrastructură virtuală (IaaS) | Gazduire PCI DSS | Cloud FZ-152 | Gazduire SAP | Stocare virtuală | Criptarea datelor în cloud | Stocare in cloud

Sursa: www.habr.com

Adauga un comentariu