WireGuard do të "vijë" në kernel Linux - pse?

Në fund të korrikut, zhvilluesit e tunelit WireGuard VPN propozuan set patch, i cili do ta bëjë softuerin e tyre të tunelit VPN pjesë të kernelit Linux. Megjithatë, data e saktë e zbatimit të “idesë” mbetet e panjohur. Më poshtë prerjes do të flasim për këtë mjet në më shumë detaje.

WireGuard do të "vijë" në kernel Linux - pse?
/ Foto Tambako Jaguar CC

Shkurtimisht për projektin

WireGuard është një tunel i gjeneratës së ardhshme VPN i krijuar nga Jason A. Donenfeld, CEO i Edge Security. Projekti u zhvillua si thjeshtuar dhe një alternativë e shpejtë për OpenVPN dhe IPsec. Versioni i parë i produktit përmbante vetëm 4 mijë rreshta kodi. Për krahasim, OpenVPN ka rreth 120 mijë rreshta, dhe IPSec - 420 mijë.

Mbi sipas zhvilluesit, WireGuard është i lehtë për t'u konfiguruar dhe siguria e protokollit është arritur përmes algoritmeve të vërtetuara kriptografike. Kur ndërroni rrjetin: Wi-Fi, LTE ose Ethernet duhet të rilidhen me serverin VPN çdo herë. Serverët WireGuard nuk e ndërpresin lidhjen, edhe nëse përdoruesi ka marrë një adresë të re IP.

Përkundër faktit se WireGuard fillimisht ishte krijuar për kernelin Linux, zhvilluesit kujdeset dhe në lidhje me një version portativ të mjetit për pajisjet Android. Aplikacioni nuk është zhvilluar ende plotësisht, por mund ta provoni tani. Për këtë ju duhet bëhuni një nga testuesit.

Në përgjithësi, WireGuard është mjaft popullor dhe madje ka qenë zbatuar disa ofrues VPN, si Mullvad dhe AzireVPN. Publikuar online një numër i madh udhëzues konfigurimi këtë vendim. Për shembull, ka udhërrëfyes, të cilat janë krijuar nga përdoruesit, dhe ka udhëzues, përgatitur nga autorët e projektit.

Detaje teknike

В dokumentacion zyrtar (fq. 18) vihet re se xhiroja e WireGuard është katër herë më e lartë se ajo e OpenVPN: 1011 Mbit/s kundrejt 258 Mbit/s, përkatësisht. WireGuard është gjithashtu përpara zgjidhjes standarde për Linux IPsec - ka 881 Mbit/s. Ai gjithashtu e tejkalon atë në lehtësinë e konfigurimit.

Pasi të shkëmbehen çelësat (lidhja VPN është inicializuar njësoj si SSH) dhe lidhja është vendosur, WireGuard trajton të gjitha detyrat e tjera vetë: nuk ka nevojë të shqetësoheni për rrugëtimin, kontrollin e gjendjes, etj. Përpjekjet shtesë për konfigurimin do të bëhen vetëm kërkohet nëse dëshironi të përdorni enkriptimin simetrik.

WireGuard do të "vijë" në kernel Linux - pse?
/ Foto Anders Hojbjerg CC

Për të instaluar, do t'ju duhet një shpërndarje me një kernel Linux më të vjetër se 4.1. Mund të gjendet në magazinat e shpërndarjeve kryesore Linux.

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

Siç vërejnë redaktorët e xakep.ru, vetë-montimi nga tekstet burimore është gjithashtu i lehtë. Mjafton të hapësh ndërfaqen dhe të gjenerosh çelësa publikë dhe privatë:

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

WireGuard nuk përdor ndërfaqe për të punuar me një ofrues të kriptove CryptoAPI. Në vend të kësaj, përdoret një shifër e transmetimit ChaCha20, kriptografike insert imitues Poly1305 dhe funksione hash kriptografike të pronarit.

Çelësi sekret gjenerohet duke përdorur Protokolli Diffie-Hellman bazuar në kurbë eliptike Curve25519. Kur hash, ata përdorin funksionet hash ZGJIDHNI2 и SipHash. Për shkak të formatit të vulës kohore TAI64N protokolli hedh poshtë paketat me një vlerë më të vogël të vulës kohore, në këtë mënyrë parandalimi i DoS- и përsëriten sulmet.

Në këtë rast, WireGuard përdor funksionin ioctl për të kontrolluar I/O (përdorur më parë netlink), gjë që e bën kodin më të pastër dhe më të thjeshtë. Ju mund ta verifikoni këtë duke shikuar kodi i konfigurimit.

Planet e zhvilluesit

Për momentin, WireGuard është një modul i kernelit jashtë pemës. Por autori i projektit është Jason Donenfeld говорит, se ka ardhur koha për implementim të plotë në kernelin Linux. Sepse është më e thjeshtë dhe më e besueshme se zgjidhjet e tjera. Jason në këtë drejtim mbështet edhe vetë Linus Torvalds e quajti kodin WireGuard një "vepër arti".

Por askush nuk po flet për datat e sakta për futjen e WireGuard në kernel. DHE vështirë se kjo do të ndodhë me lëshimin e kernelit Linux të gushtit 4.18. Sidoqoftë, ekziston mundësia që kjo të ndodhë në të ardhmen shumë të afërt: në versionin 4.19 ose 5.0.

Kur WireGuard shtohet në kernel, zhvilluesit dua finalizoni aplikacionin për pajisjet Android dhe filloni të shkruani një aplikacion për iOS. Ka gjithashtu plane për të përfunduar implementimet në Go dhe Rust dhe për t'i transferuar ato në macOS, Windows dhe BSD. Është planifikuar gjithashtu të zbatohet WireGuard për më shumë "sisteme ekzotike": Dpdk, FPGA, si dhe shumë gjëra të tjera interesante. Të gjithë ata janë të listuar në lista e detyrave autorët e projektit.

PS Disa artikuj të tjerë nga blogu ynë i korporatës:

Drejtimi kryesor i aktivitetit tonë është ofrimi i shërbimeve cloud:

Infrastruktura virtuale (IaaS) | Pritja e PCI DSS | Re FZ-152 | SAP hosting | Ruajtja virtuale | Kriptimi i të dhënave në cloud | Ruajtja në renë kompjuterike

Burimi: www.habr.com

Shto një koment