Dziļi sirdī Linux 5.6 iespējots VPN WireGuard

Å odien Linuss pārcēla sev tÄ«kla nākamo filiāli ar VPN saskarnēm WireGuard. Par Å”o notikumu сообщили adresātu sarakstā WireGuard.

Dziļi sirdī Linux 5.6 iespējots VPN WireGuard

PaÅ”laik notiek koda vākÅ”ana jaunajam kodolam. Linux 5.6. WireGuard — ātrs, nākamās paaudzes VPN, kas ievieÅ” modernu kriptogrāfiju. Sākotnēji tas tika izstrādāts kā vienkārŔāka un ērtāka alternatÄ«va esoÅ”ajiem VPN. To izstrādāja Kanādas informācijas droŔības speciālists Džeisons A. Donenfelds. 2018. gada augustā WireGuard saņēma uzslavas No Linusa Torvalda. Ap to laiku sākās darbs pie VPN iekļauÅ”anas kodolā. LinuxProcess aizņēma nedaudz ilgāku laiku.

"Redzu, ka Džeisons iesniedza pieprasÄ«jumu iekļaut WireGuard "kodolā," Linus rakstÄ«ja 2018. gada 2. augustā. "Vai varu vēlreiz apliecināt savu mÄ«lestÄ«bu pret Å”o VPN un cerēt uz ātru apvienoÅ”anu? Kods varbÅ«t nav perfekts, bet esmu to apskatÄ«jis un salÄ«dzinājis ar Å”ausmām OpenVPN un IPSec, tas ir Ä«sts mākslas darbs."

Neskatoties uz Linusa vēlmi, apvienoÅ”anās ievilkās pusotru gadu. Galvenā problēma izrādÄ«jās saistÄ«ta ar patentētu kriptogrāfijas funkciju ievieÅ”anu, kas tika izmantota veiktspējas uzlaboÅ”anai. Pēc ilgām sarunām 2019. gada septembrÄ« tā arÄ« bija tika pieņemts kompromisa lēmums tulkot ielāpus uz kodolā pieejamajām Crypto API funkcijām, kurām izstrādātājiem ir piekļuve WireGuard Bija dažas sÅ«dzÄ«bas par veiktspēju un vispārējo droŔību. Taču vietējās kriptogrāfijas funkcijas atrisināja problēmu. WireGuard atdalÄ«t zema lÄ«meņa Zinc API un laika gaitā pārnest tos uz kodolu. NovembrÄ« kodola izstrādātāji turēja savu solÄ«jumu un vienojās pārsÅ«tÄ«t daļu koda no cinka uz galveno kodolu. Piemēram, Crypto API iekļauts sagatavots WireGuard ChaCha20 un Poly1305 algoritmu ātra ievieÅ”ana.

Visbeidzot, 2019. gada 9. decembrÄ« Deivids S. Millers, kurÅ” ir atbildÄ«gs par kodola tÄ«kloÅ”anas apakÅ”sistēmu, Linux, pieņemts uz tÄ«klu-nākamo filiāli ielāpus ar VPN saskarnes ievieÅ”anu no projekta WireGuard.

Un Å”odien, 29. gada 2020. janvārÄ«, izmaiņas tika iekļautas Linusā, lai tās iekļautu kodolā.

Dziļi sirdī Linux 5.6 iespējots VPN WireGuard

Pieprasītie ieguvumi WireGuard salīdzinājumā ar citiem VPN risinājumiem:

  • Ērti lietojams.
  • Izmanto modernu kriptogrāfiju: Noise protokolu ietvars, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF u.c.
  • Kompakts, lasāms kods, vieglāk izmeklēt ievainojamÄ«bas.
  • Augsta veiktspēja.
  • Skaidrs un izstrādāts specifikācija.

Visa pamata loÄ£ika WireGuard aizņem mazāk nekā 4000 koda rindiņu, turpretÄ« OpenVPN un IPSec ir simtiem tÅ«kstoÅ”u rindu.

"IEKŠĀ WireGuard Tiek izmantota Å”ifrēŔanas atslēgas marÅ”rutēŔanas koncepcija, kas ietver privātās atslēgas piesaisti katrai tÄ«kla saskarnei un tās izmantoÅ”anu publiskās atslēgas saistīŔanai. Publiskās atslēgas tiek apmainÄ«tas, lai izveidotu savienojumu lÄ«dzÄ«gi kā SSH. Lai vienotos par atslēgām un izveidotu savienojumu, nepalaižot atseviŔķu dēmonu lietotāja telpā, tiek izmantots Noise_IK mehānisms no TrokŔņa protokola sistēmalÄ«dzÄ«gi kā Author_keys uzturēŔana SSH. Datu pārraide tiek veikta, iekapsulējot UDP paketēs. Tas atbalsta VPN servera IP adreses maiņu (viesabonēŔana), neatvienojot savienojumu ar automātisku klienta pārkonfigurāciju, - raksta Opennet.

Å ifrēŔanai lietots straumes Å”ifrs ChaCha20 un ziņojumu autentifikācijas algoritms (MAC) Poly1305, dizains Daniels Bernsteins (Daniels J. Bernsteins), Tanja Lange un PÄ«ters Å vābe. ChaCha20 un Poly1305 ir pozicionēti kā ātrāki un droŔāki AES-256-CTR un HMAC analogi, kuru programmatÅ«ras ievieÅ”ana ļauj sasniegt fiksētu izpildes laiku, neizmantojot Ä«paÅ”u aparatÅ«ras atbalstu. Lai Ä£enerētu koplietotu slepeno atslēgu, ievieÅ”anā tiek izmantots eliptiskās lÄ«knes Difija-Helmana protokols Curve25519, ko ierosinājis arÄ« Daniels Bernsteins. JaukÅ”anai izmantotais algoritms ir BLAKE2s (RFC7693)'.

rezultātus veiktspējas testi no oficiālās vietnes:

Joslas platums (megabits/s)
Dziļi sirdī Linux 5.6 iespējots VPN WireGuard

Ping (ms)
Dziļi sirdī Linux 5.6 iespējots VPN WireGuard

Testa konfigurācija:

  • Intel Core i7-3820QM un Intel Core i7-5200U
  • Gigabit kartes Intel 82579LM un Intel I218LM
  • Linux 4.6.1
  • Konfigurācija WireGuard256 bitu ChaCha20 ar Poly1305 MAC operētājsistēmai
  • Pirmā IPsec konfigurācija: 256 bitu ChaCha20 ar Poly1305 MAC
  • Otrā IPsec konfigurācija: AES-256-GCM-128 (ar AES-NI)
  • Konfigurācija OpenVPN: lÄ«dzvērtÄ«gs 256 bitu AES Å”ifru komplekts ar HMAC-SHA2-256, UDP režīmu
  • Veiktspēja tika mērÄ«ta, izmantojot iperf3, parāda vidējo rezultātu 30 minūŔu laikā.

Teorētiski, pēc integrācijas tÄ«kla kaudzē WireGuard vajadzētu darboties vēl ātrāk. Taču patiesÄ«bā tas ne vienmēr tā notiks, jo tiek pāriets uz Crypto API iebÅ«vētajām kriptogrāfiskajām funkcijām. Iespējams, ka ne visas no tām vēl ir optimizētas atbilstoÅ”i vietējās versijas veiktspējas lÄ«menim. WireGuard.

"No mana viedokļa, WireGuard Tas ir absolÅ«ti ideāli piemērots lietotājam. Specifikācijā tiek ņemti vērā visi zemākā lÄ«meņa lēmumi, tāpēc tipiskas VPN infrastruktÅ«ras iestatīŔana aizņem tikai dažas minÅ«tes. Konfigurāciju praktiski nav iespējams sabojāt. писали Habrē 2018. gadā. — UzstādīŔanas process sÄ«ki aprakstÄ«ts oficiālajā vietnē es vēlētos atseviŔķi atzÄ«mēt izcilo OpenWRT atbalsts. Å Ä« koda bāzes lietoÅ”anas vienkārŔība un kompaktums tika panākts, novērÅ”ot atslēgu izplatīŔanu. Nav sarežģītas sertifikātu sistēmas un visas Ŕīs korporatÄ«vās Å”ausmas; Ä«sās Å”ifrēŔanas atslēgas tiek izplatÄ«tas lÄ«dzÄ«gi kā SSH atslēgas.

Projekts WireGuard tiek izstrādāta kopÅ” 2015. gada, tā ir auditēta un formāla pārbaudeAtbalsts WireGuard integrēts NetworkManager un systemd, un kodola ielāpi ir iekļauti pamata izplatÄ«jumos Debian Nestabila, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph un ALT.

Avots: www.habr.com

Iegādājieties uzticamu mitināŔanu vietnēm ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa vietņu mitināŔanu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster