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.

Kogu WireGuardi peamine loogika mahub vÀhem kui 4000 koodirea, samal ajal kui OpenVPN ja IPSec koosnevad sadadest tuhandetest ridadest.

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 veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster