WireGuard

WireGuard, yönlendirilmeli veya köprülü ağ yapılandırmalarında noktadan noktaya (P2P) güvenli bağlantılar oluşturmak için sanal özel ağ (VPN) tekniklerini uygulayan ücretsiz ve açık kaynak kodlu bir yazılım uygulaması ve iletişim protokolüdür. Linux çekirdeği içinde bir modül olarak çalıştırılır ve IPsec ve OpenVPN tünel protokollerinden daha iyi performans hedeflemektedir. Jason A. Donenfeld tarafından yazılmıştır ve GNU Genel Kamu Lisansı (GPL) sürüm 2 altında yayınlanmıştır. Yazılım Mart 2020'nin sonlarında kararlı bir sürüme ulaştı ve Linux çekirdeği 5.6 sürümüne eklendi.

Özellikleri 
WireGuard, hem basit hem de son derece etkili bir VPN sağlamayı amaçlamaktadır. Ars Technica tarafından 2018'de yapılan bir inceleme, OpenVPN ve IPsec gibi popüler VPN teknolojilerinin kurulumu karmaşıktır, bağlantıları (konfigürasyonun eksikliğinde) kolayca kesilmektedir, yeniden bağlantılarının kurulması için müzakere edilmesi önemli zaman almaktadır, eskimiş şifreleme yöntemlerini kullanmaktadırlar ve nispeten çok büyük kodlarının (Ars Technica'ya göre sırasıyla 400.000 ve 600.000 satırın üzerinde kod) olduğunu gözlemlemiştir. Bu kadar satır kod hataları bulmayı zorlaştırmaktadır.

WireGuard'ın tasarımı bu sorunları azaltmaya odaklanmıştır, bu da tünelin varsayılan olarak daha güvenli olasını sağlar ve yönetilmesini kolaylaştırır. Şifreleme paketlerinin sürümlerini belirleyerek, en güvenli geçerli şifreleme yöntemleri arasında olduğuna inanılan şifrelere odaklanır. Ars Technica incelemesi sırasında yaklaşık 4000 satırlık saf çekirdek (OpenVPN ve IPSec ile karşılaştırıldığında onların yaklaşık %1'lik oranında) koduna sahiptir. Az sayıda kod satırına sahip olma özelliği güvenlik denetimlerini kolaylaştırır ve Linux çekirdeği yaratıcısı Linus Torvalds tarafından da "bir sanat eseri" olarak OpenVPN ve IPsec'e kıyasla övülmektedir. Ars Technica, testlerde WireGuard ile istikrarlı tünellerin oluşturulmasının alternatiflerine kıyasla daha kolay olduğunu bildirdi.

Protokol
WireGuard anahtar değişimi için Curve25519, şifreleme için ChaCha20, veri kimlik doğrulaması için Poly1305, hashtable anahtarları için SipHash ve hash için BLAKE2'leri kullanır. Hem IPv4 hem de IPv6 için ağ katman 3'ü destekler ve IPv4-in-IPv6'yı veya tam tersini kapsülleyebilir.

Mayıs 2019'da INRIA araştırmacıları protokolün makine tarafından kontrol edilen, CryptoVerif kanıt asistanını kullanılarak üretilen, bir kanıtını yayınladılar.

Tarihçe 
Kod tabanının en eski anlık görüntüleri 30 Haziran 2016'dan itibaren mevcuttur. WireGuard'ı ilk kullanan dört VPN servis sağlayıcıları Mullvad  AzireVPN, IVPN ve cryptostorm idi. WireGuard Mullvad, IVPN ve NLnet Vakfı'ndan bağış aldı. En son Mart 2020'de OVPN tarafından bağış aldı.

Haziran 2018 itibarıyla WireGuard geliştiricileri, kod ve protokolü deneysel olarak ele almayı önerdiler ve keşfedilebilecek herhangi bir güvenlik açığının CVE takibi ile uyumlu, kararlı bir sürüm elde etmediklerine dikkat ettiler.

9 Aralık 2019'da, Linux ağ yığınının birincil koruyucusu David Miller, yaklaşan çekirdeğe dahil edilmek üzere WireGuard yamalarını "sonraki ağ" sürdürücü ağacına kabul etti. 28 Ocak 2020'de Linus Torvalds, David Miller'ın bir sonraki ağ dalını birleştirdi ve WireGuard ana Linux çekirdek ağacına girdi.

20 Mart 2020'de Debian geliştiricileri, Debian 11 sürümü (test) için çekirdek yapılandırması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 sürümündedir.

30 Mart 2020'de Android geliştiricileri Genel Çekirdek Görüntüsüne WireGuard için yerel çekirdek desteği eklediler.

Tepkiler 
Oregon senatörü Ron Wyden, Ulusal Standartlar ve Teknoloji Enstitüsü'ne (NIST) WireGuard'ı IPsec ve OpenVPN gibi mevcut teknolojilerin yerini almasını önerdi.

Uygulamalar 
WireGuard protokolünün uygulamaları şunları içerir:
 Donenfeld'in ilk uygulaması, C ve Go ile yazılmıştı.
 Cloudflare'nin BoringTun'i, Rust ile yazılmış bir kullanıcı alanı uygulamasıdır.

Wireguard'ı destekleyen kullanıcı alanı programları 
WireGuard'ı destekleyen kullanıcı alanı programları şunları içerir:
 NetworkManager, 1.16 sürümünden beri
 systemd, 237 sürümünden beri
 Intel ConnMan, sürüm 1.38'den beri 
 Mozilla'nın Firefox Özel Ağı

Konuyla ilgili yayınlar 
 Wireguard'ın teknik tanıtım belgesi

Dış bağlantılar

Notlar

Kaynakça 

Ücretsiz güvenlik yazılımları
Tünel protokolleri
Unix ağ yazılımları
Sanal özel ağlar