"Celý WireGuard má jen 4000 řádků."
Mohl bych se zeptat, jak autor k tomuto číslu došel? Když si vezmu naposledy submitnutou sérii (v9), tak mi vychází 48271+/214-, tj. více než dvanáctkrát víc, než se tvrdí v článku. A to je jen kernel, u ostatních řešení autor počítá jádro a userspace dohromady (a u openvpn dokonce započítal i openssl).
To je číslo, které uvádí sám Jason Donenfeld, například ve své prezentaci o WireGuardu [PDF].
Tak to je smutné, zatím jsem si myslel, že ta zavádějící propaganda není dílem samotného autora projektu a že ten je v tom nevinně. :-(
Navíc v té prezentaci nikde nevidím ta obrovská čísla pro openvpn+openssl resp. xfrm+strongswan, takže ta pocházejí odjinud, což jen popporuje mé pochybnosti, jestli byla použita stejná nebo aspoň podobná metodika a jestli jsou ty hodnoty aspoň trochu porovnatelné.
Asi za to může špatná metodika míchající na různých místech kód s knihovnami a bez nich. Můžeme to napravit, asi by bylo nejrozumnější to od těch knihoven očistit a nechat tam data, která uvádí Donenfeld v prezentaci na BlackHat. Tedy 116K OpenVPN, 119K XFRM a 405K StrongSwan. Dává vám to takhle větší smysl?
Jediné, co by dávalo smysl, by bylo, kdyby to porovnání provedl někdo nezávislý, kdo nejdřív stanoví jasnou metodiku, co započítat a co ne, a pak podle stejných pravidel spočítal velikost pro všechny tři varianty. Teď jsem třeba zkusil narychlo xfrm v jádře a vyšlo mi ~23000 řádků včetně dokumentace a selftestů, takže netuším, jak dokázal Jason Donenfeld napočítat čtyřnásobek. Ono to ale stejně nikdy úplně férové nebude - právě proto, že každý z těch projektů dělá něco jiného a je založen na výrazně odlišné filosofii.
Chtěl jsem jen poukázat na to, že ta impozantní čísla z článku jsou tak zavádějící, že až nedávají smysl. A to je právě to, co mne od wireguardu odrazuje. Je docela dobře možné, že je wireguard opravdu tak skvělý, jak se tvrdí; ale ta nekritická propaganda a mediální masáž, to jsou metody, které patří do úplně jiných oborů. Tady to spíš vzbuzuje nedůvěru.
Tak tady mám podobný dojem ohledně propagandy a mediální masáže. Protože už po několikáte zde čtu článek jak je to super a nic víc.
Bohužel jsem se nedozvěděl proč a kam je tato VPN cílena. Takže moje úvaha je:
1. co je cílovým segmentem VPN? Firmy, jednotlivci či SMB?
2. má to bát náhrada IPSec nebo či jen VPN varianta SSH tunelů (zjednodušeně)?
3. je zde podpora autentizace uživatelů?
4. a tak podobně
Ve firemním prostředí se dost používá IPsec ať s PSK či certifikáty, autentizace uživatelů (LDAP atd.), je na tom vybudován celý ekosystém. IPSec je relativně složitý systém očetřují hodně problémů po síti apod.
U WireGuard se akorát píše, že je super jednoduchý (4000 řádek, což bylo vyvráceno) apod.
Prostě mi tu chybí informace, která WireGuard zasadila do nějakého rámce.
Nějaké vlastnosti tam popsané jsou, ale s hodnocením to není tak jednoznačné, jak se články tváří. Třeba ten důraz na jednoduchost, vynechání "zbytečného" handshakingu s tím, že s novým algoritmem se prostě přejde na novou, nekompatibilní verzi. Jistě, vyloučí to určitou třídu problémů, zjednoduší to návrh protokolu a tím pádem i implementaci. Pro jednoduchou VPN mezi počítačem doma a serverem na hostingu nebo mezi dvěma pobočkami to není problém, prostě se udělá upgrade současně na obou stranách. Ale co taková firemní VPN pro přístup několika stovek zaměstnanců? Tam už to bude organizačně docela oříšek.
Nebo to soustředění na moderní (někdo by mohl říci módní) algoritmy. Jsou super, jsou in, ale... jsou opravdu prověřené tak dobře jako třeba AES?
To mi právě vadí na těch nekritických oslavných článcích. Všichni opakují po autorovi, jaké jsou výhody - ale ne všechny jsou opravdu tak jednoznačné a hodnocení může hodně záviset na konkrétní situaci.
Souhlasím.
Chápu popsané důvody vzniku, chápu i nadšení lidí pro to. A Root je server o linuxu a chápu i nadšení tady.
Je zde již několikátý článek o WireGuardu a víceméně adorace. A protože nemám čas se ve všem šťourat, tak by mě to osvětlění k čemu, proč, výhody a nevýhody zajímalo.
Třeba v nějakém příštím článku. Uvidíme.