Miért "érkezik" a WireGuard a Linux kernelbe?

Július végén a WireGuard VPN-tunnel fejlesztői javasolták patch csomagot, amely a VPN-tunneling szoftverüket a Linux kernel részévé teszi. Az „ötlet” megvalósításának pontos időpontja azonban még ismeretlen. A tovább mögött részletesebben beszélünk erről az eszközről.

Miért "érkezik" a WireGuard a Linux kernelbe?
/ фото Tambako, A Jaguár CC

Röviden a projektről

A WireGuard egy új generációs VPN-tunnel, amelyet Jason Donenfeld, az Edge Security vezérigazgatója készített. A projektet úgy fejlesztették ki, hogy egyszerűbb és gyors alternatívája legyen az OpenVPN-nek és az IPsec-nek. A termék első verziója mindössze 4 ezer kódsort tartalmazott. Összehasonlításképpen az OpenVPN körülbelül 120 ezer sor, míg az IPSec 420 ezer.

A szavak A fejlesztők szerint a WireGuard könnyen beállítható, és a protokoll biztonságát megbízható kriptográfiai algoritmusok biztosítják.. Hálózat váltásakor: Wi-Fi, LTE vagy Ethernet esetén minden alkalommal újra kell csatlakozni a VPN szerverhez. A WireGuard szerverek viszont nem bontják meg a kapcsolatot, még akkor sem, ha a felhasználó új IP címet kapott.

Bár a WireGuard eredetileg a Linux kernelhez készült, a fejlesztők gondoskodtak a hordozható verzióról is Android eszközökre. Az alkalmazás még nem teljesen kész, de most már kipróbálható. Ehhez tesztelővé kell válni.

Összességében a WireGuard meglehetősen nagy népszerűségnek örvend, és már megvalósították több VPN-szolgáltató, például a Mullvad és AzireVPN is támogatja. Az interneten nagyszámú beállítási útmutató található ehhez a megoldáshoz. Például, vannak útmutatók, amelyeket felhasználók készítettek, és vannak útmutatók, amelyeket a projekt szerzői készítettek..

Technikai részletek

A hivatalos dokumentációban (18. oldalon) megjegyzik, hogy a WireGuard teljesítménye négyszeres a OpenVPN-hez képest: 1011 Mbps a 258 Mbps-hoz képest. A WireGuard a Linux IPsec hagyományos megoldását is megelőzi, amelynek sebessége 881 Mbps. A beállítás egyszerűsége is felülmúlja azt.

A kulcsok cseréje után (a VPN kapcsolat majdnem úgy kezdődik, mint az SSH) és a kapcsolat létrejöttekor a WireGuard önállóan megoldja a többi feladatot: nem szükséges aggódni az útválasztás, az állapotellenőrzés stb. miatt. További erőfeszítések a beállításhoz csak abban az esetben szükségesek, ha szimmetrikus titkosítást szeretnénk alkalmazni.

Miért "érkezik" a WireGuard a Linux kernelbe?
/ фото Anders Hojbjerg CC

A telepítéshez olyan Linux disztribúció szükséges, amelynek kernelje 'több mint' 4.1. Ez megtalálható a fő Linux disztribúciók tárolóiban.

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

Ahogyan azt a xakep.ru szerkesztői megjegyzik, a forráskódokból való önálló összeállítás sem bonyolult. Elég felemelni a felületet és generálni egy nyilvános és egy privát kulcsot:

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

WireGuard nem használ felület a kriptográfiai szolgáltatóval való munkához CryptoAPI. Ahelyett, hogy azt használnák, folytonos titkosítást alkalmaz ChaCha20, kriptográfiai aláírás Poly1305 és saját kriptográfiai hash-funkcióik.

A titkos kulcs generálása . Maga a titkosítás elliptikus görbe alapján Curve25519. Hasholáskor alkalmazzák hash-funkciók BLAKE2 és SipHash. A timestamp formátumának köszönhetően TAI64N a protokoll elveti az alacsonyabb timestamp értékkel rendelkező csomagokat, ezáltal megelőzve a DoS- és replay-támadásokat.

Eközben a WireGuard az ioctl funkciót használja a bemenet/kimenet ellenőrzésére (korábban a Netlink), ami tisztábbá és egyszerűbbé teszi a kódot. Erről megbizonyosodhatunk, ha belenézünk a konfigurációs kódba.

A fejlesztők tervei

Jelenleg a WireGuard egy out-of-tree kernel modul. De a projekt szerzője, Jason Donenfeld mondja, azt állítja, hogy eljött az ideje a Linux kernelbe való teljes megvalósításnak. Mivel ez egyszerűbb és megbízhatóbb, mint a többi megoldás. Jason ennek kapcsán támogatja még Linus Torvalds is — ő a WireGuard kódját "művészi alkotásnak" nevezte.

De senki sem beszél a WireGuard kernelbe való bevezetésének pontos időpontjairól. És valószínűleg ez nem fog megtörténni az augusztusi Linux kernel 4.18 kiadásával. Azonban van esély arra, hogy ez a legközelebbi jövőben megtörténik: a 4.19-es vagy 5.0-ás verzióban.

Amikor a WireGuard bekerül a kernelbe, a fejlesztők akarják fejleszteni az Android-eszközökre szánt alkalmazást és elkezdeni egy iOS-alkalmazás írását. Ezen kívül tervezik a Go és Rust nyelvű megvalósítások befejezését és azok áttételét macOS, Windows és BSD rendszerekre. Továbbá a WireGuard megvalósítása "exotikusabb rendszerekre" is tervben van: DPDK, FPGA, valamint sok más érdekes dolog. Mindazokat a to-do listán a projekt szerzői sorolják fel.

P.S. Még néhány cikk a vállalati blogunkból:

Tevékenységünk fő iránya – felhőszolgáltatások nyújtása:

Virtuális infrastruktúra (IaaS) | PCI DSS hoszting | Felhő FZ-152 | SAP-hoszting | Virtuális tárolórendszer | Adatok titkosítása a felhőben | Felhő alapú tárolás

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster