WireGuard "tulee" Linux-ytimeen - miksi?

Heinäkuun lopussa WireGuard VPN-tunnelin kehittäjät ehdottivat patch setti, joka tekee heidän VPN-tunnelointiohjelmistostaan ​​osan Linux-ytimestä. Tarkkaa "idean" toteutusajankohtaa ei kuitenkaan tiedetä. Leikkauksen alla puhumme tästä työkalusta yksityiskohtaisemmin.

WireGuard "tulee" Linux-ytimeen - miksi?
/ valokuva Tambako Jaguar CC

Lyhyesti projektista

WireGuard on seuraavan sukupolven VPN-tunneli, jonka on luonut Edge Securityn toimitusjohtaja Jason A. Donenfeld. Projekti kehitettiin nimellä yksinkertaistettu ja nopea vaihtoehto OpenVPN:lle ja IPsecille. Tuotteen ensimmäinen versio sisälsi vain 4 tuhatta koodiriviä. Vertailun vuoksi OpenVPN:ssä on noin 120 tuhatta riviä ja IPSecissä - 420 tuhatta.

Päälle mukaan kehittäjille, WireGuard on helppo konfiguroida ja protokollasuojaus saavutetaan todistettujen salausalgoritmien kautta. Verkkoa vaihdettaessa: Wi-Fi-, LTE- tai Ethernet-yhteys on muodostettava uudelleen VPN-palvelimeen joka kerta. WireGuard-palvelimet eivät katkaise yhteyttä, vaikka käyttäjä olisi saanut uuden IP-osoitteen.

Huolimatta siitä, että WireGuard oli alun perin suunniteltu Linux-ytimelle, kehittäjät huolehdittu ja työkalun kannettavasta versiosta Android-laitteille. Sovellus ei ole vielä täysin kehittynyt, mutta voit kokeilla sitä nyt. Tätä varten tarvitset tulla yhdeksi testaajista.

Yleisesti ottaen WireGuard on melko suosittu ja on jopa ollut toteutettu useita VPN-palveluntarjoajia, kuten Mullvad ja AzireVPN. Julkaistu verkossa paljon asennusoppaat tämä päätös. Esimerkiksi, siellä on oppaita, jotka ovat käyttäjien luomia, ja siellä on oppaita, hankkeen tekijöiden laatima.

Tekninen

В virallinen dokumentaatio (s. 18) on huomioitu, että WireGuardin suorituskyky on neljä kertaa suurempi kuin OpenVPN:n: 1011 Mbit/s vs. 258 Mbit/s. WireGuard on myös edellä standardiratkaisua Linux IPsecille – sillä on 881 Mbit/s. Se ylittää sen myös asennuksen helppoudessa.

Kun avaimet on vaihdettu (VPN-yhteys alustetaan aivan kuten SSH) ja yhteys on muodostettu, WireGuard hoitaa kaikki muut tehtävät itse: ei tarvitse huolehtia reitityksestä, tilan hallinnasta jne. Lisämäärittelyä tarvitaan tarvitaan, jos haluat käyttää symmetristä salausta.

WireGuard "tulee" Linux-ytimeen - miksi?
/ valokuva Anders Hojbjerg CC

Asentaaksesi tarvitset jakelun, jonka Linux-ydin on vanhempi kuin 4.1. Se löytyy tärkeimpien Linux-jakelujen arkistoista.

$ sudo add-apt-repository ppa:hda-me/wireguard
$ sudo apt update
$ sudo apt install wireguard-dkms wireguard-tools

Kuten xakep.ru:n toimittajat huomauttavat, itse kokoaminen lähdeteksteistä on myös helppoa. Riittää, kun avaat käyttöliittymän ja luot julkiset ja yksityiset avaimet:

$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey

WireGuard ei käytä käyttöliittymä kryptopalveluntarjoajan kanssa työskentelyyn CryptoAPI. Sen sijaan käytetään stream-salausta ChaCha20, kryptografinen jäljitelmä lisäosa Poly1305 ja omat kryptografiset hajautustoiminnot.

Salainen avain luodaan käyttämällä Diffie-Hellman-protokolla elliptisen käyrän perusteella Curve25519. Hashingissa he käyttävät hash-funktiot BLAKE2 и SipHash. Aikaleimamuodon vuoksi TAI64N protokolla hylkää paketit, joilla on pienempi aikaleimaarvo, jolloin estää DoS- и toista hyökkäykset.

Tässä tapauksessa WireGuard käyttää ioctl-toimintoa I/O:n ohjaamiseen (aiemmin käytetty netlinkki), mikä tekee koodista selkeämmän ja yksinkertaisemman. Voit varmistaa tämän katsomalla konfigurointikoodi.

Kehittäjäsuunnitelmat

Toistaiseksi WireGuard on puun ulkopuolinen ydinmoduuli. Mutta projektin kirjoittaja on Jason Donenfeld hän puhuu, että on tullut aika ottaa täysi käyttöön Linux-ytimessä. Koska se on yksinkertaisempi ja luotettavampi kuin muut ratkaisut. Jason tässä suhteessa tukee jopa Linus Torvalds itse kutsui WireGuard-koodia "taideteokseksi".

Mutta kukaan ei puhu WireGuardin ytimeen käyttöönoton tarkasta päivämäärästä. JA tuskin tämä tapahtuu August Linux -ytimen 4.18 julkaisun yhteydessä. On kuitenkin mahdollista, että tämä tapahtuu aivan lähitulevaisuudessa: versiossa 4.19 tai 5.0.

Kun WireGuard lisätään ytimeen, kehittäjät haluta viimeistele sovellus Android-laitteille ja aloita iOS-sovelluksen kirjoittaminen. Suunnitelmissa on myös toteuttaa Go and Rust -sovellukset ja siirtää ne macOS:ään, Windowsiin ja BSD:hen. Suunnitelmissa on myös ottaa WireGuard käyttöön "eksoottisemmille järjestelmille": DPDK, FPGA, sekä paljon muuta mielenkiintoista. Kaikki ne on lueteltu kohdassa tehtävälista projektin kirjoittajat.

PS Muutama artikkeli lisää yritysblogistamme:

Toimintamme pääsuunta on pilvipalvelujen tarjoaminen:

Virtuaalinen infrastruktuuri (IaaS) | PCI DSS hosting | Pilvi FZ-152 | SAP hosting | Virtuaalinen tallennustila | Tietojen salaus pilvessä | Pilvitallennus

Lähde: will.com

Lisää kommentti