Në bërthamën Linux 5.6 u përfshi VPN WireGuard

Sot Lini transferoi degën net-next me ndërfaqet VPN. WireGuard. Rreth këtij ngjarjeje njoftuan në listën e shpërndarjes WireGuard.

Në bërthamën Linux 5.6 u përfshi VPN WireGuard

Aktualisht është në procesin e mbledhjes së kodit për bërthamën e re Linux 5.6. WireGuard është një VPN i gjeneratës së re, që implementon kriptografinë moderne. Ai u zhvillua fillimisht si një alternativë më e thjeshtë dhe më e lehtë për t'u përdorur ndaj VPN-ve ekzistuese. Autori është specialisti kanadez i sigurisë informatike Jason A. Donenfeld. Në gusht 2018, WireGuard u lavdërua nga Linus Torvalds. Rreth asaj kohe filloi puna për përfshirjen e VPN në bërthamën e Linux. Procesi u zgjat pak.

‘Shikoj qĂ« Jason ka bĂ«rĂ« njĂ« kĂ«rkesĂ« pĂ«r pĂ«rfshirjen e WireGuard nĂ« bĂ«rthamĂ«,’ shkroi Linus mĂ« 2 gusht 2018. ‘A mund ta shpreh sĂ«rish dashurinĂ« time pĂ«r kĂ«tĂ« VPN dhe tĂ« shpresoj pĂ«r njĂ« bashkim tĂ« shpejtĂ«? Ndoshta kodi nuk Ă«shtĂ« perfekt, por e kam parĂ« dhe krahasuar me horrorin e OpenVPN dhe IPSec, ky Ă«shtĂ« njĂ« vepĂ«r arti e vĂ«rtetĂ«.’

Megjithëse dëshira e Linus-it ishte, bashkimi u zgjat për një të gjatë një vit e gjysmë. Problemi kryesor doli të ishte lidhja me implementimet e veta të funksioneve kriptografike, të cilat ishin përdorur për të rritur performancën. Pas negociatave të zgjatura në shtator 2019, u mor një vendim kompromisi për të transferuar patch-et në funksionet e Crypto API që ekzistojnë në bërthamë, ndaj të cilave zhvilluesit e WireGuard kishin shqetësime lidhur me performancën dhe sigurinë e përgjithshme. Por vendosën që funksionet e kriptografisë nativo të WireGuard t'i veçonin në një API të ulët Zinc dhe me kalimin e kohës t'i portonin në bërthamë. Në nëntor, zhvilluesit e bërthamës e mbajtën premtimin dhe pranuan të transferonin në bërthamë një pjesë të kodit nga Zinc. Për shembull, në Crypto API are packages with proprietary NVIDIA drivers. For systems with NVIDIA graphics chips, free "Nouveau" drivers continue to be offered by default, while proprietary drivers are available as an option for quick installation after the installation is completed; janë përgatitur në WireGuard implementime të shpejta të algoritmeve ChaCha20 dhe Poly1305.

Më në fund, më 9 dhjetor 2019, David S. Miller, i cili përgjigjej për subsystemin rrjetor të bërthamës Linux, pranoi si pjesë e degës net-next patches me implementimin e ndërfaqes VPN nga projekti WireGuard.

Dhe sot, më 29 janar 2020, ndryshimet u dërguan te Linus për t'u përfshirë në bërthamë.

Në bërthamën Linux 5.6 u përfshi VPN WireGuard

Avantazhet e deklaruara të WireGuard mbi zgjidhjet e tjera të VPN janë:

  • I lehtĂ« pĂ«r t'u pĂ«rdorur.
  • PĂ«rdor kriptografi moderne: Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF etj.
  • Kod kompakt dhe tĂ« lexueshĂ«m, mĂ« e lehtĂ« pĂ«r t'u hetuar pĂ«r dobĂ«si.
  • PerformancĂ« e lartĂ«.
  • Logjika e qartĂ« dhe e zhvilluar specifikimi.

E gjithë logjika kryesore e WireGuard zë më pak se 4000 rreshta kodi, ndërsa OpenVPN dhe IPSec janë qindra mijëra rreshta.

NĂ« WireGuard aplikohet koncepti i rutes sĂ« bazuar nĂ« çelĂ«sat e kodimit, i cili nĂ«nkupton lidhjen e secilit ndĂ«rfaqe rrjeti me njĂ« çelĂ«s privat dhe pĂ«rdorimin e tij pĂ«r lidhjen e çelĂ«save tĂ« hapur. ShkĂ«mbimi i çelĂ«save tĂ« hapur pĂ«r vendosjen e lidhjes bĂ«het sipas analogjisĂ« me SSH. PĂ«r pajtimin e çelĂ«save dhe lidhjes pa nisur njĂ« demon tĂ« veçantĂ« nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, pĂ«rdoret mekanizmi Noise_IK nga Noise Protocol Framework, i ngjashĂ«m me mbajtjen e authorized_keys nĂ« SSH. ShkĂ«mbimi i tĂ« dhĂ«nave realizohet pĂ«rmes inkapsulimit nĂ« paketa UDP. MbĂ«shtetet ndĂ«rrimi i adresĂ«s IP tĂ« serverit VPN (roaming) pa ndĂ«rprerjen e lidhjes me riparametrizimin automatik tĂ« klientit, — CNBC, nĂ« periudhĂ«n nga 2000 deri nĂ« 2018 Facebook, Alphabet, Microsoft, Apple dhe Amazon kanĂ« punĂ«suar mĂ« shumĂ« se njĂ« milion punonjĂ«s tĂ« rinj. TĂ« tilla biznese akumullojnĂ« mjaft burime, pĂ«rveç aktivitetit tĂ« tyre kryesor, pĂ«r tĂ« realizuar kĂ«rkime dhe zhvillime masive nĂ« fusha tĂ« reja, ndonjĂ«herĂ« me rrezikshmĂ«ri tĂ« lartĂ«. PĂ«r mĂ« tepĂ«r, kompanitĂ« formojnĂ« dhe ekosistemin e tyre, brenda tĂ« cilit pĂ«rdoruesit i zgjidhin njĂ« gamĂ« tĂ« gjerĂ« problemesh - porositin menjĂ«herĂ« tĂ« gjitha produktet e nevojshme, nga ushqimi deri te teknika, nĂ« Amazon. Sipas parashikimeve tĂ« analistĂ«ve, deri nĂ« vitin 2021 ai Opennet.

Për enkriptimin përdoret rrjedha e enkriptimit ChaCha20 dhe algoritmi i autentifikimit të mesazheve (MAC) Poly1305, të zhvilluar nga Daniel Bernstein (Daniel J. Bernstein), Tanja Lange dhe Peter Schwabe. ChaCha20 dhe Poly1305 pozicionohen si alternativa më të shpejta dhe më të sigurta ndaj AES-256-CTR dhe HMAC, implementimi softuerik i të cilëve lejon arritjen e një kohë ekzekutimi të fiksuar pa angazhimin e mbështetjes speciale harduerike. Për gjenerimin e çelësit sekret të përbashkët përdoret protokolli i Diffie-Hellman në ellipsat në implementimin Curve25519, gjithashtu e propozuar nga Daniel Bernstein. Për hashing përdoren algoritmi BLAKE2s (RFC7693)».

Rezultatet të testeve të performancës nga faqja zyrtare:

Banda (megabit/s)
Në bërthamën Linux 5.6 u përfshi VPN WireGuard

Ping (ms)
Në bërthamën Linux 5.6 u përfshi VPN WireGuard

Konfigurimi i testit:

  • Intel Core i7-3820QM dhe Intel Core i7-5200U
  • Kartat Gigabit Intel 82579LM dhe Intel I218LM
  • Linux 4.6.1
  • Konfigurimi i WireGuard: ChaCha20 256-bit me Poly1305 pĂ«r MAC
  • Konfigurimi i parĂ« IPsec: ChaCha20 256-bit me Poly1305 pĂ«r MAC
  • Konfigurimi i dytĂ« IPsec: AES-256-GCM-128 (me AES-NI)
  • Konfigurimi OpenVPN: grupi i enkriptimit tĂ« barabartĂ« me AES 256-bit me HMAC-SHA2-256, mĂ«nyra UDP
  • Performanca u mat duke pĂ«rdorur iperf3, rezultati mesatar Ă«shtĂ« treguar gjatĂ« 30 minutave.

Teorikisht, pas integrimit në grilën rrjetërore, WireGuard duhet të funksionojë edhe më shpejt. Por në realitet, kjo nuk është patjetër kështu për shkak të kalimit në funksionet kriptografike të integruara në bërthamë Crypto API. Ndoshta, jo të gjitha prej tyre janë optimizuar ende në nivelin e performancës natyrore të WireGuard.

«Nga pikĂ«pamja ime, WireGuard Ă«shtĂ« thjesht i pĂ«rsosur pĂ«r pĂ«rdoruesin. TĂ« gjitha zgjidhjet e nivelit tĂ« ulĂ«t janĂ« pranuar nĂ« specifikim, prandaj procesi i pĂ«rgatitjes sĂ« infrastrukturĂ«s tipike VPN zgjat vetĂ«m disa minuta. Nuk ka mundĂ«si tĂ« gabosh nĂ« konfigurim, — kemi shkruar nĂ« HabrĂ« nĂ« vitin 2018. — Procesi i instalimit Ă«shtĂ« pĂ«rshkruar nĂ« detaje nĂ« faqen zyrtare, tĂ« veçoj mbĂ«shtetje tĂ« shkĂ«lqyer pĂ«r OpenWRT. Ky this simplicity of use and compactness of the codebase was achieved by eliminating key distribution. There is no complex certificate system and none of that corporate nightmare; short encryption keys are distributed much like SSH keys.

The WireGuard project has been in development since 2015, and it has undergone an audit and verifikimin formal. The WireGuard support is integrated into NetworkManager and systemd, and the patches for the kernel are included in the base compositions of the Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph, and ALT distributions.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster