Wire vagt

wire vagt
Type virtuelt privat netværk
Forfatter Jason A. Donenfeld
Udvikler Jason A. Donenfeld
Skrevet i C ( Linux , FreeBSD -kernemoduler , NetBSD , OpenBSD -kernedrivere ),
Go ( brugergrænsefladeimplementering )
Operativ system Android
iOS
Linux
FreeBSD
NetBSD
OpenBSD
macOS
Windows 7+
og andre
nyeste version
Licens gratis og open source software
Internet side wireguard.com
 Mediefiler på Wikimedia Commons

WireGuard er en kommunikationsprotokol og gratis og open source-software , der implementerer krypterede virtuelle private netværk (VPN'er). Den er designet til nem VPN-teknologi, høj ydeevne og lav angrebsoverflade [2] . WireGuard sigter efter bedre ydeevne og mere kraft end IPsec og OpenVPN , to andre almindelige tunneling-protokoller [3] . WireGuard-protokollen transmitterer trafik over UDP-protokollen [4] .

I marts 2020 nåede Linux - versionen af ​​softwaren en stabil produktionsudgivelse og blev inkluderet i Linux 5.6-kernen og blev også backporteret til tidligere Linux-kerner i nogle Linux-distributioner [5] . Linux-kernekomponenter distribueres under GNU General Public License version 2 (GPLv2). Andre implementeringer er også under GPLv2 eller andre gratis og open source-licenser [2] .

Protokol

WireGuard bruger [6] :

I maj 2019 offentliggjorde forskere ved INRIA et maskinverificeret bevis på WireGuard-protokollen genereret med CryptoVerif [8] verifikationsassistenten .

Valgfri delt symmetrisk nøgletilstand

WireGuard understøtter en foruddelt nøgle -tilstand , der giver et ekstra lag af symmetrisk kryptering for at forhindre sårbarheder over for fremtidige fremskridt inden for kvanteberegning. Dette fjerner risikoen for, at trafik kan blive lagret, indtil kvantecomputere kan knække Curve25519. Mens dette sker, kan trafikken dekrypteres. Præ-etablerede delte nøgler er "normalt et besvær med hensyn til nøglehåndtering og kan blive stjålet", men på kort sigt, hvis den symmetriske nøgle er kompromitteret, giver Curve25519 nøgler stadig mere end tilstrækkelig beskyttelse [9] .

Netværk

WireGuard bruger kun UDP [10] [6] , hvilket betyder, at det ikke virker på netværk, der blokerer UDP-trafik. Dette adskiller WireGuard fra dets alternativer såsom OpenVPN på grund af de mange mangler ved TCP-over-TCP-routing [10] [11] .

WireGuard understøtter fuldt ud IPv6 både i og uden for tunnelen. Det understøtter kun lag 3 til både IPv4 og IPv6 og kan indkapsle v4-i-v6 og omvendt [12] .

WireGuard understøtter flere topologier:

Da WireGuard understøtter punkt-til-punkt netværk, kan andre topologier laves, men ikke i samme tunnel.

Udvidelsesmuligheder

WireGuard er designet til at blive udvidet med tredjepartsprogrammer og scripts. WireGuards avancerede funktioner omfatter: bedre administrationsgrænseflader (inklusive nemmere nøgleopsætning), logning, dynamiske firewallopdateringer og LDAP -integration .

Udelukkelsen af ​​sådanne komplekse funktioner fra en minimal kodebase øger dens stabilitet og sikkerhed. Af sikkerhedsmæssige årsager begrænser WireGuard implementeringsmulighederne for kryptografiske kontroller, valget af nøgleudvekslingsprocesser og kortlægger algoritmer til en lille undergruppe af moderne kryptografiske primitiver . Hvis der findes en fejl i nogen af ​​primitiverne, vil der muligvis blive frigivet en ny version, der løser problemet. Derudover kan uprivilegerede brugere ikke ændre konfigurationsindstillinger, der påvirker sikkerheden for hele applikationen [13] .

Tilgængelighed

Implementeringer

Implementeringer af WireGuard-protokollen omfatter:

Linux-understøttelse

Userspace-programmer, der understøtter WireGuard inkluderer:

Historie

Tidlige kodebaseuddrag har eksisteret siden 30. juni 2016 [43] . De fire tidlige brugere af WireGuard var VPN-tjenesterne Mullvad [44] , AzireVPN [45] , IVPN [46] og cryptostorm [47] . WireGuard har modtaget donationer fra Mullvad, Private Internet Access, IVPN, NLnet Foundation [48] og OVPN [49] .

Fra juni 2018 råder udviklerne af WireGuard til at betragte koden og protokollen som eksperimentelle og advarer om, at de endnu ikke har nået en stabil udgivelse, der er kompatibel med CVE -sporing af eventuelle sikkerhedssårbarheder, der måtte blive fundet [50] [51] .

Den 9. december 2019 accepterede David Miller, hovedvedligeholderen af ​​Linux-netværksstakken, WireGuard-patches i net-næste vedligeholdelsestræet til inklusion i den kommende kerne [52] [53] [54] .

Den 28. januar 2020 fusionerede Linus Torvalds David Millers net-næste træ, og WireGuard kom ind i Linux-kernetræet [55] .

Den 20. marts 2020 aktiverede Debian -udviklerne modulopbygningsmulighederne for WireGuard i deres kernekonfiguration til Debian version 11 (testning) [56] .

Den 29. marts 2020 blev WireGuard inkluderet i Linux 5.6-udgivelsestræet. Windows-versionen af ​​softwaren forbliver i beta [5] .

Den 30. marts 2020 tilføjede Android -udviklerne indbygget understøttelse af WireGuard-kernen til deres delte kernebillede [57] .

Den 22. april 2020 konsoliderede NetworkManager -udvikler Beniamino Galvani GUI- understøttelse til WireGuard [58] .

Den 12. maj 2020 foreslog Matt Dunwoody rettelser til native WireGuard-kerneunderstøttelse i OpenBSD [59] .

Den 22. juni 2020, efter Matt Dunwoody og Jason Donenfelds arbejde, blev WireGuard-support importeret til OpenBSD [60] .

Den 23. november 2020 udgav Jason Donenfeld en Windows-pakkeopdatering, der forbedrer installation, stabilitet, ARM -understøttelse og virksomhedsfunktioner [61] .

Den 29. november 2020 blev WireGuard-understøttelse importeret til FreeBSD 13 -kernen [19] .

Den 19. januar 2021 blev WireGuard-understøttelse tilføjet til forhåndsvisning i udviklingssnapshots af pfSense Community Edition (CE) 2.5.0 [62] .

I marts 2021 blev kernetilstandsunderstøttelse af WireGuard fjernet fra FreeBSD 13.0, som stadig var i test, efter at en nødkodeoprydning i FreeBSD WireGuard ikke kunne fuldføres hurtigt [63] . PfSense Community Edition (CE) 2.5.0 og FreeBSD-baseret pfSense Plus 21.02 fjernede også kernebaseret WireGuard [64] .

I maj 2021 blev WireGuard-support genindført til pfSense CE- og pfSense Plus-udviklingssnapshots som en eksperimentel pakke skrevet af pfSense-fællesskabsmedlem Christian McDonald. WireGuard-pakken til pfSense inkluderer Jason Donenfelds nuværende udviklingsarbejde i kernetilstand på WireGuard, som oprindeligt blev sponsoreret af Netgate [65] [62] [66] .

I juni 2021 inkluderede de officielle pakkelager til pfSense CE 2.5.2 og pfSense Plus 21.05 WireGuard-pakken [67] .

Modtagelse

WireGuard sigter mod at levere en enkel og effektiv virtuelt privat netværksimplementering. En gennemgang fra 2018 af Ars Technica viste, at populære VPN-teknologier såsom OpenVPN og IPsec ofte er svære at konfigurere, er let deaktiverede (uden yderligere konfiguration), tager en betydelig mængde tid at forhandle genforbindelser, kan bruge forældede cifre og har relativt store kodebaser på henholdsvis over 400.000 og 600.000 linjer kode, hvilket gør fejlfinding vanskelig [68] . Designet af WireGuard har til formål at reducere disse problemer for at gøre tunnelen mere sikker og nemmere at administrere som standard. Ved at bruge versioner af kryptografiske pakker fokuserer den på cifre, der anses for at være blandt de mest sikre nuværende krypteringsmetoder, og på tidspunktet for Ars Technica-gennemgangen har dens kodebase omkring 4000 linjer kernekode, hvilket er omkring 1 % af OpenVPN eller IPsec og dermed forenkle revisionsinformationssikkerheden .

WireGuard er blevet rost af skaberen af ​​Linux-kernen, Linus Torvalds, som udtalte, at det er "et kunstværk" i modsætning til OpenVPN og IPsec [69] .

Ars Technica rapporterede, at der ved testning nemt blev skabt stabile tunneler med WireGuard sammenlignet med alternativer, og bemærkede, at efter brug af WireGuard ville det være "svært at vende tilbage" til lange genforbindelsesforsinkelser sammenlignet med WireGuards øjeblikkelige genforbindelse [68] .

Oregon - senator Ron Wyden anbefalede, at National Institute of Standards and Technology (NIST) evaluerer WireGuard som en erstatning for eksisterende teknologier såsom IPsec og OpenVPN [70] .

Noter

  1. https://git.zx2c4.com/wireguard-linux-compat/tag/?h=v1.0.20220627
  2. ↑ 1 2 Jason A. Donenfeld. WireGuard: hurtig, moderne, sikker VPN-  tunnel . www.wireguard.com . Hentet: 4. juni 2022.
  3. Bart Preneel, Frederik Vercauteren. Anvendt kryptografi og netværkssikkerhed: 16. internationale konference, ACNS 2018, Leuven, Belgien, 2.-4. juli 2018, Proceedings . — Springer, 2018-06-11. — 715 s. — ISBN 978-3-319-93387-0 .
  4. Jason A. Donenfeld. Kendte begrænsninger - WireGuard  . www.wireguard.com . Hentet: 4. juni 2022.
  5. ↑ 1 2 Jim Salter.  WireGuard VPN gør det til 1.0.0 – og ind i den næste Linux-kerne  ? . Ars Technica (30. marts 2020). Hentet: 4. juni 2022.
  6. ↑ 1 2 Jason A. Donenfeld. WireGuard: hurtig, moderne, sikker VPN-  tunnel . wireguard . Hentet 14. juni 2022. Arkiveret fra originalen 28. april 2018.
  7. Jason A. Donenfeld. Kendte begrænsninger - WireGuard  . wireguard . Hentet: 14. juni 2022.
  8. Benjamin Lipp, Bruno Blanchet, Karthikeyan Bhargavan. Et mekaniseret kryptografisk bevis på WireGuard Virtual Private Network Protocol  . — Inria Paris, 2019-04.
  9. Jason Donenfeld. WireGuard: Next Generation Kernel Network Tunnel . wireguard.com (2. maj 2021).
  10. ↑ 1 2 Jason A. Donenfeld. Kendte begrænsninger - WireGuard  . www.wireguard.com . Hentet: 14. juni 2022.
  11. Hvorfor TCP over TCP er en dårlig idé . sites.inka.de . Hentet: 14. juni 2022.
  12. Jason A. Donenfeld. WireGuard: Next Generation Kernel Network Tunnel . wireguard.com (4. marts 2018). Arkiveret fra originalen den 25. juni 2018.
  13. Wireguard VPN Protocol - Privacy HQ . privacyhq.com . Hentet: 14. juni 2022.
  14. Jason A. Donenfeld. WireGuard: hurtig, moderne, sikker VPN-  tunnel . www.wireguard.com . Hentet: 14. juni 2022.
  15. BoringTun , en WireGuard-implementering af brugerområdet i Rust  . Cloudflare-bloggen (27. marts 2019). Hentet: 14. juni 2022.
  16. CloudFlare lancerer "BoringTun" som rustskrevet WireGuard User-Space-  implementering . www.phoronix.com . Hentet: 14. juni 2022.
  17. WireGuard importeret til OpenBSD . undeadly.org . Hentet: 14. juni 2022.
  18. wg(4) - NetBSD Manual Pages . man.netbsd.org . Hentet: 14. juni 2022.
  19. ↑ 1 2 Importer kerne WireGuard-understøttelse . svnweb.freebsd.org . Hentet: 14. juni 2022.
  20. Jason A. Donenfeld. WireGuardNT, en højtydende WireGuard-implementering til Windows-kernen (man 2. august 17:27:37 UTC 2021). Hentet: 14. juni 2022.
  21. Søg - OPNsense dokumentation . docs.opnsense.org . Hentet: 14. juni 2022.
  22. WireGuard i NetworkManager - Thomas Hallers  blog  ? . Hentet: 14. juni 2022.
  23. Lennart Poettering. systemd v237 (søn 28. jan 16:08:51 UTC 2018). Hentet: 14. juni 2022.
  24. ↑ Intel ConnMan 1.38 udgivet med WireGuard-understøttelse  . www.phoronix.com . Hentet: 14. juni 2022.
  25. Mozilla VPN: Beskyt hele din enhed . Mozilla . Hentet: 14. juni 2022.
  26. Augustas Radziukas. Udviklingsopdatering 07.02–07.16  (engelsk) . Medium (22. januar 2021). Hentet: 14. juni 2022.
  27. Hvad er NordLynx? | NordVPN support . support.nordvpn.com _ Hentet: 14. juni 2022.
  28. Hvorfor vi valgte WireGuard® til Veeam PN  v2 . Veeam Software Official Blog (15. maj 2019). Hentet: 14. juni 2022.
  29. pivpn/  pivpn . GitHub . Hentet: 14. juni 2022.
  30. Hvad er WireGuard VPN-protokol, og hvordan man bruger den med VPN Unlimited . www.vpnunlimited.com _ Hentet: 14. juni 2022.
  31. WireGuard® på PIA er ude af beta og tilgængelig til brug på Windows, Mac, Linux, Android og   iOS ? . PIA VPN-blog (10. april 2020). Hentet: 14. juni 2022.
  32. GitHub - event/hide.client.linux: Hide.me CLI VPN-klient til  Linux . GitHub . Hentet: 14. juni 2022.
  33. Hurtig og rodfri WireGuard-protokol er nu live på  Surfshark  ? . Surfshark (19. oktober 2020). Hentet: 14. juni 2022.
  34. Ferdinand Thommes.  Enkeltkildebeskyttelse » Linux Magazine  . Linux Magasinet . Hentet: 14. juni 2022.
  35. Annoncering af Unbreakable Enterprise Kernel Release 6 Update 1 til Oracle Linux . Oracle Linux Blog (12. november 2020).
  36. Hvad er WireGuard?  (engelsk) . OVPN.com . Hentet: 14. juni 2022.
  37. oVPN Nye opdateringer - WireGuard + OpenVPN 2.5 Kommer snart!  (russisk)  ? . YouTube . Hentet: 14. juni 2022.
  38. Wireguard VPN | TorGuard . torguard.net . Hentet: 14. juni 2022.
  39. VyprVPN WireGuard VPN Protocol er her for at beskytte dig!  (engelsk)  ? . www.androidpimp.com (14. maj 2020). Hentet: 14. juni 2022.
  40. Introduktion til WireGuard  . Windscribbles (16. juli 2020). Hentet: 14. juni 2022.
  41. Trust.Zone begynder at understøtte WireGuard Protocol - Trust.Zone . trust.zone . Hentet: 14. juni 2022.
  42. ProtonVPN vedtager WireGuard Protocol  . PCMAG . Hentet: 14. juni 2022.
  43. Indeks over /monolitisk-historisk/ . download.wireguard.com . Hentet: 14. juni 2022.
  44. Rob Mardisalu. Mullwad anmeldelse . thebetvpn.com (28. maj 2019). Arkiveret fra originalen den 24. juni 2019.
  45. John Mason. AzireVPN anmeldelse . thebetvpn.com . Arkiveret fra originalen den 8. maj 2019.
  46. Vi introducerer WireGuard, fuldautomatisk.  (engelsk)  ? . www.ivpn.net (11. december 2018). Hentet: 14. juni 2022.
  47. WireGuard-understøttelse tilføjet! | cryptostorm blog . cryptostorm.is . Hentet: 14. juni 2022.
  48. Jason A. Donenfeld. Donationer - WireGuard  . wireguard.com . Hentet 14. juni 2022. Arkiveret fra originalen 28. april 2018.
  49. OVPN donerer til støtte for WireGuard®  . OVPN.com . Hentet: 14. juni 2022.
  50. Jason A. Donenfeld. WireGuard: hurtig, moderne, sikker VPN-  tunnel . www.wireguard.com . Hentet 14. juni 2022. Arkiveret fra originalen 25. juni 2018.
  51. Installation - WireGuard . web.archive.org . Hentet 14. juni 2022. Arkiveret fra originalen 26. juni 2018.
  52. e7096c131e5161fa3b8e52a650d7719d2857adfd - pub/scm/linux/kernel/git/davem/net-next - Git hos Google . kernel.googlesource.com . Hentet: 14. juni 2022.
  53. LKML: David Miller: Re: PATCH net-next v2 net: WireGuard sikker netværkstunnel . lkml.org . Hentet: 14. juni 2022.
  54. MEDDELELSE WireGuard fusionerede til net-next på vej til Linux 5.6 . web.archive.org . Hentet 14. juni 2022. Arkiveret fra originalen 09. januar 2020.
  55. Linus Torvalds. indeks : kernel/git/torvalds/linux.git . Linux-kernens kildetræ .
  56. drivere/net: Aktiver WIREGUARD som modul (9d60411c) Beretter Debians kerneteam / linux  GitLab . gitlab . Hentet: 14. juni 2022.
  57. Diff - 99761f1eac33d14a4b1613ae4b7076f41cb2df94^! - kernel/common - Git hos Google . android.googlesource.com _ Hentet: 14. juni 2022.
  58. ↑ editor: merge branch 'bg/ wireguard ' (d321d0df) Beretter GNOME / network-manager-applet  . gitlab . Hentet: 14. juni 2022.
  59. Jason A. Donenfeld. WireGuard til OpenBSD Kernel Patches udgivet (tirs 12. maj 08:32:46 CEST 2020). Hentet: 14. juni 2022.
  60. 'CVS: cvs.openbsd.org: src' - MARC . marc.info . Hentet: 14. juni 2022.
  61. Jason A. Donenfeld. ANNONCER WireGuard til Windows 0.3: ARM-understøttelse, virksomhedsfunktioner og mere (man. 23. nov 15:24:57 CET 2020). Hentet: 14. juni 2022.
  62. 1 2 WireGuard til pfSense-   software ? . www.netgate.com . Hentet: 14. juni 2022.
  63. Tim Anderson. FreeBSD 13.0 sendes uden WireGuard-support, når udvikleren træder ind for at løse 'alvorlige problemer' med den indledende  implementering . www.theregister.com . Hentet: 14. juni 2022.
  64. WireGuard Fjernet fra pfSense® CE og pfSense® Plus   Software ? . www.netgate.com . Hentet: 14. juni 2022.
  65. ↑ pfSense  : WireGuard vender tilbage som en eksperimentel pakke  ? . www.netgate.com . Hentet: 14. juni 2022.
  66. wireguard-freebsd - WireGuard-implementering for FreeBSD-kernen . git.zx2c4.com . Hentet: 14. juni 2022.
  67. ↑ pfSense Plus 21.05-  RELEASE nu tilgængelig  ? . www.netgate.com . Hentet: 14. juni 2022.
  68. ↑ 1 2 Jim Salter. WireGuard VPN anmeldelse: En ny type VPN tilbyder alvorlige   fordele ? . Ars Technica (26. august 2018). Hentet: 14. juni 2022.
  69. ↑ VPN'er vil ændre sig for altid med WireGuards ankomst til Linux  . ZDNet . Hentet: 14. juni 2022.
  70. US Senator anbefaler Open-Source WireGuard til NIST for regerings-VPN  . www.phoronix.com . Hentet: 14. juni 2022.