WireGuard: Avanceret VPN-protokol

WireGuard er en sikkerhedsfokuseret VPN-protokol (virtuel privat netværk), som også har til formål at være hurtigere og simplere end traditionelle protokoller som IKEv2/IPSec og OpenVPN.

Her er nogle af de vigtigste funktioner i WireGuard, som gør den til et attraktivt alternativ:

Hvad er WireGuard?

WireGuard er en moderne netværkstunnelprotokol, der kan blive den nye standard for oprettelse af VPN-forbindelser (virtuel privat netværk). Protokollens effektive og simple tilgang står i skarp kontrast til den store kompleksitet i IPsec- og OpenVPN-protokollerne, som traditionelt udgør fundamentet hos langt de fleste VPN'er. WireGuard undgår disse gamle systemers omfattende konfigurationsmuligheder og lover en nemmere, mere sikker og mere effektiv måde at oprette VPN-forbindelser på.

Wireguards historie

Jason Donenfeld begyndte at udvikle WireGuard tilbage i 2015. Hans arbejde med at hjælpe virksomheder med at finde sårbarheder i deres netværk havde fået Donenfeld til at indse, at de VPN-protokoller, som alle har brugt i de sidste to årtier, var blevet sikkerhedsrisici i sig selv.

Ikke afhængig af IPsec og OpenVPN

De fleste VPN-tjenester er afhængige af IPsec til at skabe sikre tunneler gennem det offentlige internet. Men IPsec er ekstremt svært at implementere korrekt. Kompleksiteten af OpenVPN og andre løsninger i brugerrummet medfører betydelige ydelsesmæssige tab. I begge tilfælde resulterer understøttelse af mange krypteringsprotokoller, nøglefordelingsmetoder og andre funktioner i enorme kodebaser for disse gamle protokoller. Som følge heraf kan VPN-sikkerhedssystemer udnyttes på tværs af en stor angrebsflade.

Nye VPN-protokoller

WireGuard har en meget slankere tilgang til oprettelsen af sikre netværkstunneler, dvs. en væsentlig simplere og lettere kodebase til at skabe selve VPN-forbindelse (tunnelen). I stedet for at gå så meget efter stor fleksibilitet i krypteringsprotokollen, er WireGuard kryptografisk mere meningsfyldt. Ved at bruge specifikke protokoller til hver funktion – f.eks. ChaCha20-kryptering, Curve25519, SipHash24 og BLAKE2s-hashing, bliver WireGuard mere fokuseret og effektiv.

På grund af dette fokus har WireGuard kun omkring 4.000 kodelinjer samlet, sammenlignet med de hundredtusindvis af kodelinjer i en IPsec- eller OpenVPN-implementering. Denne slankere kodebase er meget lettere at kontrollere, hvilket forbedrer sikkerheden og gør WireGuard mere pålidelig.

I marts 2020 blev WireGuard indarbejdet i Linux 5.6-kernen. Ingen ringere end Linus Torvalds var imponeret over kvaliteten af WireGuards kode:

“Jeg må bare endnu engang erklære min kærlighed til den [Wireguard, red.] og håbe, at den snart bliver inkorporeret? Måske er koden ikke perfekt, men jeg har skimmet den, og sammenlignet med de rædsler, som OpenVPN og IPSec er, er det et kunstværk.” -Linus Torvalds

Med tiden vil Linux-distributioner have indbygget understøttelse af WireGuard, hvilket kan føre til en udbredt anvendelse af WireGuard-baserede VPN-løsninger til forbrugere og virksomheder.

Hvad er fordelene ved WireGuard?

Den indsigt Donenfeld fik fra sin erfaring med sårbarhedsforskning var, at IPsec og OpenVPN ved at forsøge at være omfattende blev for komplekse til at sikre eller administrere. WireGuard-projektet kunne tage udgangspunkt i en ny tilgang og give klare fordele for netværkssikkerheden:

Simpel

WireGuard er lige så let at konfigurere og implementere som SSH og eliminerer det overhead, der følger med administration af IPsec- eller OpenVPN-forbindelser. WireGuard håndterer alting på gennemsigtig vis, når den simple nøgleudveksling er afsluttet.

Sikker

WireGuard's mindre kodebase er lettere at auditere og giver en mindre angrebsflade. Desuden udnytter protokollen den nye udvikling inden for kryptering som f.eks. Noise Protocol Framework.

Høj ydelse

WireGuard har en lille kodebase baseret på moderne kryptografiske værktøj og overgår traditionelle VPN-protokoller i den forstand. Ydelsesforbedringen afhænger ikke af hardwareacceleration, hvilket gør WireGuard til et godt valg til smartphones og mobile enheder, med lavere computer-kraft.

Opsummering

Fordele ved Wireguard

  • Wireguard er open source, med anslået ~1% af kodebasen for OpenVPN eller IPsec. Dette reducerer angrebsoverfladen betydeligt og gør det lettere for sikkerhedsforskere at lede efter sårbarheder
  • Den anvender en lille delmængde af moderne kryptografiske protokoller for at øge sikkerheden. Dette reducerer også afhængigheder og den tid, der er nødvendig for at patche potentielle software-sårbarheder
  • Den sender kun trafik over UDP og ikke over TCP. Dette kan være en udfordring i netværk, der ikke tillader UDP-trafik
  • Den understøtter IPv6 fuldt ud, både inden for og uden for VPN-tunnelen
  • Den er platformsuafhængig og fungerer også problemfrit på mobile enheder. Den er næsten 2x hurtigere end OpenVPN i de fleste implementeringer
  • Den understøtter Perfect Forward Secrecy (PFS) for at beskytte brugerdata mod fremtidige angreb
  • Den blev indbygget i Linux-kernen i marts 2020

Ulemper ved WireGuard

Der er dog nogle problemer med privatlivets fred omkring protokollen, nemlig at den gemmer brugernes IP-adresser på VPN-serveren indtil den næste genstart. Selv om dette bestemt kan være et problem, kan du styre risikoen ved at bruge VPN-tjenester med fokus på beskyttelse af personlige oplysninger. Både ExpressVPN, Private Internet Access (PIA) og Mullvad, for at nævne nogle, understøtter WireGuard, gemmer ikke aktivitetslogs (ingen-log-politik) og er alle blandt vores bedste anbefalinger til en VPN-udbyder.

WireGuard er, som nævnt, en relativt ny protokol, som måske ikke bliver bredt accepteret med det samme. Selv om den nu er en del af Linux-kernen, tager det tid for nye funktioner at blive udbredt i Linux-økosystemet, specielt også på baggrund af de mange forskellige Linux-distributioner der findes. WireGuard vil snart være tilgængelig for servere og stationære computere til virksomheder, efterhånden som Linux-distributioner indarbejder nye kerneudgaver (kernels). Om Windows, macOS og mobile styresystemer nogensinde vil understøtte WireGuard som en del af systemet, er desværre endnu uvist.

Selv om WireGuard-projektet har udviklet klientapps til flere platforme, er de ikke komplette sikkerhedsløsninger. Den nye protokol opnår sin enkelhed til dels ved at overlade funktioner som obfuskering til højere sikkerhedslag. Det er således op til sikkerhedsleverandørerne at integrere WireGuard i komplette sikkerhedsløsninger.