WireGuard Linux çekirdeğine "gelecek" - neden?

Temmuz ayının sonunda WireGuard VPN tünelinin geliştiricileri şunları önerdi: yama setiBu da VPN tünelleme yazılımlarını Linux çekirdeğinin bir parçası haline getirecek. Ancak “fikrin” kesin uygulama tarihi bilinmiyor. Kesimin altında bu araç hakkında daha ayrıntılı olarak konuşacağız.

WireGuard Linux çekirdeğine "gelecek" - neden?
/ Fotoğraf Tambako Jaguar CC

Proje hakkında kısaca

WireGuard, Edge Security CEO'su Jason A. Donenfeld tarafından oluşturulan yeni nesil bir VPN tünelidir. Proje şu şekilde geliştirildi: basitleştirilmiş ve OpenVPN ve IPsec'e hızlı bir alternatif. Ürünün ilk versiyonu sadece 4 bin satır kod içeriyordu. Karşılaştırma için OpenVPN'de yaklaşık 120 bin satır ve IPSec - 420 bin satır var.

Üzerinde göre geliştiriciler, WireGuard'ın yapılandırılması kolaydır ve protokol güvenliği sağlanır kanıtlanmış kriptografik algoritmalar aracılığıyla. Ağı değiştirirken: Wi-Fi, LTE veya Ethernet'in her seferinde VPN sunucusuna yeniden bağlanması gerekir. WireGuard sunucuları, kullanıcı yeni bir IP adresi almış olsa bile bağlantıyı sonlandırmaz.

WireGuard'ın başlangıçta Linux çekirdeği için tasarlanmış olmasına rağmen geliştiriciler halledilir ve aracın Android cihazlar için taşınabilir bir sürümü hakkında. Uygulama henüz tam olarak geliştirilmedi ancak şimdi deneyebilirsiniz. Bunun için ihtiyacınız var testçilerden biri olun.

Genel olarak WireGuard oldukça popülerdir ve hatta uygulanan Mullvad ve AzireVPN gibi çeşitli VPN sağlayıcıları. Çevrimiçi yayınlandı bir çok kurulum kılavuzları bu karar. Örneğin, rehberler varKullanıcılar tarafından oluşturulan ve rehberler bulunan, projenin yazarları tarafından hazırlanan.

Teknik

В resmi belgeler (s. 18) WireGuard'ın veriminin OpenVPN'den dört kat daha yüksek olduğu belirtiliyor: sırasıyla 1011 Mbit/s ve 258 Mbit/s. WireGuard aynı zamanda Linux IPsec için standart çözümün de ilerisindedir - 881 Mbit/s'ye sahiptir. Kurulum kolaylığı açısından da onu geride bırakıyor.

Anahtarlar değiştirildikten (VPN bağlantısı SSH'ye benzer şekilde başlatılır) ve bağlantı kurulduktan sonra WireGuard diğer tüm görevleri kendi başına gerçekleştirir: yönlendirme, durum kontrolü vb. konusunda endişelenmenize gerek yoktur. Ek yapılandırma çabaları yalnızca Simetrik şifrelemeyi kullanmak istiyorsanız gereklidir.

WireGuard Linux çekirdeğine "gelecek" - neden?
/ Fotoğraf Anders Hojbjerg CC

Yüklemek için 4.1'den daha eski bir Linux çekirdeğine sahip bir dağıtıma ihtiyacınız olacak. Büyük Linux dağıtımlarının depolarında bulunabilir.

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

Xakep.ru editörlerinin belirttiği gibi, kaynak metinlerden kendi kendine derleme de kolaydır. Arayüzü açıp genel ve özel anahtarlar oluşturmak yeterlidir:

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

WireGuard kullanmıyor bir kripto sağlayıcıyla çalışmak için arayüz CryptoAPI. Bunun yerine bir akış şifresi kullanılır ChaCha20, kriptografik taklit ekleme Poly1305 ve tescilli şifreleme karma işlevleri.

Gizli anahtar kullanılarak oluşturulur Diffie-Hellman protokolü eliptik eğriye dayalı Eğri25519. Karma işlemi yaparken şunu kullanırlar: karma işlevleri BLAKE2 и SipHash. Zaman damgası biçimi nedeniyle TAI64N protokol daha küçük zaman damgası değerine sahip paketleri atar, böylece DoS'u önleme и tekrar saldırıları.

Bu durumda WireGuard, G/Ç'yi kontrol etmek için ioctl işlevini kullanır (daha önce ağ bağlantısı), bu da kodu daha temiz ve basit hale getirir. Bunu bakarak doğrulayabilirsiniz konfigürasyon kodu.

Geliştirici planları

Şimdilik WireGuard ağaç dışı bir çekirdek modülüdür. Ancak projenin yazarı Jason Donenfeld'dir. diyorLinux çekirdeğinde tam uygulamanın zamanı geldi. Çünkü diğer çözümlere göre daha basit ve daha güvenilirdir. Jason bu konuda поддерживает Linus Torvalds bile WireGuard kodunu "sanat eseri" olarak adlandırdı.

Ancak hiç kimse WireGuard'ın çekirdeğe girişinin kesin tarihlerinden bahsetmiyor. VE zorlukla bu, Ağustos Linux çekirdeği 4.18'in piyasaya sürülmesiyle gerçekleşecek. Ancak bunun çok yakın gelecekte gerçekleşme ihtimali var: 4.19 veya 5.0 sürümünde.

WireGuard çekirdeğe eklendiğinde geliştiriciler хотят Android cihazlar için uygulamayı sonlandırın ve iOS için bir uygulama yazmaya başlayın. Ayrıca Go ve Rust'taki uygulamaları tamamlayıp bunları macOS, Windows ve BSD'ye taşıma planları da var. Ayrıca daha “egzotik sistemler” için WireGuard'ın uygulanması da planlanıyor: DPDK, FPGAve diğer birçok ilginç şey. Hepsi listelenmiştir yapılacaklar listesi projenin yazarları.

PS Kurumsal blogumuzdan birkaç makale daha:

Faaliyetimizin ana yönü bulut hizmetlerinin sağlanmasıdır:

Sanal Altyapı (IaaS) | PCI DSS barındırma | Bulut FZ-152 | SAP barındırma | Sanal depolama | Buluttaki verileri şifreleme | Bulut depolama

Kaynak: habr.com

Yorum ekle