WireGuard bakal "teka" menyang kernel Linux - kenapa?

Ing pungkasan Juli, pangembang terowongan WireGuard VPN ngusulake set tembelan, sing bakal nggawe piranti lunak tunneling VPN minangka bagean saka kernel Linux. Nanging, tanggal pas implementasine "gagasan" tetep ora dingerteni. Ing ngisor iki, kita bakal ngomong babagan alat iki kanthi luwih rinci.

WireGuard bakal "teka" menyang kernel Linux - kenapa?
/ foto Tambako The Jaguar CC

Sedhela babagan proyek kasebut

WireGuard minangka terowongan VPN generasi sabanjure sing digawe dening Jason A. Donenfeld, CEO Edge Security. Proyèk iki dikembangaké minangka disederhanakake lan alternatif cepet kanggo OpenVPN lan IPsec. Versi pisanan produk mung ngemot 4 ewu baris kode. Kanggo mbandhingake, OpenVPN duwe sekitar 120 ewu baris, lan IPSec - 420 ewu.

Miturut miturut pangembang, WireGuard gampang kanggo ngatur lan keamanan protokol ngrambah liwat algoritma cryptographic buktiaken. Nalika ngganti jaringan: Wi-Fi, LTE utawa Ethernet kudu nyambung maneh menyang server VPN saben wektu. Server WireGuard ora mungkasi sambungan kasebut, sanajan pangguna wis nampa alamat IP anyar.

Sanajan kasunyatane WireGuard wiwitane dirancang kanggo kernel Linux, para pangembang diurus lan babagan versi portabel alat kanggo piranti Android. Aplikasi kasebut durung dikembangake kanthi lengkap, nanging sampeyan bisa nyoba saiki. Kanggo iki sampeyan kudu dadi salah sijine tester.

Umumé, WireGuard cukup populer lan malah wis dipun ginakaken sawetara panyedhiya VPN, kayata Mullvad lan AzireVPN. Diterbitake online sing nomer akeh panuntun persiyapan kaputusan iki. Tuladhane, ana panuntun, sing digawe dening pangguna, lan ana pandhuan, disiapake dening penulis proyek.

Rincian teknis

В dokumentasi resmi (p. 18) kacathet menawa throughput WireGuard kaping papat luwih dhuwur tinimbang OpenVPN: 1011 Mbit / s lawan 258 Mbit / s. WireGuard uga luwih dhisik tinimbang solusi standar kanggo Linux IPsec - nduweni 881 Mbit/s. Iku uga ngluwihi iku ing ease saka persiyapan.

Sawise tombol diijolke (sambungan VPN wis initialized akeh kaya SSH) lan sambungan ditetepake, WireGuard nangani kabeh tugas liyane ing dhewe: ana ora perlu sumelang ing bab nuntun, kontrol negara, etc. efforts konfigurasi tambahan mung bakal. dibutuhake yen sampeyan pengin nggunakake enkripsi simetris.

WireGuard bakal "teka" menyang kernel Linux - kenapa?
/ foto Anders Hojbjerg CC

Kanggo nginstal, sampeyan butuh distribusi nganggo kernel Linux sing luwih lawas tinimbang 4.1. Bisa ditemokake ing repositori distribusi Linux utama.

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

Minangka editor saka xakep.ru nyathet, ngrakit dhewe saka teks sumber uga gampang. Cukup mbukak antarmuka lan ngasilake kunci umum lan pribadi:

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

WireGuard ora nggunakake antarmuka kanggo nggarap panyedhiya crypto CryptoAPI. Nanging, stream cipher digunakake ChaCha20, kriptografi sisipan imitasi Poly1305 lan fungsi hash cryptographic proprietary.

Tombol rahasia kui nggunakake Protokol Diffie-Hellman adhedhasar kurva elips Curve25519. Nalika hashing, padha nggunakake fungsi hash BLAKE2 и SipHash. Amarga format timestamp TAI64N protokol discards paket karo nilai timestamp cilik, mangkono nyegah DoS- и serangan maneh.

Ing kasus iki, WireGuard nggunakake fungsi ioctl kanggo ngontrol I/O (sadurunge digunakake netlink), sing ndadekake kode luwih resik lan prasaja. Sampeyan bisa verifikasi iki kanthi ndeleng kode konfigurasi.

Rencana pangembang

Saiki, WireGuard minangka modul kernel sing ora ana wit. Nanging penulis proyek kasebut yaiku Jason Donenfeld ngandika, sing wektu wis teka kanggo implementasine lengkap ing kernel Linux. Amarga luwih gampang lan luwih dipercaya tinimbang solusi liyane. Jason ing babagan iki ndhukung malah Linus Torvalds dhewe nyebut kode WireGuard minangka "karya seni."

Nanging ora ana sing ngomong babagan tanggal pas kanggo introduksi WireGuard menyang kernel. LAN angel iki bakal kelakon karo release saka Agustus Linux kernel 4.18. Nanging, ana kemungkinan iki bakal kelakon ing mangsa cedhak: ing versi 4.19 utawa 5.0.

Nalika WireGuard ditambahake menyang kernel, pangembang pengin ngrampungake aplikasi kanggo piranti Android lan miwiti nulis aplikasi kanggo iOS. Ana uga rencana kanggo ngrampungake implementasine ing Go lan Rust lan port menyang macOS, Windows lan BSD. Uga direncanakake kanggo ngetrapake WireGuard kanggo "sistem eksotis" sing luwih akeh: DPDK, FPGA, uga akeh liyane menarik. Kabeh mau kadhaptar ing gawean sing kudu dilakoke penulis proyek.

PS Sawetara artikel liyane saka blog perusahaan kita:

Arah utama kegiatan kita yaiku panyedhiya layanan awan:

Infrastruktur Virtual (IaaS) | PCI DSS hosting | Awan FZ-152 | SAP hosting | Panyimpenan virtual | Enkripsi data ing méga | Panyimpenan awan

Source: www.habr.com

Add a comment