Aan het eind van juli hebben de ontwikkelaars van de VPN-tunnel WireGuard voorgesteld , 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.
/ фото
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 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 ontwikkelaars, WireGuard is eenvoudig in te stellen, en de beveiliging van het protocol wordt bereikt . : 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 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 .
Over het algemeen is WireGuard vrij populair en is het zelfs door verschillende VPN-providers, zoals Mullvad en AzireVPN, ingevoerd. Op internet zijn er deze oplossing. Bijvoorbeeld, , die door gebruikers zijn gemaakt, en er zijn gidsen, .
Technische details
In (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.

/ фото
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 interface voor interactie met de cryptografieleverancier . In plaats daarvan wordt er een stroomcijfer gebruikt , cryptografisch Poly1305 en zijn eigen cryptografische hashfuncties.
De geheime sleutel wordt gegenereerd met behulp van op basis van elliptische krommen . Bij het hashen worden en . Dankzij het formaat van de tijdstempel werpt het protocol pakketten met een lagere tijdstempelwaarde af, waardoor en .
WireGuard maakt gebruik van de ioctl-functie voor invoer-/uitvoercontrole (vroeger werd er gebruikt gemaakt van ), wat de code netter en eenvoudiger maakt. Dit kan worden bevestigd door te kijken naar de .
Ontwikkelaarsplannen
WireGuard is voorlopig een out-of-tree kernelmodule. Maar de auteur van het project, Jason Donenfeld, , 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." Over exacte data voor de implementatie van WireGuard in de kernel wordt echter nog niets gezegd. En
het is twijfelachtig 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": , evenals vele andere interessante projecten. Al deze staan in de , van de projectautoren. Cloudtechnologieën in de financiële sector: de ervaringen van Russische bedrijven
Testen van het disk systeem in de cloud
PCI DSS hosting
| | | | | |
Bron: habr.com
