WireGuard "tuleb" Linuxi tuumale - miks?

Juuli lõpus tegid WireGuard VPN tunneli arendajad ettepaneku plaastri komplekt, mis muudab nende VPN-i tunneldamise tarkvara osaks Linuxi tuumast. “Idee” elluviimise täpne kuupäev jääb aga teadmata. Lõike all räägime sellest tööriistast üksikasjalikumalt.

WireGuard "tuleb" Linuxi tuumale - miks?
/ foto Tambako Jaguar CC

Lühidalt projektist

WireGuard on järgmise põlvkonna VPN-tunnel, mille on loonud Edge Security tegevjuht Jason A. Donenfeld. Projekt töötati välja kui lihtsustatud ja kiire alternatiiv OpenVPN-ile ja IPsecile. Toote esimene versioon sisaldas ainult 4 tuhat koodirida. Võrdluseks - OpenVPN-il on umbes 120 tuhat rida ja IPSecil - 420 tuhat rida.

Edasi sõnad arendajate jaoks on WireGuardi lihtne konfigureerida ja protokolli turvalisus on saavutatud tõestatud krüptoalgoritmide kaudu. Võrgu vahetamisel: Wi-Fi, LTE või Ethernet peavad VPN-serveriga iga kord uuesti ühenduse looma. WireGuardi serverid ei katkesta ühendust isegi siis, kui kasutaja on saanud uue IP-aadressi.

Hoolimata asjaolust, et WireGuard oli algselt loodud Linuxi kerneli jaoks, arendajad hoolitsetud ja Android-seadmetele mõeldud tööriista kaasaskantava versiooni kohta. Rakendus pole veel täielikult välja töötatud, kuid saate seda kohe proovida. Selleks vajate saada üheks testijaks.

Üldiselt on WireGuard üsna populaarne ja on isegi olnud rakendatud mitu VPN-i pakkujat, näiteks Mullvad ja AzireVPN. Avaldatud Internetis suur arv seadistusjuhendid see otsus. Näiteks, seal on juhendid, mille on loonud kasutajad ja seal on juhendid, koostanud projekti autorid.

Tehnilised andmed

В ametlik dokumentatsioon (lk 18) märgitakse, et WireGuardi läbilaskevõime on neli korda suurem kui OpenVPN-il: vastavalt 1011 Mbit/s versus 258 Mbit/s. WireGuard edestab ka Linuxi IPseci standardlahendust – sellel on 881 Mbit/s. See ületab selle ka seadistamise lihtsuse poolest.

Pärast võtmete vahetamist (VPN-ühendus lähtestatakse sarnaselt SSH-ga) ja ühenduse loomine tegeleb WireGuard kõigi muude ülesannetega ise: pole vaja muretseda marsruutimise, olekukontrolli jms pärast. nõutav, kui soovite kasutada sümmeetrilist krüptimist.

WireGuard "tuleb" Linuxi tuumale - miks?
/ foto Anders Hojbjerg CC

Installimiseks vajate distributsiooni, mille Linuxi kernel on vanem kui 4.1. Seda võib leida suuremate Linuxi distributsioonide hoidlatest.

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

Nagu xakep.ru toimetajad märgivad, on ka lähtetekstide põhjal ise kokkupanek lihtne. Piisab liidese avamisest ning avalike ja privaatvõtmete genereerimisest:

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

WireGuard ei kasuta liides krüptoteenuse pakkujaga töötamiseks KrüptoAPI. Selle asemel kasutatakse voošifrit ChaCha20, krüptograafiline imitatsioon vahetükk Poly1305 ja patenteeritud krüptograafiline räsifunktsioon.

Salavõti genereeritakse kasutades Diffie-Hellmani protokoll põhineb elliptilisel kõveral Curve25519. Räsimisel kasutavad nad räsifunktsioonid PLEK2 и SipHash. Ajatempli formaadi tõttu TAI64N protokoll hülgab väiksema ajatempli väärtusega paketid, seega DoS-i vältimine и rünnakuid korrata.

Sel juhul kasutab WireGuard I/O juhtimiseks funktsiooni ioctl (varem kasutatud netlink), mis muudab koodi puhtamaks ja lihtsamaks. Saate seda kontrollida vaadates konfiguratsioonikood.

Arendaja plaanid

Praegu on WireGuard puust väljas olev kerneli moodul. Kuid projekti autor on Jason Donenfeld говорит, et on saabunud aeg Linuxi tuumas täielikuks juurutamiseks. Sest see on teistest lahendustest lihtsam ja töökindlam. Jason sellega seoses toetab isegi Linus Torvalds ise nimetas WireGuardi koodi "kunstiteoseks".

Kuid keegi ei räägi WireGuardi tuumasse juurutamise täpsetest kuupäevadest. JA vaevalt see juhtub augustikuu Linuxi kerneli 4.18 väljalaskmisega. Siiski on võimalus, et see juhtub lähiajal: versioonis 4.19 või 5.0.

Kui WireGuard lisatakse kernelile, arendajad taha viimistlege Android-seadmete rakendus ja alustage iOS-i rakenduse kirjutamist. Samuti on plaanis viia lõpule rakendused Go ja Rust ning portida need macOS-i, Windowsi ja BSD-sse. Samuti on kavas rakendada WireGuardi eksootilisemate süsteemide jaoks: DPDK, FPGA, aga ka palju muud huvitavat. Kõik need on loetletud nimekiri projekti autorid.

PS Veel mõned artiklid meie ettevõtte blogist:

Meie tegevuse põhisuunaks on pilveteenuste pakkumine:

Virtuaalne infrastruktuur (IaaS) | PCI DSS-i hostimine | Pilv FZ-152 | SAP-hostimine | Virtuaalne salvestusruum | Andmete krüptimine pilves | Pilvesalvestus

Allikas: www.habr.com

Lisa kommentaar