VPN WireGuard vastu vÔetud net-next harusse ja kavandatud lisamiseks pÔhitegevusalasse Linux 5.6

David Miller (David S. Miller), mis vastutab kerneli vĂ”rgu alamsĂŒsteemi eest Linux, aktsepteeritud net-jĂ€rgmisse harusse plaastrid projektist VPN-liidese juurutamisega WireGuardJĂ€rgmise aasta alguses moodustavad net-next harus kogunenud muudatused pĂ”hiversiooni vĂ€ljalaske aluse. Linux 5.6.

Koodi reklaamimise katsed WireGuard PĂ”hikernelis on viimastel aastatel tehtud pingutusi, kuid need on jÀÀnud edutuks, kuna need sĂ”ltuvad jĂ”udluse parandamiseks kasutatud krĂŒptograafiliste funktsioonide patenteeritud implementatsioonidest. Algselt olid need funktsioonid vĂ€lja pakutud kerneli jaoks tĂ€iendava madala tasemega Zinc API-na, mis vĂ”ib lĂ”puks asendada standardse krĂŒpto API.

PĂ€rast Kernel Recipes konverentsil toimunud ettekandeid loojad WireGuard septembris tegi kompromissotsuse teisendage oma plaastrid kasutama olemasolevat Crypto API-t tuumas, millele arendajatel on juurdepÀÀs WireGuard On kaebusi jĂ”udluse ja ĂŒldise turvalisuse kohta. Otsustati jĂ€tkata Zinc API arendamist, kuid eraldi projektina.

Novembris kerneli arendajad lĂ€ks vastuseks kompromissile ja nĂ”ustus kandma osa koodist Zincilt pĂ”hikernelile. PĂ”himĂ”tteliselt teisaldatakse mĂ”ned tsinki komponendid tuuma, kuid mitte eraldi API-na, vaid osana Crypto API alamsĂŒsteemist. NĂ€iteks Crypto API juba kaasatud valmistatud WireGuard ChaCha20 ja Poly1305 algoritmide kiire implementatsioon.

Seoses eelseisva kohaletoimetamisega WireGuard pĂ”himeeskonnas, projekti asutaja teatas hoidla ĂŒmberkorraldamise kohta. Arenduse lihtsustamiseks asendati monoliitne hoidla jĂ€rgmisega:WireGuard.git", mis oli loodud eraldi eksisteerima, saab kolm eraldi repositooriumi, mis sobivad paremini pĂ”hituuma koodiga töötamise korraldamiseks:

  • wireguard-linux.git — tĂ€ielik kerneli puu koos projektist tehtud muudatustega Wireguard, mille parandusi vaadatakse ĂŒle tuumikusse lisamiseks ja regulaarselt net/net-next harudesse migreeritakse.
  • wireguard-tools.git - hoidla kasutajaruumis töötavate utiliitide ja skriptide jaoks, nagu wg ja wg-quick. Hoidlast saab kasutada distributsioonide pakettide loomiseks.
  • wireguard-linux-compat.git — repositoorium mooduli versiooniga, mis tarnitakse kernelist eraldi ja sisaldab compat.h kihti, et tagada ĂŒhilduvus vanemate kernelitega. Esmane arendus toimub repositooriumis. wireguard-linux.git, aga seni kuni on vĂ”imalus ja kasutajate nĂ”udlus, toetatakse ka eraldi versiooni parandustest töökujul.

Tuletame teile meelde, et VPN WireGuard Kaasaegsete krĂŒpteerimismeetodite abil rakendatud sĂŒsteem pakub vĂ€ga head jĂ”udlust, on hĂ”lpsasti kasutatav, komplikatsioonideta ja on ennast tĂ”estanud mitmetes suuremahulistes juurutustes, mis kĂ€sitlevad suuri liiklusmahtusid. Projekti on arendatud alates 2015. aastast ning seda on auditeeritud ja ametlik kontroll kasutatavad krĂŒpteerimismeetodid. Tugi WireGuard See on juba integreeritud NetworkManagerisse ja systemd-sse ning kerneli parandused on baasjaotustes kaasas. Debian Ebastabiilne, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Alamgraaf Đž ALT.

В WireGuard Kasutusel on krĂŒpteerimisvĂ”tme marsruutimise kontseptsioon, mis hĂ”lmab privaatvĂ”tme sidumist iga vĂ”rguliidesega ja selle kasutamist avaliku vĂ”tme sidumiseks. Avalikke vĂ”tmeid vahetatakse ĂŒhenduse loomiseks sarnaselt SSH-ga. VĂ”tmete ĂŒle lĂ€birÀÀkimiseks ja ĂŒhenduse loomiseks ilma eraldi deemonit kasutajaruumis kĂ€ivitamata kasutatakse Noise_IK mehhanismi MĂŒraprotokolli raamistiksarnane SSH-s volitatud_vĂ”tmete sĂ€ilitamisega. Andmeedastus toimub UDP-pakettidesse kapseldamise teel. See toetab VPN-serveri IP-aadressi muutmist (rĂ€ndlus) ilma ĂŒhendust katkestamata ja klienti automaatselt ĂŒmber konfigureerimata.

KrĂŒpteerimiseks kasutatud voo ĆĄifr ChaCha20 ja sĂ”numi autentimisalgoritm (MAC) Poly1305, kujundanud Daniel Bernstein (Daniel J. Bernstein), Tanya Lange
(Tanja Lange) ja Peter Schwabe. ChaCha20 ja Poly1305 on positsioneeritud kui AES-256-CTR ja HMAC kiiremad ja turvalisemad analoogid, mille tarkvaraline teostus vÔimaldab saavutada fikseeritud tÀitmisaja ilma spetsiaalset riistvaralist tuge kasutamata. Jagatud salavÔtme genereerimiseks kasutatakse juurutamisel elliptilise kÔvera Diffie-Hellmani protokolli Curve25519, mille pakkus vÀlja ka Daniel Bernstein. RÀsimisel kasutatav algoritm on BLAKE2s (RFC7693).

juures testimine tootlikkus WireGuard nĂ€itas 3.9 korda suuremat lĂ€bilaskevĂ”imet ja 3.8 korda suuremat reageerimisvĂ”imet vĂ”rreldes OpenVPN (256-bitine AES koos HMAC-SHA2-256-ga). VĂ”rreldes IPsec-iga (256-bitine ChaCha20+Poly1305 ja AES-256-GCM-128) WireGuard TĂ€heldati vĂ€ikest jĂ”udluse paranemist (13–18%) ja latentsuse vĂ€henemist (21–23%). Testid viidi lĂ€bi projekti enda kiirete krĂŒpteerimisalgoritmide implementatsioonide abil; ĂŒleminek tuuma natiivsele Crypto API-le vĂ”ib pĂ”hjustada jĂ”udluse halvenemist.

VPN WireGuard vastu vÔetud net-next harusse ja kavandatud lisamiseks pÔhitegevusalasse Linux 5.6

Allikas: opennet.ru

Ostke DDoS-kaitsega saitide jaoks usaldusvÀÀrne hostimine, VPS VDS-serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster