Drátěný chránič
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í:
- Point to point (síť)
- Hvězdička (server/klient)
- Koncový bod klienta není nutné definovat, než klient začne odesílat data
- Klientské koncové body lze staticky předdefinovat
- Mesh (síť)
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í:
- Původní Donenfeldova implementace, napsaná v C and Go [14] .
- BoringTun od Cloudflare je implementace uživatelského prostoru napsaná v Rustu [15] [16] .
- Implementace OpenBSD Matta Dunwoodyho napsaná v C [17] .
- Ryota Ozaki implementace wg(4) pro NetBSD , napsaná v C [18] .
- Implementace FreeBSD napsaná v C. Má stejnou datovou cestu jako implementace OpenBSD [19] .
- Implementace nativního jádra Windows s názvem wireguard-nt od srpna 2021 [20] .
- OPNsense prostřednictvím standardního balíčku os-WireGuard [21] .
- pfSense prostřednictvím experimentálního doplňkového balíčku pro pfSense Plus 21.05, pfSense CE 2.5.2 a novější.
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
- ↑ https://git.zx2c4.com/wireguard-linux-compat/tag/?h=v1.0.20220627
- ↑ 1 2 Jason A. Donenfeld. WireGuard: rychlý, moderní a bezpečný VPN tunel . www.wireguard.com . Staženo: 4. června 2022.
- ↑ 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 .
- ↑ Jason A. Donenfeld. Známá omezení - WireGuard . www.wireguard.com . Staženo: 4. června 2022.
- ↑ 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. (neurčitý)
- ↑ 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.
- ↑ Jason A. Donenfeld. Známá omezení - WireGuard . drátěnka . Staženo: 14. června 2022.
- ↑ Benjamin Lipp, Bruno Blanchet, Karthikeyan Bhargavan. Mechanizovaný kryptografický důkaz protokolu virtuální privátní sítě WireGuard . — Inria Paris, 2019-04.
- ↑ Jason Donenfeld. WireGuard: Síťový tunel jádra nové generace . wireguard.com (2. května 2021). (neurčitý)
- ↑ 1 2 Jason A. Donenfeld. Známá omezení - WireGuard . www.wireguard.com . Staženo: 14. června 2022.
- ↑ Proč je TCP oproti TCP špatný nápad . sites.inka.de . Staženo: 14. června 2022. (neurčitý)
- ↑ 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. (neurčitý)
- ↑ Wireguard VPN Protocol - Privacy HQ . privacyhq.com . Staženo: 14. června 2022. (neurčitý)
- ↑ Jason A. Donenfeld. WireGuard: rychlý, moderní a bezpečný VPN tunel . www.wireguard.com . Staženo: 14. června 2022.
- ↑ BoringTun , implementace WireGuard v uživatelském prostoru v Rustu . Blog Cloudflare (27. března 2019). Staženo: 14. června 2022.
- ↑ CloudFlare spouští „BoringTun“ jako Rust-Written WireGuard User-Space Implementation . www.phoronix.com . Staženo: 14. června 2022.
- ↑ WireGuard importovaný do OpenBSD . undeadly.org . Staženo: 14. června 2022. (neurčitý)
- ↑ wg(4) - Manuálové stránky NetBSD . man.netbsd.org . Staženo: 14. června 2022. (neurčitý)
- ↑ 1 2 Importujte podporu jádra WireGuard . svnweb.freebsd.org . Staženo: 14. června 2022. (neurčitý)
- ↑ 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. (neurčitý)
- ↑ Dokumentace Search-OPNsense . docs.opnsense.org . Staženo: 14. června 2022. (neurčitý)
- ↑ WireGuard v NetworkManageru – Blog Thomase Hallera ? . Staženo: 14. června 2022. (neurčitý)
- ↑ Lennart Poettering. systemd v237 (ne 28. ledna 16:08:51 UTC 2018). Staženo: 14. června 2022. (neurčitý)
- ↑ Intel ConnMan 1.38 vydán s podporou WireGuard . www.phoronix.com . Staženo: 14. června 2022.
- ↑ Mozilla VPN: Chraňte celé své zařízení . Mozilla . Staženo: 14. června 2022. (Ruština)
- ↑ Augustas Radziukas. Aktualizace vývoje 07.02–07.16 (anglicky) . Střední (22. ledna 2021). Staženo: 14. června 2022.
- ↑ Co je NordLynx? | Podpora NordVPN . support.nordvpn.com _ Staženo: 14. června 2022. (neurčitý)
- ↑ Proč jsme zvolili WireGuard® pro Veeam PN v2 . Oficiální blog Veeam Software (15. května 2019). Staženo: 14. června 2022.
- ↑ pivpn/ pivpn . GitHub . Staženo: 14. června 2022.
- ↑ Co je protokol WireGuard VPN a jak jej používat s VPN Unlimited . www.vpnunlimited.com _ Staženo: 14. června 2022. (neurčitý)
- ↑ 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. (neurčitý)
- ↑ GitHub - event/hide.client.linux: Hide.me CLI VPN klient pro Linux . GitHub . Staženo: 14. června 2022.
- ↑ Rychlý a nepřehledný protokol WireGuard je nyní aktivní na Surfshark ? . Surfshark (19. října 2020). Staženo: 14. června 2022. (neurčitý)
- ↑ Ferdinand Thommes. Ochrana jednoho zdroje » Linux Magazine . Linuxový časopis . Staženo: 14. června 2022. (neurčitý)
- ↑ Oznámení Unbreakable Enterprise Kernel Release 6 Update 1 pro Oracle Linux . Blog Oracle Linux (12. listopadu 2020). (neurčitý)
- ↑ Co je WireGuard? (anglicky) . OVPN.com . Staženo: 14. června 2022.
- ↑ Nové aktualizace oVPN – WireGuard + OpenVPN 2.5 Již brzy! (ruština) ? . YouTube . Staženo: 14. června 2022. (neurčitý)
- ↑ Wireguard VPN | TorGuard . torguard.net . Staženo: 14. června 2022. (neurčitý)
- ↑ Protokol VyprVPN WireGuard VPN je tu, aby vás chránil! (anglicky) ? . www.androidpimp.com (14. května 2020). Staženo: 14. června 2022. (neurčitý)
- ↑ Představujeme WireGuard . Větrné klikyháky (16. července 2020). Staženo: 14. června 2022.
- ↑ Trust.Zone začíná podporovat protokol WireGuard - Trust.Zone . trust.zone . Staženo: 14. června 2022. (neurčitý)
- ↑ ProtonVPN přijímá protokol WireGuard . PCMAG . Staženo: 14. června 2022.
- ↑ Index /monoliticko-historický/ . download.wireguard.com . Staženo: 14. června 2022. (neurčitý)
- ↑ Rob Mardisalu. Recenze Mullwad . thebestvpn.com (28. května 2019). Archivováno z originálu 24. června 2019. (neurčitý)
- ↑ John Mason. Recenze AzireVPN . thebestvpn.com . Archivováno z originálu 8. května 2019. (neurčitý)
- ↑ Představujeme WireGuard, plně automatizovaný. (anglicky) ? . www.ivpn.net (11. prosince 2018). Staženo: 14. června 2022. (neurčitý)
- ↑ Přidána podpora WireGuard! | cryptostorm blog . cryptostorm.is . Staženo: 14. června 2022. (neurčitý)
- ↑ Jason A. Donenfeld. Dary – WireGuard . wireguard.com . Získáno 14. června 2022. Archivováno z originálu dne 28. dubna 2018.
- ↑ OVPN přispívá na podporu WireGuard® . OVPN.com . Staženo: 14. června 2022.
- ↑ 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.
- ↑ Instalace – WireGuard . web.archive.org . Získáno 14. června 2022. Archivováno z originálu dne 26. června 2018. (neurčitý)
- ↑ e7096c131e5161fa3b8e52a650d7719d2857adfd – pub/scm/linux/kernel/git/davem/net-next – Git na Googlu . kernel.googlesource.com . Staženo: 14. června 2022. (neurčitý)
- ↑ LKML: David Miller: Re: PATCH net-next v2 net: bezpečný síťový tunel WireGuard . lkml.org . Staženo: 14. června 2022. (neurčitý)
- ↑ 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. (neurčitý)
- ↑ Linus Torvalds. index: kernel/git/torvalds/linux.git . Zdrojový strom linuxového jádra . (neurčitý)
- ↑ ovladače/síť: Povolit modul WIREGUARD (9d60411c) Zavazuje tým jádra Debianu / linux GitLab . gitlab . Staženo: 14. června 2022.
- ↑ Rozdíl - 99761f1eac33d14a4b1613ae4b7076f41cb2df94^! - kernel/common - Git ve společnosti Google . android.googlesource.com _ Staženo: 14. června 2022. (neurčitý)
- ↑ editor: merge branch 'bg/ wireguard ' (d321d0df) Potvrdí GNOME / network-manager-applet . gitlab . Staženo: 14. června 2022.
- ↑ 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. (neurčitý)
- ↑ 'CVS: cvs.openbsd.org: src' - MARC . marc.info . Staženo: 14. června 2022. (neurčitý)
- ↑ 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. (neurčitý)
- ↑ 1 2 WireGuard pro software pfSense ? . www.netgate.com . Staženo: 14. června 2022. (neurčitý)
- ↑ 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.
- ↑ WireGuard odstraněn ze softwaru pfSense® CE a pfSense® Plus ? . www.netgate.com . Staženo: 14. června 2022. (neurčitý)
- ↑ pfSense : WireGuard se vrací jako experimentální balíček ? . www.netgate.com . Staženo: 14. června 2022. (neurčitý)
- ↑ wireguard-freebsd - Implementace WireGuard pro jádro FreeBSD . git.zx2c4.com . Staženo: 14. června 2022. (neurčitý)
- ↑ pfSense Plus 21.05 – VYDÁNÍ nyní k dispozici ? . www.netgate.com . Staženo: 14. června 2022. (neurčitý)
- ↑ 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. (neurčitý)
- ↑ S příchodem WireGuard do Linuxu se VPN navždy změní . ZDNet . Staženo: 14. června 2022.
- ↑ Americký senátor doporučuje Open-Source WireGuard NIST pro vládní VPN . www.phoronix.com . Staženo: 14. června 2022.