Drátěný chránič

drátěný chránič
Typ soukromá virtuální síť
Autor Jason A. Donenfeld
Vývojář Jason A. Donenfeld
Zapsáno v C ( Linux , moduly jádra FreeBSD , NetBSD , ovladače jádra OpenBSD ),
Go ( implementace uživatelského rozhraní )
Operační systém Android
iOS
Linux
FreeBSD
NetBSD
OpenBSD
macOS
Windows 7+
a další
Nejnovější verze
Licence bezplatný open source software
webová stránka wireguard.com
 Mediální soubory na Wikimedia Commons

WireGuard je komunikační protokol a bezplatný a open source software , který implementuje šifrované virtuální privátní sítě (VPN). Byl navržen pro snadnou technologii VPN, vysoký výkon a nízký útočný povrch [2] . WireGuard usiluje o lepší výkon a větší výkon než IPsec a OpenVPN , dva další běžné tunelovací protokoly [3] . Protokol WireGuard přenáší provoz přes protokol UDP [4] .

V březnu 2020 dosáhla verze softwaru pro Linux stabilního produkčního vydání a byla zahrnuta do jádra Linux 5.6 a byla také zpětně portována na dřívější jádra Linuxu v některých distribucích Linuxu [5] . Komponenty linuxového jádra jsou distribuovány pod licencí GNU General Public License verze 2 (GPLv2). Další implementace jsou také pod GPLv2 nebo jinými svobodnými a open source licencemi [2] .

Protokol

WireGuard používá [6] :

V květnu 2019 zveřejnili vědci z INRIA strojově ověřený důkaz protokolu WireGuard generovaný pomocí ověřovacího asistenta CryptoVerif [8] .

Volitelný režim sdíleného symetrického klíče

WireGuard podporuje režim předsdíleného klíče , který poskytuje další vrstvu symetrického šifrování, aby se zabránilo zranitelnosti budoucích pokroků v kvantovém počítání. To odstraňuje riziko, že by se provoz mohl ukládat, dokud kvantové počítače neprolomí Curve25519. Jak se to stane, provoz může být dešifrován. Předem vytvořené sdílené klíče jsou „obvykle obtíží z hlediska správy klíčů a mohou být odcizeny“, ale z krátkodobého hlediska, pokud je symetrický klíč kompromitován, klíče Curve25519 stále poskytují více než dostatečnou ochranu [9] .

Networking

WireGuard používá pouze UDP [10] [6] , což znamená, že nefunguje v sítích, které blokují provoz UDP. To odlišuje WireGuard od svých alternativ, jako je OpenVPN, kvůli mnoha nedostatkům směrování TCP-over-TCP [10] [11] .

WireGuard plně podporuje IPv6 uvnitř i vně tunelu. Podporuje pouze vrstvu 3 pro IPv4 i IPv6 a dokáže zapouzdřit v4-in-v6 a naopak [12] .

WireGuard podporuje několik topologií:

Protože WireGuard podporuje sítě typu point-to-point, lze vytvořit jiné topologie, ale ne ve stejném tunelu.

Rozšiřitelnost

WireGuard je navržen tak, aby byl rozšířen o programy a skripty třetích stran. Mezi pokročilé funkce WireGuard patří: lepší rozhraní pro správu (včetně snadnějšího nastavení klíče), protokolování, dynamické aktualizace firewallu a integrace LDAP .

Vyloučení takto složitých funkcí z minimální kódové základny zvyšuje jeho stabilitu a bezpečnost. Z důvodu bezpečnosti omezuje WireGuard možnosti implementace pro kryptografické kontroly, výběr procesů výměny klíčů a mapuje algoritmy na malou podmnožinu moderních kryptografických primitiv . Pokud je v některém z primitiv nalezena chyba, může být vydána nová verze, která problém opraví. Neprivilegovaní uživatelé navíc nemohou měnit nastavení konfigurace, která ovlivňují bezpečnost celé aplikace [13] .

Dostupnost

Implementace

Implementace protokolu WireGuard zahrnují:

Podpora Linuxu

Mezi programy uživatelského prostoru, které podporují WireGuard, patří:

Historie

První úryvky kódové báze existují od 30. června 2016 [43] . Prvními čtyřmi uživateli WireGuard byly VPN služby Mullvad [44] , AzireVPN [45] , IVPN [46] a cryptostorm [47] . WireGuard obdržel dary od Mullvad, Private Internet Access, IVPN, NLnet Foundation [48] a OVPN [49] .

Od června 2018 vývojáři WireGuard doporučují považovat kód a protokol za experimentální a varují, že dosud nedosáhli stabilního vydání kompatibilního s CVE sledováním jakýchkoliv bezpečnostních zranitelností, které mohou být nalezeny [50] [51] .

Dne 9. prosince 2019 přijal David Miller, hlavní správce linuxového síťového stacku, záplaty WireGuard do stromu správců net-next pro zahrnutí do nadcházejícího jádra [52] [53] [54] .

28. ledna 2020 Linus Torvalds sloučil strom net-next Davida Millera a WireGuard vstoupil do hlavního stromu jádra Linuxu [55] .

20. března 2020 vývojáři Debianu povolili možnosti sestavení modulů pro WireGuard ve své konfiguraci jádra pro Debian verze 11 (testování) [56] .

29. března 2020 byl WireGuard zahrnut do stromu vydání Linuxu 5.6. Verze softwaru pro Windows zůstává v beta verzi [5] .

30. března 2020 přidali vývojáři Androidu nativní podporu pro jádro WireGuard do svého sdíleného obrazu jádra [57] .

Dne 22. dubna 2020 sjednotil vývojář NetworkManager Beniamino Galvani podporu GUI pro WireGuard [58] .

12. května 2020 Matt Dunwoody navrhl opravy pro nativní podporu jádra WireGuard v OpenBSD [59] .

22. června 2020, po práci Matta Dunwoodyho a Jasona Donenfelda, byla podpora WireGuard importována do OpenBSD [60] .

Dne 23. listopadu 2020 Jason Donenfeld vydal aktualizaci balíčku Windows, která zlepšuje instalaci, stabilitu, podporu ARM a podnikové funkce [61] .

29. listopadu 2020 byla podpora WireGuard importována do jádra FreeBSD 13 [19] .

19. ledna 2021 byla přidána podpora WireGuard pro náhled do snímků vývoje pfSense Community Edition (CE) 2.5.0 [62] .

V březnu 2021 byla podpora režimu jádra pro WireGuard odstraněna z FreeBSD 13.0, které bylo stále ve fázi testování, poté, co nebylo možné rychle dokončit nouzové vyčištění kódu ve FreeBSD WireGuard [63] . PfSense Community Edition (CE) 2.5.0 a pfSense Plus 21.02 založené na FreeBSD také odstranily WireGuard založený na jádru [64] .

V květnu 2021 byla podpora WireGuard znovu zavedena do vývojových snímků pfSense CE a pfSense Plus jako experimentální balíček napsaný členem komunity pfSense Christianem McDonaldem. Balíček WireGuard pro pfSense zahrnuje současnou práci Jasona Donenfelda na vývoji režimu jádra na WireGuard, který byl původně sponzorován Netgate [65] [62] [66] .

V červnu 2021 obsahovala oficiální úložiště balíčků pro pfSense CE 2.5.2 a pfSense Plus 21.05 balíček WireGuard [67] .

Recepce

WireGuard si klade za cíl poskytovat jednoduchou a efektivní implementaci virtuální privátní sítě. Recenze společnosti Ars Technica z roku 2018 zjistila, že oblíbené technologie VPN, jako jsou OpenVPN a IPsec , se často obtížně konfigurují, lze je snadno deaktivovat (bez další konfigurace), vyjednávání o opětovném připojení zabere značné množství času, mohou používat zastaralé šifry a mají relativně velké kódové báze s více než 400 000 a 600 000 řádky kódu, což ztěžuje ladění [68] . Návrh WireGuard má za cíl tyto problémy omezit, aby byl tunel ve výchozím nastavení bezpečnější a snadněji ovladatelný. Pomocí verzí kryptografických balíčků se zaměřuje na šifry, které jsou považovány za nejbezpečnější současné šifrovací metody, a v době revize Ars Technica má její kódová základna asi 4000 řádků základního kódu, což je asi 1 % OpenVPN nebo IPsec. , čímž se zjednoduší kontrola bezpečnosti informací .

WireGuard byl chválen tvůrcem linuxového jádra Linusem Torvaldsem, který prohlásil, že jde o „umělecké dílo“ na rozdíl od OpenVPN a IPsec [69] .

Ars Technica uvedla, že při testování byly stabilní tunely snadno vytvořeny pomocí WireGuard ve srovnání s alternativami, a poznamenal, že po použití WireGuard by bylo „obtížné vrátit se“ k dlouhým zpožděním opětovného připojení ve srovnání s okamžitým obnovením připojení WireGuard [68] .

Oregonský senátor Ron Wyden doporučil, aby National Institute of Standards and Technology (NIST) vyhodnotil WireGuard jako náhradu za stávající technologie, jako jsou IPsec a OpenVPN [70] .

Poznámky

  1. https://git.zx2c4.com/wireguard-linux-compat/tag/?h=v1.0.20220627
  2. ↑ 1 2 Jason A. Donenfeld. WireGuard: rychlý, moderní a bezpečný VPN  tunel . www.wireguard.com . Staženo: 4. června 2022.
  3. Bart Preneel, Frederik Vercauteren. Aplikovaná kryptografie a síťová bezpečnost: 16. mezinárodní konference, ACNS 2018, Leuven, Belgie, 2. – 4. července 2018, sborník příspěvků . — Springer, 2018-06-11. — 715 str. — ISBN 978-3-319-93387-0 .
  4. Jason A. Donenfeld. Známá omezení - WireGuard  . www.wireguard.com . Staženo: 4. června 2022.
  5. ↑ 1 2 Jim Salter.  WireGuard VPN se dostává na 1.0.0 – a do dalšího linuxového jádra  ? . Ars Technica (30. března 2020). Staženo: 4. června 2022.
  6. ↑ 1 2 Jason A. Donenfeld. WireGuard: rychlý, moderní a bezpečný VPN  tunel . drátěnka . Získáno 14. června 2022. Archivováno z originálu dne 28. dubna 2018.
  7. Jason A. Donenfeld. Známá omezení - WireGuard  . drátěnka . Staženo: 14. června 2022.
  8. Benjamin Lipp, Bruno Blanchet, Karthikeyan Bhargavan. Mechanizovaný kryptografický důkaz protokolu virtuální privátní sítě WireGuard  . — Inria Paris, 2019-04.
  9. Jason Donenfeld. WireGuard: Síťový tunel jádra nové generace . wireguard.com (2. května 2021).
  10. ↑ 1 2 Jason A. Donenfeld. Známá omezení - WireGuard  . www.wireguard.com . Staženo: 14. června 2022.
  11. Proč je TCP oproti TCP špatný nápad . sites.inka.de . Staženo: 14. června 2022.
  12. Jason A. Donenfeld. WireGuard: Síťový tunel jádra nové generace . wireguard.com (4. března 2018). Archivováno z originálu 25. června 2018.
  13. Wireguard VPN Protocol - Privacy HQ . privacyhq.com . Staženo: 14. června 2022.
  14. Jason A. Donenfeld. WireGuard: rychlý, moderní a bezpečný VPN  tunel . www.wireguard.com . Staženo: 14. června 2022.
  15. BoringTun , implementace WireGuard v uživatelském prostoru v Rustu  . Blog Cloudflare (27. března 2019). Staženo: 14. června 2022.
  16. CloudFlare spouští „BoringTun“ jako Rust-Written WireGuard User-Space  Implementation . www.phoronix.com . Staženo: 14. června 2022.
  17. WireGuard importovaný do OpenBSD . undeadly.org . Staženo: 14. června 2022.
  18. wg(4) - Manuálové stránky NetBSD . man.netbsd.org . Staženo: 14. června 2022.
  19. ↑ 1 2 Importujte podporu jádra WireGuard . svnweb.freebsd.org . Staženo: 14. června 2022.
  20. Jason A. Donenfeld. WireGuardNT, vysoce výkonná implementace WireGuard pro jádro Windows (pondělí 2. srpna 17:27:37 UTC 2021). Staženo: 14. června 2022.
  21. Dokumentace Search-OPNsense . docs.opnsense.org . Staženo: 14. června 2022.
  22. ↑ WireGuard v NetworkManageru – Blog Thomase Hallera   ? . Staženo: 14. června 2022.
  23. Lennart Poettering. systemd v237 (ne 28. ledna 16:08:51 UTC 2018). Staženo: 14. června 2022.
  24. ↑ Intel ConnMan 1.38 vydán s podporou WireGuard  . www.phoronix.com . Staženo: 14. června 2022.
  25. Mozilla VPN: Chraňte celé své zařízení . Mozilla . Staženo: 14. června 2022.
  26. Augustas Radziukas. Aktualizace vývoje 07.02–07.16  (anglicky) . Střední (22. ledna 2021). Staženo: 14. června 2022.
  27. Co je NordLynx? | Podpora NordVPN . support.nordvpn.com _ Staženo: 14. června 2022.
  28. Proč jsme zvolili WireGuard® pro Veeam PN  v2 . Oficiální blog Veeam Software (15. května 2019). Staženo: 14. června 2022.
  29. pivpn/  pivpn . GitHub . Staženo: 14. června 2022.
  30. Co je protokol WireGuard VPN a jak jej používat s VPN Unlimited . www.vpnunlimited.com _ Staženo: 14. června 2022.
  31. WireGuard® na PIA je mimo beta verzi a je k dispozici pro použití na Windows, Mac, Linux, Android a   iOS ? . Blog PIA VPN (10. dubna 2020). Staženo: 14. června 2022.
  32. GitHub - event/hide.client.linux: Hide.me CLI VPN klient pro  Linux . GitHub . Staženo: 14. června 2022.
  33. Rychlý a nepřehledný protokol WireGuard je nyní aktivní na  Surfshark  ? . Surfshark (19. října 2020). Staženo: 14. června 2022.
  34. Ferdinand Thommes.  Ochrana jednoho zdroje » Linux Magazine  . Linuxový časopis . Staženo: 14. června 2022.
  35. Oznámení Unbreakable Enterprise Kernel Release 6 Update 1 pro Oracle Linux . Blog Oracle Linux (12. listopadu 2020).
  36. Co je WireGuard?  (anglicky) . OVPN.com . Staženo: 14. června 2022.
  37. Nové aktualizace oVPN – WireGuard + OpenVPN 2.5 Již brzy!  (ruština)  ? . YouTube . Staženo: 14. června 2022.
  38. Wireguard VPN | TorGuard . torguard.net . Staženo: 14. června 2022.
  39. Protokol VyprVPN WireGuard VPN je tu, aby vás chránil!  (anglicky)  ? . www.androidpimp.com (14. května 2020). Staženo: 14. června 2022.
  40. Představujeme WireGuard  . Větrné klikyháky (16. července 2020). Staženo: 14. června 2022.
  41. Trust.Zone začíná podporovat protokol WireGuard - Trust.Zone . trust.zone . Staženo: 14. června 2022.
  42. ProtonVPN přijímá protokol WireGuard  . PCMAG . Staženo: 14. června 2022.
  43. Index /monoliticko-historický/ . download.wireguard.com . Staženo: 14. června 2022.
  44. Rob Mardisalu. Recenze Mullwad . thebestvpn.com (28. května 2019). Archivováno z originálu 24. června 2019.
  45. John Mason. Recenze AzireVPN . thebestvpn.com . Archivováno z originálu 8. května 2019.
  46. Představujeme WireGuard, plně automatizovaný.  (anglicky)  ? . www.ivpn.net (11. prosince 2018). Staženo: 14. června 2022.
  47. Přidána podpora WireGuard! | cryptostorm blog . cryptostorm.is . Staženo: 14. června 2022.
  48. Jason A. Donenfeld. Dary – WireGuard  . wireguard.com . Získáno 14. června 2022. Archivováno z originálu dne 28. dubna 2018.
  49. OVPN přispívá na podporu WireGuard®  . OVPN.com . Staženo: 14. června 2022.
  50. Jason A. Donenfeld. WireGuard: rychlý, moderní a bezpečný VPN  tunel . www.wireguard.com . Získáno 14. června 2022. Archivováno z originálu dne 25. června 2018.
  51. Instalace – WireGuard . web.archive.org . Získáno 14. června 2022. Archivováno z originálu dne 26. června 2018.
  52. e7096c131e5161fa3b8e52a650d7719d2857adfd – pub/scm/linux/kernel/git/davem/net-next – Git na Googlu . kernel.googlesource.com . Staženo: 14. června 2022.
  53. LKML: David Miller: Re: PATCH net-next v2 net: bezpečný síťový tunel WireGuard . lkml.org . Staženo: 14. června 2022.
  54. OZNÁMENÍ WireGuard byl začleněn do net-next, na cestě k Linuxu 5.6 . web.archive.org . Získáno 14. června 2022. Archivováno z originálu dne 09. ledna 2020.
  55. Linus Torvalds. index: kernel/git/torvalds/linux.git . Zdrojový strom linuxového jádra .
  56. ovladače/síť: Povolit modul WIREGUARD (9d60411c) Zavazuje tým jádra Debianu / linux  GitLab . gitlab . Staženo: 14. června 2022.
  57. Rozdíl - 99761f1eac33d14a4b1613ae4b7076f41cb2df94^! - kernel/common - Git ve společnosti Google . android.googlesource.com _ Staženo: 14. června 2022.
  58. ↑ editor: merge branch 'bg/ wireguard ' (d321d0df) Potvrdí GNOME / network-manager-applet  . gitlab . Staženo: 14. června 2022.
  59. Jason A. Donenfeld. WireGuard for OpenBSD Kernel Patches zveřejněno (út 12. května 08:32:46 CEST 2020). Staženo: 14. června 2022.
  60. 'CVS: cvs.openbsd.org: src' - MARC . marc.info . Staženo: 14. června 2022.
  61. Jason A. Donenfeld. OZNÁMENÍ WireGuard pro Windows 0.3: Podpora ARM, podnikové funkce a další (Pon. 23. listopadu 15:24:57 CET 2020). Staženo: 14. června 2022.
  62. 1 2 WireGuard pro   software pfSense ? . www.netgate.com . Staženo: 14. června 2022.
  63. Tim Anderson. FreeBSD 13.0 bude dodáváno bez podpory WireGuard jako vývojářské kroky k vyřešení „závažných problémů“ s počáteční  implementací . www.theregister.com . Staženo: 14. června 2022.
  64. WireGuard odstraněn ze softwaru pfSense® CE a pfSense®   Plus ? . www.netgate.com . Staženo: 14. června 2022.
  65. ↑ pfSense  : WireGuard se vrací jako experimentální balíček  ? . www.netgate.com . Staženo: 14. června 2022.
  66. wireguard-freebsd - Implementace WireGuard pro jádro FreeBSD . git.zx2c4.com . Staženo: 14. června 2022.
  67. ↑ pfSense Plus 21.05 –  VYDÁNÍ nyní k dispozici  ? . www.netgate.com . Staženo: 14. června 2022.
  68. ↑ 1 2 Jim Salter. Recenze WireGuard VPN: Nový typ VPN nabízí vážné   výhody ? . Ars Technica (26. srpna 2018). Staženo: 14. června 2022.
  69. ↑ S příchodem WireGuard do Linuxu  se VPN navždy změní . ZDNet . Staženo: 14. června 2022.
  70. Americký senátor doporučuje Open-Source WireGuard NIST pro vládní VPN  . www.phoronix.com . Staženo: 14. června 2022.