WireGuard vil "komme" til Linux-kernen - hvorfor?

I slutningen af ​​juli foreslog udviklerne af WireGuard VPN-tunnelen patch sæt, som vil gøre deres VPN-tunneling-software til en del af Linux-kernen. Den nøjagtige dato for implementering af "ideen" er dog stadig ukendt. Under snittet vil vi tale om dette værktøj mere detaljeret.

WireGuard vil "komme" til Linux-kernen - hvorfor?
/ Foto Tambako Jaguaren CC

Kort om projektet

WireGuard er en næste generations VPN-tunnel skabt af Jason A. Donenfeld, administrerende direktør for Edge Security. Projektet er udviklet som forenklet og et hurtigt alternativ til OpenVPN og IPsec. Den første version af produktet indeholdt kun 4 tusind linjer kode. Til sammenligning har OpenVPN omkring 120 tusind linjer og IPSec - 420 tusind.

On ifølge udviklere, er WireGuard nem at konfigurere, og protokolsikkerhed opnås gennem dokumenterede kryptografiske algoritmer. Ved skift af netværk: Wi-Fi, LTE eller Ethernet skal genoprette forbindelse til VPN-serveren hver gang. WireGuard-servere afslutter ikke forbindelsen, selvom brugeren har modtaget en ny IP-adresse.

På trods af at WireGuard oprindeligt var designet til Linux-kernen, var udviklerne ordnet og om en bærbar version af værktøjet til Android-enheder. Applikationen er endnu ikke færdigudviklet, men du kan prøve den nu. Til dette har du brug for blive en af ​​testerne.

Generelt er WireGuard ret populær og har endda været det implementeret flere VPN-udbydere, såsom Mullvad og AzireVPN. Udgivet online et stort antal opsætningsvejledninger denne beslutning. For eksempel, der er guider, som er oprettet af brugere, og der er vejledninger, udarbejdet af projektets forfattere.

Teknisk

В officiel dokumentation (s. 18) bemærkes det, at gennemløbet af WireGuard er fire gange højere end OpenVPN: henholdsvis 1011 Mbit/s mod 258 Mbit/s. WireGuard er også foran standardløsningen til Linux IPsec – den har 881 Mbit/s. Det overgår det også med hensyn til nem opsætning.

Efter at nøglerne er udvekslet (VPN-forbindelsen er initialiseret på samme måde som SSH), og forbindelsen er etableret, håndterer WireGuard alle andre opgaver på egen hånd: Der er ingen grund til at bekymre sig om routing, tilstandskontrol osv. Yderligere konfigurationsindsats vil kun blive udført. påkrævet, hvis du vil bruge symmetrisk kryptering.

WireGuard vil "komme" til Linux-kernen - hvorfor?
/ Foto Anders Højbjerg CC

For at installere skal du bruge en distribution med en Linux-kerne ældre end 4.1. Det kan findes i lagrene af større Linux-distributioner.

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

Som redaktørerne af xakep.ru bemærker, er selvsamling fra kildetekster også let. Det er nok at åbne grænsefladen og generere offentlige og private nøgler:

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

WireGuard ikke bruger grænseflade til at arbejde med en kryptoudbyder CryptoAPI. I stedet bruges en strømchiffer ChaCha20, kryptografisk imiteret indsats Poly1305 og proprietære kryptografiske hash-funktioner.

Den hemmelige nøgle genereres vha Diffie-Hellman protokol baseret på elliptisk kurve Curve25519. Når de hash, bruger de hash-funktioner BLAKE2 и SipHash. På grund af tidsstempelformatet TAI64N protokollen kasserer pakker med en mindre tidsstempelværdi, derved forhindrer DoS- и afspille angreb.

I dette tilfælde bruger WireGuard ioctl-funktionen til at styre I/O (tidligere brugt Netlink), hvilket gør koden renere og enklere. Du kan bekræfte dette ved at se på konfigurationskode.

Udviklerplaner

For nu er WireGuard et kernemodul uden for træet. Men forfatteren til projektet er Jason Donenfeld Han taler, at tiden er inde til fuld implementering i Linux-kernen. Fordi det er enklere og mere pålideligt end andre løsninger. Jason i denne forbindelse bakker op selv kaldte Linus Torvalds selv WireGuard-koden for et "kunstværk".

Men ingen taler om de nøjagtige datoer for introduktionen af ​​WireGuard i kernen. OG næsten dette vil ske med udgivelsen af ​​August Linux-kernen 4.18. Der er dog en mulighed for, at dette vil ske i meget nær fremtid: i version 4.19 eller 5.0.

Når WireGuard føjes til kernen, udvikler vil have færdiggør applikationen til Android-enheder og begynd at skrive en applikation til iOS. Der er også planer om at gennemføre implementeringer i Go og Rust og overføre dem til macOS, Windows og BSD. Det er også planlagt at implementere WireGuard til mere "eksotiske systemer": DPDK, FPGA, samt mange andre interessante ting. Alle er opført i to-do-liste forfattere til projektet.

PS Et par flere artikler fra vores virksomhedsblog:

Hovedretningen for vores aktivitet er levering af cloud-tjenester:

Virtuel infrastruktur (IaaS) | PCI DSS hosting | Cloud FZ-152 | SAP hosting | Virtuel opbevaring | Kryptering af data i skyen | Sky lagring

Kilde: www.habr.com

Tilføj en kommentar