A Linux 5.6 kernelbe beépítették a WireGuard VPN-t.

Ma Linus átvitte a net-next ágat VPN interfészekkel. WireGuard. Erről az eseményről bejelentették a WireGuard levelezőlistájában.

A Linux 5.6 kernelbe beépítették a WireGuard VPN-t.

Jelenleg a Linux 5.6 új kerneléhez szükséges kód gyűjtése zajlik. A WireGuard egy modern VPN, amelyben a legújabb kriptográfiai megoldások valósultak meg. Eredetileg egy egyszerűbb és kényelmesebb alternatívaként fejlesztették ki a létező VPN-ekhez képest. Az alkotója Jason A. Donenfeld, kanadai információbiztonsági szakember. 2018 augusztusában a WireGuard elismerést kapott Linus Torvaldstól. Körülbelül ekkor kezdődött el a VPN kernelbe való beillesztésének munkája. A folyamat kissé elhúzódott.

"Látom, hogy Jason benyújtott egy pul-kérést a WireGuard kernelbe való beillesztésére — írta Linus 2018. augusztus 2-án. — Csak szeretném még egyszer kifejezni a szeretetemet e VPN iránt, és bízom a gyors egyesítésben. Talán a kód nem tökéletes, de átnéztem és az OpenVPN és az IPSec borzalmaihoz képest ez egy igazi műalkotás."

Linus kívánsága ellenére az egyesítés másfél évig elhúzódott. A fő probléma a teljesítmény javítása érdekében alkalmazott saját kriptográfiai funkciókhoz való kötődés volt. Hosszú tárgyalások után 2019 szeptemberében kompromisszumos megoldás született a kernelben lévő Crypto API-ra való átvitelre, amivel a WireGuard fejlesztőinek teljesítménnyel és általános biztonsággal kapcsolatos aggályai voltak. Azonban úgy döntöttek, hogy a WireGuard natív kriptográfiai funkcióit elkülönítik alacsony szintű Zinc API-ként, és idővel portolják őket a kernelbe. Novemberben a kernel fejlesztői betartották az ígéretüket és elfogadták a Zinc-ból származó kód egy részének az alapkernelbe való átvitelét. Például a Crypto API-hoz belekerültek a WireGuard által előkészített ChaCha20 és Poly1305 algoritmusok gyors megvalósításait.

Végül, 2019. december 9-én David S. Miller, aki a Linux kernel hálózati alrendszeréért felelős, accepted a net-next ágon patch-ek a WireGuard projekt VPN interfész megvalósításával.

Ma, 2020. január 29-én a változtatások Linushoz kerültek az kernelbe való beillesztéshez.

A Linux 5.6 kernelbe beépítették a WireGuard VPN-t.

A WireGuard állítólagos előnyei más VPN megoldásokkal szemben:

  • Könnyen használható.
  • Modern kriptográfiát használ: Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF stb.
  • Kompakt és olvasható kód, könnyebben kutatható sebezhetőségek után.
  • Magas teljesítmény.
  • Tiszta és kidolgozott TC39 Legacy RegExp funkciók a JavaScriptben.

A WireGuard fő logikája mindössze 4000 sor kódot igényel, míg az OpenVPN és az IPSec számos százezer sor.

A WireGuard esetében a titkosítási kulcsokon alapuló irányítás koncepciója érvényesül, ami azt jelenti, hogy minden hálózati interfészhez egy privát kulcs kapcsolódik, és a nyilvános kulcsok összekapcsolására használják. A kapcsolatokhoz szükséges nyilvános kulcsok cseréje az SSH-hoz hasonlóan történik. A kulcsok egyeztetésére és a kapcsolódásra külön felhasználói térben futó démon indítása nélkül a Noise_IK mechanizmus alkalmazásával kerül sor Noise Protocol Framework, amely hasonló az authorized_keys fenntartásához az SSH-ban. Az adatátvitel UDP csomagokba történő kapszulázáson keresztül valósul meg. Támogatott a VPN-szerver IP-címének változtatása (roaming) az összeköttetés megszakítása nélkül, automatikus kliens újrakonfigurálással, — Ki vezeti be az IPv6-ot, és mi lassítja annak fejlődését? Opennet.

For encryption használják a stream cipher ChaCha20 and a message authentication algorithm (MAC) AES-256-CTR és, developed by Daniel Bernstein (Daniel J. Bernstein), Tanja Lange és Peter Schwabe. A ChaCha20 és Poly1305 gyorsabb és biztonságosabb alternatívaként vannak pozicionálva az AES-256-CTR-hez és HMAC-hez képest, amelyek szoftveres megvalósítása lehetővé teszi a fix végrehajtási időt speciális hardveres támogatás igénybevétele nélkül. A közös titkos kulcs generálásához elliptikus görbéken végzett Diffie-Hellman protokollt alkalmaznak Curve25519, amelyet Daniel Bernstein is javasolt. A hash-eléshez a következő algoritmust használják: BLAKE2s (RFC7693)».

Eredmények teljesítmény tesztek a hivatalos weboldalról:

Átviteli sebesség (megabit/s)
A Linux 5.6 kernelbe beépítették a WireGuard VPN-t.

Ping (ms)
A Linux 5.6 kernelbe beépítették a WireGuard VPN-t.

Tesztek konfigurációja:

  • Intel Core i7-3820QM és Intel Core i7-5200U
  • Gigabites Intel 82579LM és Intel I218LM hálózati kártyák
  • Linux 4.6.1
  • WireGuard konfiguráció: 256 bites ChaCha20 Poly1305-tel a MAC-hoz
  • Első IPsec konfiguráció: 256 bites ChaCha20 Poly1305-tel a MAC-hoz
  • Második IPsec konfiguráció: AES-256-GCM-128 (AES-NI-vel)
  • OpenVPN konfiguráció: a 256 bites AES HMAC-SHA2-256-tel az UDP módhoz
  • A teljesítményt iperf3, a 30 perces átlagos eredményt mutatva mérték.

Elméletileg, a WireGuard hálózati veremben történő integrálása után még gyorsabban kellene működnie. De a valóságban ez nem feltétlenül igaz az integrált kriptográfiai funkciókra való áttérés miatt, a Crypto API-ra. Lehet, hogy nem minden funkciót optimalizáltak még az eredeti WireGuard sebességéhez.

"Szerintem a WireGuard tökéletes a felhasználók számára. Minden alacsony szintű megoldás szerepel a specifikációban, így a tipikus VPN infrastruktúra előkészítése mindössze néhány percet vesz igénybe. Szerelésben szinte lehetetlen eltéveszteni — írták a Habrán 2018-ban. — A telepítési folyamat részletesen le van írva a hivatalos weboldalon, külön szeretném kiemelni a kiváló támogatást az OpenWRT számára.. A használat egyszerűségét és a kódalap kompakt mivoltát a kulcsok terjesztéséről való lemondással érték el. Itt nincs bonyolult tanúsítványrendszer és az a rengeteg vállalati rémálom, a rövid titkosító kulcsok terjesztése körülbelül úgy történik, mint az SSH-kulcsoké.

A WireGuard projekt 2015 óta fejlődik, átment az auditon és formal verification. A WireGuard támogatása integrálva van a NetworkManagerbe és a systemd-be, a kernelhez készült javítások pedig a Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph és ALT disztribúciók alapcsomagját képezik.

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