WireGuard 'komt' in de Linux-kernel — waarom?

Aan het eind van juli hebben de ontwikkelaars van de VPN-tunnel WireGuard voorgesteld een set patches, die hun software voor de organisatie van VPN-tunnels onderdeel van de Linux-kernel zullen maken. Echter, de exacte datum van implementatie van dit 'idee' blijft tot nu toe onbekend. Hieronder bespreken we deze tool in detail.

WireGuard 'komt' in de Linux-kernel — waarom?
/ фото Tambako The Jaguar CC

Korte informatie over het project

WireGuard is een VPN-tunnel van de nieuwe generatie, ontwikkeld door Jason Donenfeld, hoofd van het bedrijf Edge Security. Het project is ontworpen als een vereenvoudigd en snelle alternatief voor OpenVPN en IPsec. De eerste versie van het product bevatte slechts 4.000 regels code. Ter vergelijking, OpenVPN heeft ongeveer 120.000 regels en IPSec 420.000.

Volgens woord ontwikkelaars, WireGuard is eenvoudig in te stellen, en de beveiliging van het protocol wordt bereikt door middel van bewezen cryptografische algoritmen.. Bij het wisselen van netwerk: Wi-Fi, LTE of Ethernet moet je telkens opnieuw verbinding maken met de VPN-server. WireGuard-servers verbreken echter de verbinding niet, zelfs niet als de gebruiker een nieuw IP-adres heeft gekregen.

Ondanks het feit dat WireGuard van oorsprong is ontworpen voor de Linux-kernel, hebben de ontwikkelaars ook gezorgd voor een draagbare versie van de tool voor Android-apparaten. De app is nog niet af, maar je kunt deze inmiddels al uitproberen. Hiervoor moet je een van de testers worden..

Over het algemeen is WireGuard vrij populair en is het zelfs is geïmplementeerd door verschillende VPN-providers, zoals Mullvad en AzireVPN, ingevoerd. Op internet zijn er een groot aantal handleidingen voor het instellen van deze oplossing. Bijvoorbeeld, er zijn gidsen, die door gebruikers zijn gemaakt, en er zijn gidsen, voorbereid door de auteurs van het project..

Technische details

In de officiële documentatie (p.18) is opgemerkt dat de bandbreedte van WireGuard vier keer hoger is dan die van OpenVPN: 1011 Mbit/s tegen 258 Mbit/s respectievelijk. WireGuard overtreft ook de standaardoplossing voor Linux IPsec — dat heeft 881 Mbit/s. Het overtreft het ook in eenvoud van instellen.

Na het uitwisselen van sleutels (de VPN-verbinding wordt bijna op dezelfde manier geïnitieerd als bij SSH) en het tot stand brengen van de verbinding, lost WireGuard automatisch alle andere taken op: er is geen behoefte om je zorgen te maken over routering, statuscontrole, enz. Extra inspanningen voor de instelling zijn alleen nodig als je symmetrische encryptie wilt gebruiken.

WireGuard 'komt' in de Linux-kernel — waarom?
/ фото Anders Hojbjerg CC

Voor de installatie is er een distributie met een Linux-kernel nodig die 'ouder' is dan 4.1. Deze is te vinden in de repositories van de belangrijkste Linux-distributies.

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

Zoals redacteuren van xakep.ru opmerken, is het zelf compileren vanuit de bronbestanden ook niet moeilijk. Het is voldoende om de interface op te zetten en een openbaar en een privé sleutel te genereren:

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

WireGuard gebruikt niet interface voor interactie met de cryptografieleverancier CryptoAPI. In plaats daarvan wordt er een stroomcijfer gebruikt ChaCha20, cryptografisch hashinvoer Poly1305 en zijn eigen cryptografische hashfuncties.

De geheime sleutel wordt gegenereerd met behulp van het Diffie-Hellman-protocol op basis van elliptische krommen Curve25519. Bij het hashen worden hashfuncties BLAKE2 en SipHash. Dankzij het formaat van de tijdstempel TAI64N werpt het protocol pakketten met een lagere tijdstempelwaarde af, waardoor DoS- en replay-aanvallen worden voorkomen..

WireGuard maakt gebruik van de ioctl-functie voor invoer-/uitvoercontrole (vroeger werd er gebruikt gemaakt van Netlink), wat de code netter en eenvoudiger maakt. Dit kan worden bevestigd door te kijken naar de configuratiecode.

Ontwikkelaarsplannen

WireGuard is voorlopig een out-of-tree kernelmodule. Maar de auteur van het project, Jason Donenfeld, zegt, zegt dat het al tijd is voor een volwaardige implementatie in de Linux-kernel. Aangezien het eenvoudiger en betrouwbaarder is dan andere oplossingen. Jason wordt hierin zelfs gesteund door Linus Torvalds — hij noemde de code van WireGuard "een kunstwerk." wordt ondersteund Over exacte data voor de implementatie van WireGuard in de kernel wordt echter nog niets gezegd. En

het is twijfelachtig of dit zal gebeuren met de release van de augustus Linux kernel 4.18. Er is echter een kans dat dit in de zeer nabije toekomst zal gebeuren: in versie 4.19 of 5.0. Wanneer WireGuard aan de kernel wordt toegevoegd, willen de ontwikkelaars

de applicatie voor Android-apparaten verbeteren en beginnen met het schrijven van een app voor iOS. Bovendien is er een plan om de implementaties in Go en Rust af te ronden en deze naar macOS, Windows en BSD te porteren. Ook is er een plan voor de implementatie van WireGuard voor meer "exotische systemen": FPGA , evenals vele andere interessante projecten. Al deze staan in de DPDK, to-do-lijstvan de projectautoren. P.S. Nog een paar artikelen uit onze corporate blog: Cloudtechnologieën in de financiële sector: de ervaringen van Russische bedrijven

Testen van het disk systeem in de cloud

PCI DSS hosting

SAP-hosting | Virtuele SAN | Cloud FZ-152 | Gegevensversleuteling in de cloud | Gegevensversleuteling in de cloud | Gegevensversleuteling in de cloud | Cloudopslag

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster