WireGuard «kommer» till Linux-kĂ€rnan – varför?

I slutet av juli föreslog utvecklarna av VPN-tunneln WireGuard ett antal patchar, vilket kommer att göra deras programvara för att organisera VPN-tunnlar till en del av Linux-kÀrnan. Den exakta datumet för implementering av «planen» Àr fortfarande okÀnt. I nedre delen kommer vi att prata mer ingÄende om detta verktyg.

WireGuard «kommer» till Linux-kĂ€rnan – varför?
/ Ń„ĐŸŃ‚ĐŸ Tambako The Jaguar CC

Kort om projektet

WireGuard Àr en VPN-tunnel av nÀsta generation, skapad av Jason Donenfeld, grundaren av Edge Security. Projektet har utvecklats som en förenklad och snabb alternativ till OpenVPN och IPsec. Den första versionen av produkten innehöll bara 4 000 rader kod. I jÀmförelse innehÄller OpenVPN cirka 120 000 rader, medan IPSec har 420 000.

uttalandet ord Utvecklare, WireGuard Àr enkelt att konfigurera, och sÀkerheten för protokollet uppnÄs genom beprövade kryptografiska algoritmer.. Vid nÀtverksbyte: Wi-Fi, LTE eller Ethernet mÄste man alltid Äteransluta till VPN-servern. WireGuard-servrar bryter inte anslutningen, Àven om anvÀndaren fÄr en ny IP-adress.

Trots att WireGuard ursprungligen Àr anpassad för Linux-kÀrnan, har utvecklarna tÀnkt pÄ och en portabel version av verktyget för Android-enheter. Appen Àr fortfarande under utveckling, men den kan redan testas. För att göra detta mÄste man bli en av testarna..

Överlag har WireGuard stor popularitet och har Ă€ven adopterats av genomförd flera VPN-leverantörer, sĂ„som Mullvad och AzireVPN. Det finns ett stort antal manualer för att konfigurera denna lösning. Till exempel, finns guider, som skapas av anvĂ€ndare, och det finns guider, förberedda av projektets författare..

Tekniska detaljer

I den officiella dokumentationen (s.18) noteras att datagenomströmningen hos WireGuard Ă€r fyra gĂ„nger högre Ă€n hos OpenVPN: 1011 Mbit/s mot 258 Mbit/s respektive. WireGuard övertrĂ€ffar Ă€ven den standardlösning för Linux IPsec – den nĂ„r 881 Mbit/s. Den övertrĂ€ffar ocksĂ„ denna nĂ€r det kommer till enkelhet i konfiguration.

Efter nyckelutbyte (VPN-anslutningen initieras nÀstan som i SSH) och upprÀttande av anslutningen löser WireGuard sjÀlv alla andra uppgifter: det finns ingen anledning att bekymra sig om routing, statuskontroll och liknande. Ytterligare insatser krÀvs endast om man vill anvÀnda symmetrisk kryptering.

WireGuard «kommer» till Linux-kĂ€rnan – varför?
/ Ń„ĐŸŃ‚ĐŸ Anders Hojbjerg CC

För installation behövs en distribution med Linux-kÀrna "Àldre Àn" 4.1. Den kan hittas i repositorierna för de viktigaste Linux-distributionerna.

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

Som redaktörerna pÄ xakep.ru pÄpekar Àr det ocksÄ enkelt att bygga frÄn kÀllkoden. Det rÀcker med att skapa grÀnssnittet och generera öppna och privata nycklar:

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

WireGuard inte grÀnssnitt för arbete med kryptoleverantören CryptoAPI. IstÀllet anvÀnds en strömmande kryptering ChaCha20, kryptografisk autentisering Poly1305 och egna kryptografiska hash-funktioner.

Den hemliga nyckeln genereras med hjÀlp av Diffie-Hellman-protokollet baserat pÄ elliptiska kurvor Curve25519. Vid hashning anvÀnds hash-funktioner BLAKE2 och SipHash. Tack vare tidsstÀmpelformat TAI64N protokollet avvisar paket med lÀgre timestamp-vÀrde, vilket förhindrar DoS- och replay-attacker.

DÀrmed anvÀnder WireGuard ioctl-funktion för att kontrollera in- och utdata (tidigare anvÀndes Netlink), vilket gör koden renare och enklare. Detta kan bekrÀftas genom att titta pÄ konfigurationskoden.

Utvecklarnas planer

Just nu Ă€r WireGuard ett out-of-tree modul för kĂ€rnan. Men projektets skapare Jason Donenfeld sĂ€ger, att det Ă€r dags för en fullstĂ€ndig implementation i Linux-kĂ€rnan. Eftersom den Ă€r enklare och pĂ„litligare Ă€n andra lösningar. Jason i detta avseende att Ă€ven Linus Torvalds sjĂ€lv — han kallade WireGuard-koden "ett mĂ€sterverk".

Men ingen talar för tillfÀllet om exakta datum för implementering av WireGuard i kÀrnan. Och det Àr osannolikt att det kommer att hÀnda med lanseringen av augusti Linux kernel 4.18. Men det finns en möjlighet att det intrÀffar inom en snar framtid: i version 4.19 eller 5.0.

NÀr WireGuard har lagts till i kÀrnan, planerar utvecklarna att fÀrdigstÀlla applikationen för Android-enheter och börja skriva applikationen för iOS. Dessutom planeras det att avsluta implementationerna pÄ Go och Rust och portera dem till macOS, Windows och BSD. WireGuard för mer "exotiska system" planeras ocksÄ: DPDK, FPGA, samt mÄnga andra intressanta saker. Alla listas i att-göra-listan för projektets skapare.

P.S. Fler artiklar frÄn vÄr företagsblogg:

HuvudomrÄdet för vÄr verksamhet Àr att tillhandahÄlla molntjÀnster:

Virtuell infrastruktur (IaaS) | PCI DSS hosting | Moln FZ-152 | SAP-hosting | Virtuell lagringslösning | Kryptering av data i molnet | Molnlagring

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster