„WireGuard“ „ateis“ į „Linux“ branduolį – kodėl?

Liepos pabaigoje WireGuard VPN tunelio kūrėjai pasiūlė pleistrų rinkinys, todėl jų VPN tuneliavimo programinė įranga taps „Linux“ branduolio dalimi. Tačiau tiksli „idėjos“ įgyvendinimo data lieka nežinoma. Žemiau pjūvio kalbėsime apie šį įrankį išsamiau.

„WireGuard“ „ateis“ į „Linux“ branduolį – kodėl?
/ nuotrauka Tambako Jaguaras CC

Trumpai apie projektą

„WireGuard“ yra naujos kartos VPN tunelis, kurį sukūrė „Edge Security“ generalinis direktorius Jason A. Donenfeld. Projektas buvo sukurtas kaip supaprastinta ir greita alternatyva OpenVPN ir IPsec. Pirmojoje produkto versijoje buvo tik 4 tūkstančiai kodo eilučių. Palyginimui, OpenVPN turi apie 120 tūkstančių eilučių, o IPSec – 420 tūkstančių.

Apie žodžiai kūrėjams, WireGuard lengva konfigūruoti ir pasiekiamas protokolo saugumas naudojant patikrintus kriptografinius algoritmus. Keičiant tinklą: „Wi-Fi“, „LTE“ arba „Ethernet“ reikia kiekvieną kartą iš naujo prisijungti prie VPN serverio. „WireGuard“ serveriai nenutraukia ryšio, net jei vartotojas gavo naują IP adresą.

Nepaisant to, kad WireGuard iš pradžių buvo sukurtas Linux branduoliui, kūrėjai pasirūpinta ir apie nešiojamą įrankio versiją, skirtą „Android“ įrenginiams. Programa dar nėra visiškai sukurta, tačiau galite ją išbandyti dabar. Tam jums reikia tapti vienu iš bandytojų.

Apskritai „WireGuard“ yra gana populiarus ir netgi buvo įgyvendinta keli VPN teikėjai, tokie kaip Mullvad ir AzireVPN. Paskelbta internete didelis skaičius sąrankos vadovai šį sprendimą. Pavyzdžiui, yra vadovai, kuriuos kuria vartotojai, ir yra vadovų, parengė projekto autoriai.

Techniniai duomenys

В oficialius dokumentus (p. 18) pažymima, kad WireGuard pralaidumas yra keturis kartus didesnis nei OpenVPN: atitinkamai 1011 Mbit/s prieš 258 Mbit/s. „WireGuard“ taip pat lenkia standartinį „Linux IPsec“ sprendimą – jis turi 881 Mbit/s. Jis taip pat pranoksta jį lengvu nustatymu.

Pasikeitus raktais (VPN ryšys inicijuojamas panašiai kaip SSH) ir užmezgus ryšį, „WireGuard“ visas kitas užduotis atlieka pati: nereikia jaudintis dėl maršruto parinkimo, būsenos valdymo ir pan. reikalingas, jei norite naudoti simetrinį šifravimą.

„WireGuard“ „ateis“ į „Linux“ branduolį – kodėl?
/ nuotrauka Andersas Hojbjergas CC

Norėdami įdiegti, jums reikės platinimo su senesniu nei 4.1 „Linux“ branduoliu. Jį galima rasti pagrindinių Linux platinimų saugyklose.

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

Kaip pažymi xakep.ru redaktoriai, savarankiškai surinkti iš šaltinio tekstų taip pat lengva. Pakanka atidaryti sąsają ir sugeneruoti viešuosius bei privačius raktus:

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

WireGuard nenaudoja sąsaja darbui su kriptovaliutų tiekėju KriptoAPI. Vietoj to naudojamas srauto šifras „ChaCha20“, kriptografinis imitacinis įdėklas Poly1305 ir patentuotos kriptografinės maišos funkcijos.

Slaptas raktas generuojamas naudojant Diffie-Hellman protokolas remiantis elipsine kreive Curve25519. Kai maišos, jie naudoja maišos funkcijos BLAKE2 и SipHash. Dėl laiko žymos formato TAI64N protokolas atmeta paketus su mažesne laiko žymos reikšme, taigi užkirsti kelią DoS- и kartoti atakas.

Šiuo atveju „WireGuard“ naudoja ioctl funkciją, kad valdytų I/O (anksčiau naudota tinklo nuoroda), todėl kodas tampa aiškesnis ir paprastesnis. Tai galite patikrinti žiūrėdami konfigūracijos kodas.

Kūrėjų planai

Šiuo metu „WireGuard“ yra išorinis branduolio modulis. Tačiau projekto autorius yra Jasonas Donenfeldas jis kalba, kad atėjo laikas visiškai įdiegti „Linux“ branduolyje. Nes jis paprastesnis ir patikimesnis už kitus sprendimus. Jasonas šiuo klausimu palaiko Net pats Linusas Torvaldsas pavadino „WireGuard“ kodą „meno kūriniu“.

Tačiau niekas nekalba apie tikslias „WireGuard“ įvedimo į branduolį datas. IR vargu tai atsitiks, kai bus išleistas August Linux branduolys 4.18. Tačiau yra tikimybė, kad tai įvyks labai netolimoje ateityje: 4.19 arba 5.0 versijoje.

Kai WireGuard pridedamas prie branduolio, kūrėjai nori užbaikite programą „Android“ įrenginiams ir pradėkite rašyti programą „iOS“. Taip pat planuojama užbaigti diegimą „Go and Rust“ ir perkelti juos į „MacOS“, „Windows“ ir BSD. Taip pat planuojama įdiegti „WireGuard“ „egzotiškesnėms sistemoms“: DPDK, FPGA, taip pat daug kitų įdomių dalykų. Visi jie yra išvardyti darbų sąrašas projekto autoriai.

PS Dar keli straipsniai iš mūsų įmonės tinklaraščio:

Pagrindinė mūsų veiklos kryptis – debesų paslaugų teikimas:

Virtuali infrastruktūra (IaaS) | PCI DSS priegloba | Debesis FZ-152 | SAP priegloba | Virtuali saugykla | Duomenų šifravimas debesyje | Debesų saugykla

Šaltinis: www.habr.com

Добавить комментарий