WireGuardNT - a WireGuard VPN megoldás implementációja Windows kernelhez

Beteszi a lábát a Windows világba is a WireGuard VPM megoldás. Jason A. Donenfeld tegnap jelentette be a projekt levelezési listáján, hogy kollégájával végzett több hónapos kemény munka eredményeként előállt a WireGuardNT, ami a WireGuard natív portja Windows kernelhez:

Hey everyone,

After many months of work, Simon and I are pleased to announce the WireGuardNT project, a native port of WireGuard to the Windows kernel. This has been a monumental undertaking, and if you've noticed that I haven't read emails in about two months, now you know why.

[...]

Részletek a bejelentésben,

Hozzászólások

Lassan el fog terjedni, mert célhardvert nem igényel és roppant gyors (ARM SBC: 1 Gbps). Egyúttal kevésbé zabálja az ARM-os akkus cuccokat.
X86 esetén szintén gyors, 10 wattos Celeronon is az 1Gbps tempót tudja.
Linux kernelben sok szálon párhuzamosított egyadott peer titkosítása esetén is, tehát jól használja a sokmagos architektúrákat.
Egyszerű konfigurálni. UDP felett megy.

Persze nem mindenre ez az optimális megoldás, de sok helyre meggondolandó ennek a használata.
Az iménti hír szerint most már Windows esetén is gyors lesz.

A "klasszikus" routergyártóknál (Cisco, Juniper, ...) viszont egyelőre nem látni, hogy lesz-e vagy sem a jövőben. Oda marad az IPsec.
Ahol már használható VPN-re:
   - BSD, Linux, MAC, Windows
   - Android (telefon, tablet, ...  általában akkus cuccok)
   - OpenWRT routerek
   - Mikrotik routerek ROS7 ág

https://tailscale.com/blog/why-not-why-not-wireguard/

Az eredeti cikkben (ami szerintem merő egy hülyeség) :

Will WireGuard replace my (IPsec) site-to-site VPN?

No. There is no chance the big vendors like Cisco, Juniper, etc. will pick up WireGuard. They do not jump onto trains like this unless there is a big necessity.

Hát addig jó, amíg az ilyen cégek nem rondítanak bele. Egyébként a témában irányadó Torvald véleménye, aki programozási mesterműnek minősítette a WireGuardot.

Lógok a szeren (K. Frigyes)

Lógok az ereszen (Sz. József)

semmivel se jobb mint az ipsec. ipsec is tudja azt a szoftveresen gyors cryptot hasznalni, bar a hardveres aes-el jobban jarsz. udp felett is megy, de ha nincs nat utkozben, akkor meg az udp overheadje is megsporolhato.  megis mit nyujt a wg amit az ipsec nem?

Szolgáltatásban jelenleg sokkal többet tud az ipsec,de ez változhat még. Tisztább szárazabb érzés elegánsabb, egyszerűbb (még nyilván ez bonyolódik ha végére érnek a TODO listának:) ) a wg ~5KLOC forráskód vs átlagos ipsec implementáció (kernel+userland)  ~500KLOC !!!. A Strongswan konkértan kommentek nélkül valami 450KLOC és akkor a kernel kód még ehhez hozzájön.

Kis szines még, hogy az Openvpn brigád is dolgozik a kernel módú implementáción, hogy "gyors" legyen.

https://github.com/OpenVPN/ovpn-dco

Amugy nem ertem, miert kell egy VPN kapcsolatnak barmiben is tobbet tudni, mint amit most a WG tud... En OPNsense tuzfalakon hasznalom a WG-t es minden egyeb pluszt, amit pl az Openvpn tud, azt csinalja a tuzfal. A VPN tisztan csak az alagutat epiti fel (kb tenyleg mintha egy fizikai kabelt dugnal ket halokartyaba). Miert kene ennel tobbet tudnia barmelyik VPN-nek?

Hogyan pusholsz egy Radius pool-ból IP címet és route-okat a VPN kliensnek (AD csoporttagság alapján más más poolból) és hogyan authentikálod AD-ból WG-vel?

Site2Site VPN-hez és egyszerűbb esetben Remote Acess VPN-hez megfelelő,de azért ennél több dolgot kell tudnia. Nézd meg a TODO listáját, a dinamikus konfiguráció hiányosságaival (wg-dynamic) ők is tisztában vannak.

Én mondjuk nem kedvelem az IPsec-et Linux alatt. Tisztábbnak érzem, ha egy tunnelnek van kernel interfésze, ahova "normálisan" route-olhatod a titkosítandó forgalmat.
Ebben lehet hogy benne van egy régi biztonsági réssel kapcsolatos tapasztalatom is, amikor hetekig titkosítatlanul ment a csomag egy hibásan létrehozott és jól megbúvó policy routing miatt.

Ja ,de a 6-os ROS egy ősi 3.3-as kernellel és saját ipsec implementációval. Ami talán? valami racoon forknak indult valamikor 15 éve.

Egyébkén ott is lehet szűrni csomagszűrővel:

https://wiki.mikrotik.com/wiki/Manual:IP/IPsec#Allow_only_IPsec_encapsu…

 

A 7-es ROS-ban akár lehet is route based ipsec, nem néztem még.

Természtesen van route based IPSEC 4.19-es kerneltől normálisan "xfrm" interfésszel. A régebbi "vti" interfész megvalósítást már ne használjátok van egy csomó megkötése.

https://wiki.strongswan.org/projects/strongswan/wiki/RouteBasedVPN

Illetve illik elolvasni a security recommendations részt a plain text packet leak megoldására létezik egy köteg megoldás:

https://wiki.strongswan.org/projects/strongswan/wiki/SecurityRecommenda…

Ha xfrm interfészt használsz az a legjobb,de ha valamiért maradsz a policy based megközelítésnél a legegyszerűbb ha felveszel egy iptables ipsec policy match-et ahogy a példában is mutatja.