Linuxi tuuma versioon 5.6 lisati VPN WireGuard

Täna tõi Linus endaga kaasa net-next haru koos VPN-liidestega WireGuard. Sellest sündmusest teatasid teatas WireGuardi postituste nimekirjas.

Linuxi tuuma versioon 5.6 lisati VPN WireGuard

Praegu on käimas koodi kogumine uue Linuxi tuuma 5.6 jaoks. WireGuard on uus põlvkond kiire VPNi, mis rakendab kaasaegset krüptograafiat. Seda arendati algselt lihtsama ja mugavama alternatiivi saamiseks olemasolevatele VPNidele. Autori nimi on Kanada IKT-spetsialist Jason Donenfeld. Augustis 2018 sai WireGuard kinnitamist Linus Torvaldsi poolt. Umbes samal ajal algas töö VPNi integreerimiseks Linuxi tuumasse. Protsess venis natuke.

„Näen, et Jason tegi pull-requesti WireGuardi integreerimiseks tuumasse, - kirjutas Linus 2. augustil 2018. - Kas ma saan lihtsalt veel kord väljendada oma armastust selle VPN-i vastu ja loota kiirele ühinemisele? Võib-olla pole kood ideaalne, kuid olen selle üle vaadanud ja võrreldes OpenVPNi ja IPSeci õudustega on see tõeline kunstiteos.”

Kuid hoolimata Linuse soovist viibis ühinemine poolteist aastat. Peamine probleem oli seotud krüptograafiliste funktsioonide erinevate teostustega, mida kasutati jõudluse suurendamiseks. Pärast pikka läbirääkimist jõuti septembris 2019 kompromisslahendusele tõlkida patšid olemasolevatesse tuuma Crypto API funktsioonidesse, mille osas oli WireGuardi arendajatel etteheiteid jõudluse ja üldise turvalisuse osas. Kuid otsustati, et WireGuardi natiivsed krüptofunktsioonid eraldatakse eraldi madalama taseme Zinc API-sse ning neid hakatakse ajaga tuuma portima. Novembris hoidsid tuuma arendajad oma lubadusest kinni ja nõustusid kandma tuumasse osa koodist Zincist. Näiteks Crypto API-s on WireGuardis ette valmistatud kiirete ChaCha20 ja Poly1305 algoritmide teostused. lisakujunduse truuduse fondid OpenType formaadis, mida saab kasutada programmis gnome-terminal (pärast HarfBuzz'i kasutusele võtmist on tõusnud probleeme vanade truuduse fontide kasutamisel gnome-terminalis). Lõpuks, 9. detsembril 2019, lisas David Miller (David S. Miller), kes vastutab Linuxi tuuma võrgu alajaotuse eest,

net-next haru v<App ja WireGuardi projektist VPN-liidese teostusega. patšid Ja täna, 29. jaanuaril 2020, läksid muudatused Linusele integreerimiseks tuumasse.

Selge ja hästi läbi mõeldud

Linuxi tuuma versioon 5.6 lisati VPN WireGuard

WireGuardi väidetavad eelised teiste VPN-lahenduste ees:

  • Lihtne kasutada.
  • Kasutab kaasaegseid krüptograafiat: Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF jne.
  • Kompaktne ja loetav kood, kergem uurida haavatavuste osas.
  • Kõrge tootlikkus.
  • Kogu WireGuardi põhiloogika hõlmab vähem kui 4000 koodirea, samas kui OpenVPN ja IPSec sisaldavad sadu tuhandeid ridu. spetsifikatsioon.

Вся основная логика WireGuard занимает менее 4000 строк кода, тогда как OpenVPN и IPSec это сотни тысяч строк.

WireGuard kasutab krüpteerimise võtmete põhist marsruutimise kontseptsiooni, kus iga võrguinterfatsi juurde on seotud privaatvõti ja avalikke võtmeid kasutatakse ühenduse loomiseks. Avalike võtmete vahetamine ühenduse loomise jaoks toimub SSH-ga analoogsetel alustel. Võtmete kooskõlastamiseks ja ühenduse loomiseks ilma eraldi kasutaja kasutuses oleva deemonita kasutatakse mehhanismi Noise_IK Noise Protocol Framework, mis sarnaneb SSH-s authorized_keys'i säilitamisele. Andmete edastamine toimub UDP-pakettidesse kapseldamise teel. Toetatakse VPN-serveri IP-aadressi vahetamist (roaming) ühenduse katkemiseta koos kliendi automaatse ümberkonfigureerimisega, — kirjutab Opennet.

Krüpteerimiseks kasutatakse voosredensus ChaCha20 ja sõnumite autentimise algoritm (MAC) Poly1305, mille on töötanud välja Daniel Bernstein (Daniel J. Bernstein), Tanja Lange ja Peter Schwabe. ChaCha20 ja Poly1305 on välja toodud kui kiiremad ja turvalisemad ASE-256-CTR ja HMAC alternatiivid, mille tarkvaraline rakendus võimaldab saavutada kindlat käitusaja, ilma erilise riistvara toe kasutamiseta. Ühise salajase võti genereerimiseks kasutatakse elliptsete käikude põhist Diffie-Hellmani protokolli Curve25519, mille samuti pakkus välja Daniel Bernstein. Hashimise jaoks kasutatakse algoritmi BLAKE2s (RFC7693)».

tulemused näitasid ainult nelja ebaolulise koodibloki kattuvust, mis olid tingitud POSIX ja ANSI C nõuetest. võimetest. ametlikult veebilehelt:

Läbivool (megabit/s)
Linuxi tuuma versioon 5.6 lisati VPN WireGuard

Pinging (ms)
Linuxi tuuma versioon 5.6 lisati VPN WireGuard

Testkonfiguratsioon:

  • Intel Core i7-3820QM ja Intel Core i7-5200U
  • Gigabit Intel 82579LM ja Intel I218LM kaardid
  • Linux 4.6.1
  • WireGuardi konfiguratsioon: 256-bitine ChaCha20 koos Poly1305-ga MAC jaoks
  • Esimene IPsec konfiguratsioon: 256-bitine ChaCha20 koos Poly1305-ga MAC jaoks
  • Teine IPsec konfiguratsioon: AES-256-GCM-128 (AES-NI-ga)
  • OpenVPN konfiguratsioon: vastava AES 256-bitise krüpteerimisega HMAC-SHA2-256, UDP-režiim
  • Toime registreeriti iperf3, keskmine tulemus näidatud 30 minuti jooksul.

Teoreetiliselt, pärast WireGuardi integreerimist võrgu kuhja, peaks see töötama veelgi kiiremini. Kuid reaalsuses ei pruugi see nii olla, kuna üleminekul tuuma krüptograafilistele funktsioonidele Crypto API. Võib-olla ei ole kõik neist veel optimeeritud niiviisi, et saavutada WireGuardi natiivset jõudlust.

Minu arvates on WireGuard ideaalne kasutaja jaoks. Kõik madala taseme lahendused on dokumentatsioonis, seega tüüpilise VPN-i infrastruktuuri seadistamine võtab vaid mõni minut. Ühegi konfiguratsiooni rikkumine on peaaegu võimatu, — me ütles Habr'is 2018. aastal. — Seadmise protsess detailne kirjeldus ametlikul veebilehel, soovin eraldi märkida suurepärase OpenWRT toeSellest kasutusmugavuse ja koodibaasi kompaktsuse tasemest on võimalik saavutada, loobudes võtmete jaotamisest. Siin pole keerulist sertifikaatide süsteemi ega kogu seda ettevõtluslikku õudust, lühikesed krüptimisvõtmed jaotatakse umbes nagu SSH-võtmed.

WireGuard'i projekt on välja töötatud alates 2015. aastast, see on läbinud auditi ja formaalse kontrollimise. WireGuard'i tugi on integreeritud NetworkManagerisse ja systemd-sse, samas kui tuumale mõeldud patšid on osa Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph ja ALT jaotustest.

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster