WireGuard - WireGuard
| Orijinal yazar(lar) | Jason A. Donenfeld |
|---|---|
| Geliştirici(ler) | Jason A. Donenfeld |
| kararlı sürüm | 1.0.20210219 / 19 Şubat 2021
|
| depo | |
| Yazılmış | C ( Linux , FreeBSD çekirdek modülleri, NetBSD , OpenBSD çekirdek sürücüleri), Go (kullanıcı alanı uygulaması) |
| İşletim sistemi | |
| Tip | Sanal özel ağ |
| Lisans | çeşitli ücretsiz ve açık kaynak |
| İnternet sitesi | www |
WireGuard , şifreli sanal özel ağları (VPN'ler) uygulayan ve kullanım kolaylığı, yüksek hız performansı ve düşük saldırı yüzeyi hedefleri ile tasarlanmış bir iletişim protokolü ve ücretsiz ve açık kaynaklı bir yazılımdır . İki ortak tünel protokolü olan IPsec ve OpenVPN'den daha iyi performans ve daha fazla güç hedefliyor . WireGuard protokolü trafiği UDP üzerinden geçirir .
Mart 2020 yılında yazılımın Linux sürümü istikrarlı üretim salınımını ulaştı ve Linux 5.6 kernel içine dahil edildi ve backported bazılarında önceki Linux çekirdekleri için Linux dağıtımlarında . Linux çekirdeği bileşenleri, GNU Genel Kamu Lisansı (GPL) sürüm 2 kapsamında lisanslanmıştır; diğer uygulamalar GPLv2 veya diğer ücretsiz/açık kaynak lisansları altındadır.
Protokol
WireGuard aşağıdakileri kullanır:
- Anahtar değişimi için Curve25519
- Simetrik şifreleme için ChaCha20
- Mesaj doğrulama kodları için Poly1305
- Hashtable anahtarları için SipHash
- Kriptografik hash fonksiyonu için BLAKE2'ler
- Yalnızca UDP tabanlı
Mayıs 2019 yılında gelen araştırmacılar INRIA kullanılarak üretilen WireGuard bir makine kontrol kanıtı, yayınlanan CryptoVerif geçirmez yardımcısı .
WireGuard, kuantum hesaplamada gelecekteki ilerlemeleri azaltmak için ek bir simetrik şifreleme katmanı sağlayan önceden paylaşılan simetrik anahtar modunu destekler . Kuantum bilgisayarların Curve25519'u kırabilene kadar trafiğin depolanması riski ; hangi noktada trafiğin şifresi çözülebilir. Önceden paylaşılan anahtarlar "anahtar yönetimi açısından genellikle sorunludur ve çalınma olasılığı daha yüksektir", ancak daha kısa vadede, simetrik anahtar tehlikeye girerse, Curve25519 anahtarları hala yeterli korumadan fazlasını sağlar.
ağ
WireGuard yalnızca UDP kullanır ve bu nedenle UDP trafiğini engelleyen ağlarda çalışmaz. Bu, TCP üzerinden TCP yönlendirmesinin birçok dezavantajı nedeniyle OpenVPN gibi alternatiflerden farklıdır .
WireGuard, hem tünelin içinde hem de dışında IPv6'yı tam olarak destekler. Sadece destekler 3 tabaka hem IPv4 ve IPv6 edebilir kapsülleyen V4-in-V6 ve tersi de geçerlidir.
WireGuard birden çok topolojiyi destekler :
- noktadan noktaya
-
Yıldız (sunucu/istemci)
- İstemci veri göndermeye başlamadan önce bir istemci uç noktasının tanımlanması gerekmez.
- İstemci uç noktaları statik olarak önceden tanımlanabilir.
- ağ
Yana noktadan noktaya desteklenir, diğer topolojileri ancak aynı tünel üzerinde yapılabilir.
genişletilebilirlik
WireGuard, üçüncü taraf programlar ve komut dosyaları tarafından genişletilmek üzere tasarlanmıştır. Bu, WireGuard'ı daha kullanıcı dostu yönetim arabirimleri (anahtarların daha kolay ayarlanması dahil), günlük kaydı, dinamik güvenlik duvarı güncellemeleri ve LDAP entegrasyonu dahil olmak üzere çeşitli özelliklerle güçlendirmek için kullanılmıştır .
Bu tür karmaşık özellikleri minimum çekirdek kod tabanından hariç tutmak, kararlılığını ve güvenliğini artırır. Güvenliği sağlamak için WireGuard, kriptografik kontrolleri uygulama seçeneklerini kısıtlar, anahtar değişim süreçleri seçimlerini sınırlar ve algoritmaları modern kriptografik ilkellerin küçük bir alt kümesine eşler . İlkellerden herhangi birinde bir kusur bulunursa, sorunu çözen yeni bir sürüm yayınlanabilir. Ayrıca, genel uygulamanın güvenliğini etkileyen yapılandırma ayarları, ayrıcalığı olmayan kullanıcılar tarafından değiştirilemez.
Resepsiyon
WireGuard, basit ve etkili bir sanal özel ağ uygulaması sağlamayı amaçlar. Ars Technica tarafından 2018'de yapılan bir inceleme , OpenVPN ve IPsec gibi popüler VPN teknolojilerinin genellikle kurulumunun karmaşık olduğunu, bağlantılarının kolayca kesildiğini (daha fazla yapılandırmanın yokluğunda), yeniden bağlantıların müzakere edilmesinin önemli ölçüde zaman aldığını, eski şifreler kullanabileceğini ve nispeten büyük olduğunu gözlemledi. Hata ayıklamayı engelleyen sırasıyla 400.000 ve 600.000 kod satırından oluşan kod tabanları.
WireGuard'ın tasarımı, tüneli varsayılan olarak daha güvenli ve yönetimi daha kolay hale getirmeyi hedefleyerek bu sorunları azaltmayı amaçlamaktadır. Kriptografi paketlerinin sürümlerini kullanarak, en güvenli mevcut şifreleme yöntemlerinden biri olduğuna inanılan şifrelere odaklanır ve Ars Technica incelemesi sırasında, OpenVPN veya IPsec'in yaklaşık %1'i olan yaklaşık 4000 satırlık çekirdek kodundan oluşan bir kod tabanına sahipti. , güvenlik denetimlerini kolaylaştırır. WireGuard, OpenVPN ve IPsec'in aksine onu bir "sanat eseri" olarak nitelendiren Linux çekirdeği yaratıcısı Linus Torvalds tarafından övüldü . Ars Technica , testlerde WireGuard ile alternatiflere kıyasla kolayca kararlı tüneller oluşturulduğunu bildirdi ve WireGuard'ın "saçmalık" anında yeniden bağlantılarına kıyasla uzun yeniden bağlantı gecikmelerine "geri dönmenin" zor olacağını belirtti.
Oregon senatörü Ron Wyden , Ulusal Standartlar ve Teknoloji Enstitüsü'ne (NIST) WireGuard'ı IPsec ve OpenVPN gibi mevcut teknolojilerin yerini alacak şekilde değerlendirmelerini tavsiye etti .
kullanılabilirlik
Uygulamalar
WireGuard protokolünün uygulamaları şunları içerir:
- Donenfeld'in C ve Go ile yazılmış ilk uygulaması.
- Cloudflare 's BoringTun, Rust ile yazılmış bir kullanıcı alanı uygulaması .
- Matt Dunwoodie'nin C ile yazılmış OpenBSD uygulaması.
- NetBSD için Ryota Ozaki'nin wg(4) uygulaması C ile yazılmıştır.
- FreeBSD uygulaması C ile yazılmıştır ve veri yolunun çoğunu OpenBSD uygulamasıyla paylaşır.
- OpenWrt Projesi: WireGuard
- Ağustos 2021'den beri "wireguard-nt" adlı yerel Windows çekirdek uygulaması
- OPNsense standart paket os-WireGuard ile
- standart paket aracılığıyla pfSense (pfSense-pkg-WireGuard) (Netgate onaylı bir topluluk paketi)
Linux desteği
WireGuard'ı destekleyen kullanıcı alanı programları şunları içerir:
- 1.16 sürümünden beri NetworkManager
- 237 sürümünden beri systemd
- 1.38 sürümünden bu yana Intel'in ConnMan'i
- 3.7.4.0 sürümünden beri IPVanish VPN
- Mozilla VPN ( Mullvad ile )
- NOIA Ağı
- Nordlynx üzerinden NordVPN
- 17 Ekim 2019'dan beri PiVPN
- 10 Nisan 2020'den beri Özel İnternet Erişimi VPN
- Temmuz 2021'den beri ProtonVPN
- Surfshark Ekim 2020'den beri
- Mart 2020'den beri Mistborn (yazılım) VPN
- Kasım 2020'den bu yana " Kırılmaz Kurumsal Çekirdek " Sürüm 6 Güncelleme 1 ile Oracle Linux
- oVPN Şubat 2020'den beri, 2021'de kullanıma sunuluyor
- 2020'den beri Torguard
- Trust.zone VPN, Şubat 2021'den beri
- Mayıs 2019'dan beri Veeam Powered Network v2
- VPN Sınırsız Kasım 2019'dan beri
- Mayıs 2020'den beri Vypr VPN
- 2020'de Windscribe
Tarih
Kod tabanının ilk anlık görüntüleri 30 Haziran 2016'dan itibaren mevcuttur. WireGuard'ı ilk benimseyen dört kişi VPN servis sağlayıcıları Mullvad , AzireVPN, IVPN ve cryptostorm'du. WireGuard Mullvad, Private Internet Access , IVPN , NLnet Foundation ve şimdi de OVPN'den bağışlar aldı.
Haziran 2018 itibariyle WireGuard geliştiricileri, kodun ve protokolün deneysel olarak ele alınmasını tavsiye ediyor ve keşfedilebilecek herhangi bir güvenlik açığının CVE izlemesiyle uyumlu kararlı bir sürüm henüz elde etmediklerine dikkat ediyor .
9 Aralık 2019'da, Linux ağ yığınının birincil koruyucusu olan David Miller, yaklaşan bir çekirdeğe dahil edilmek üzere WireGuard yamalarını "net-next" bakımcı ağacına kabul etti.
28 Ocak 2020'de Linus Torvalds , David Miller'ın ağ sonraki ağacını birleştirdi ve WireGuard ana hat Linux çekirdek ağacına girdi.
20 Mart 2020'de Debian geliştiricileri, Debian 11 sürümü (test) için çekirdek yapılandırmalarında WireGuard için modül oluşturma seçeneklerini etkinleştirdi.
29 Mart 2020'de WireGuard, Linux 5.6 sürüm ağacına dahil edildi. Yazılımın Windows sürümü beta olarak kalır.
30 Mart 2020'de Android geliştiricileri, Genel Çekirdek Görüntülerine WireGuard için yerel çekirdek desteği ekledi.
22 Nisan 2020'de NetworkManager geliştiricisi Beniamino Galvani , WireGuard için GUI desteğini birleştirdi .
12 Mayıs 2020'de Matt Dunwoodie, OpenBSD'de WireGuard'ın yerel çekirdek desteği için yamalar önerdi .
22 Haziran 2020'de Matt Dunwoodie ve Jason A. Donenfeld'in çalışmasından sonra WireGuard desteği OpenBSD'ye aktarıldı.
23 Kasım 2020'de Jason A. Donenfeld , kurulum, kararlılık, ARM desteği ve kurumsal özellikleri iyileştiren bir Windows paketi güncellemesi yayınladı .
29 Kasım 2020'de WireGuard desteği FreeBSD 13 çekirdeğine aktarıldı .
Ocak 2021 19 tarihinde WireGuard desteği önizleme için eklenmiştir pfSense Community Edition (CE) 2.5.0 geliştirme anlık.
Mart 2021'de çekirdek modu WireGuard desteği FreeBSD 13.0'dan kaldırıldı, FreeBSD WireGuard'da acil bir kod temizliği hızlı bir şekilde tamamlanamadığından hala test aşamasında. FreeBSD tabanlı pfSense Community Edition (CE) 2.5.0 ve pfSense Plus 21.02, çekirdek tabanlı WireGuard'ı da kaldırdı.
Mayıs 2021'de WireGuard desteği, pfSense topluluğunun bir üyesi olan Christian McDonald tarafından yazılan deneysel bir paket olarak pfSense CE ve pfSense Plus geliştirme anlık görüntülerine yeniden sunuldu. pfSense için WireGuard paketi, başlangıçta Netgate tarafından desteklenen Jason A. Donenfeld'in devam eden çekirdek modu WireGuard geliştirme çalışmasını içerir.
Haziran 2021'de hem pfSense CE 2.5.2 hem de pfSense Plus 21.05 için resmi paket havuzları WireGuard paketini içeriyordu.
Ayrıca bakınız
- Sanal özel ağ hizmetlerinin karşılaştırılması
- Güvenli Kabuk (SSH), güvenli olmayan bir ağ üzerinden hizmetlerin güvenliğini sağlamak için kullanılan bir kriptografik ağ protokolüdür.