16-06-2018, Saat: 14:21
Hızlı ve güvenli olma özelliği ile yola çıkan yeni VPN protokolü WireGuard ile ilgili bilmeniz gerekenleri ve nasıl kullanacağınızı bu rehberimizde bulabilirsiniz.
VPN yazılımları günümüzde hayatımızın bir parçası haline geldi. İlk başta genel kullanımı açık ağlarda güvenli işlem yapabilmek için kullanılmış olsa da, artık coğrafi sınırlamaları aşmak, yasaklı internet sitelerine erişmek, verilerin servis sağlayıcı tarafından takip edilmesinin önüne geçmek gibi amaçlarla yaygın olarak kullanılıyor. Mobil cihazlarımızda da VPN kullanma imkanına erişmemizi takiben de kullanım alanı çok genişledi. Yeni bir protokol olan WireGuard’dan bahsetmeden önce, şu anda var olan VPN protokollerinden ve sorunlarından bahsedelim.
OpenVPN, IPsec ve Sorunları
Günümüzde yaygın olarak kullanılan VPN protokolleri OpenVPN ve IPsec’dir. OpenVPN ayarlarının kolay yapılması nedeniyle IPsec’e göre daha fazla tercih ediliyor. Milyonlarca kullanıcı tarafından bu protokoller kullanılsa da, bu protokollerin belirli sorunları mevcut. Bu sorunlardan birisi protokollerin karmaşık yapıda olmalarıdır. Örneğin OpenVPN protokolü yaklaşık olarak 120.000 kod satırından oluşuyor.
Karmaşık ve çok sayıda koddan oluşan projelerin güvenliğinin ve kontrolünün yapılması oldukça zor. Son birkaç yılda da çok sayıda ve önemli güvenlik açığı ortaya çıktı. OpenVPN ayrıca kullanıcı alanına kurulduğu ve kernel desteği olmadığı için oldukça yavaş çalışan bir protokol. Bu özellik her ne kadar uyumluluğu ve hemen hemen her sistemde kullanılabilmesini sağlasa da, bunun dezavantajı olarak düşük hız karşımıza geliyor.
IPsec, IKEv2, L2TP, PPTP ve diğer eski protokoller de halen kullanılmakta, ancak bunlar da OpenVPN gibi büyük miktar kod içeriyor. Tüm bu protokollerin kullanılması için çok sayıda gereksiz veri trafiği oluşuyor, bu yüzden de bilgisayarların ve mobil cihazların pil ömrü daha da kısalıyor. Telefonunuzda VPN yazılımlarını birkaç saat açık tuttuğunuzda şarjınızın çabucak bitme noktasını geldiğini gözlemlemişsinizdir.
Yeni WireGuard Projesi ve Avantajları
[img=640x0]https://www.technopat.net/wp-content/uploads/2018/06/WireGuard-VPN-640x480.png[/img]
WireGuard projesi güvenlik araştırmaları yürüten Edge Security firmasının da yöneticisi olan zx2c4 (Jason A. Donenfeld) tarafından geliştirildi. Aslında projenin başlangıcı 2015 yılında olsa da tamamlanması ve yaygın kullanıma uygun hale gelmesi geçen yılı buldu. Rakiplerinden farklı olarak 4.000’den daha az kod kullanılarak yazıldı ve açık kaynak kodlu (open source) olarak kullanıma sunuldu. Resimde de kod sayısı olarak rakipleriyle karşılaştırmasını görebilirsiniz.
WireGuard protokolü Linux kernelini kullanarak yürütülüyor ve yeni nesil kriptografik teknikleri kullanıyor. Hızlı, basit, geliştirmeye açık olması ve aynı zamanda da güvenlik açısından güçlü olması hedefleniyor. Veri transferi UDP üzerinden yürütülüyor. Bu sayede güvenlik duvarlarına takılmadan kullanılabiliyor.
WireGuard güvenlik ve kernel topluluğu içinde oldukça olumlu görüşlere sahip. Linux kernelinin ana geliştiricilerinden Greg KH de projenin kodlarını inceledikten sonra onayladığını ve desteklediğini bildiren bir yazı yayımladı. Açık kaynak kodlu yazılımcıları bir araya getiren çok büyük bir kongre olan FOSDEM’in geçen seneki toplantısında da projenin geliştiricisi sunum yaptı. Ayrıca akademik camiada projenin detaylarının aldığı kılavuz birçok kez incelendi.
WireGuard protokolü “stealth VPN” olarak geliştirildiği yani asıl veri gönderilmeden önce herhangi bir paket göndermediği için mobil aygıtlarla da oldukça uyumlu çalışıyor. Diğer VPN protokolleri gibi pil ömrünü tüketmiyor. Yapmış olduğumuz testlerde de tüm gün açık kalmasına rağmen %1 şarj kullanımının bile olmadığını gördük. Ek olarak WireGuard ağ bağlantıları geçişlerinde de oldukça kolaylık sağlıyor. WiFi ve hücresel veri arasında geçiş yaptığınızda bağlantı kopmuyor ve yeniden bağlanmak zorunda kalmıyorsunuz.
Hız açısından sınıfının en iyisi konumunda yer alıyor. SSSE3, AVX, AVX2, AVX512 ve NEON hızlandırma geliştirmelerini şifreleme protokolünde kullanıyor. Modern ChaCha20 şifreleme algoritmasını da kullandığından hemen hemen her donanımda çok hızlı şekilde çalışıyor. Yapılan testlerde de ilgili grafikte göreceğiniz gibi bant genişliği ve ping süresi açısından rakiplerine fark atıyor.
[img=640x0]https://www.technopat.net/wp-content/uploads/2018/06/WireGuard-VPN-Speed-640x480.png[/img]
WireGuard en hızlı VPN protokolü olmakla kalmıyor, aynı zamanda da şifreleme mekanizması matematiksel olarak da ispatlanmış. WireGuard küçük ve kolaylıkla kontrol edilebilen kodlarıyla birlikte güvenlik açısından da oldukça güvenilir bir konumda.
WireGuard ve Android Desteği
WireGuard ilk olarak Linux kernel modülü için optimize edilmiş ve geliştirilmiş olsa da kullanıcı alanını kullanan hali de mevcut olup root erişimine gerek olmadan da Play Store üzerinden indirilebilir. Kullanıcı alanını kullanan hali bile rakiplerine göre üstün olsa da, özellikle doğal kernel modülü kullanıldığında WireGuard’ın tam kapasitesine ulaşılabiliyor.
Buna yönelik çeşitli geliştirmeler yapılıyor. Öncelikle XDA camiası altında kullanıcılara sunulan birçok ROM geliştiricisi projelerine WireGuard desteği de eklemiş durumda. Ayrıca birçok kernel geliştiricisi de projeyi oluşturdukları kernellerine ekledi.
Geliştirilmeye devam edilen Android uygulaması ise eğer kullanılabilecek durumdaysa kernel modülünü kullanıyor. Diğer türlü ise kullanıcı alanını kullanacak şekilde çalışıyor. Uygulamaya Google Play Store üzerinden bu bağlantıyı kullanarak ulaşabilirsiniz.
[img=270x0]https://www.technopat.net/wp-content/uploads/2018/06/WireGuard-1-270x480.jpg[/img][img=270x0]https://www.technopat.net/wp-content/uploads/2018/06/WireGuard-2-270x480.jpg[/img]
Uygulamanın oldukça basit bir arayüzü bulunuyor. Karşınıza gelen ilk ekranda VPN sağlayıcınızın WireGuard protokolü için vermiş olduğu değerleri ya da dosyayı eklemenize yarayan + işareti mevcut. Ayarlara geldiğinizde ise WireGuard sürümünü, varsa kernel desteğini ve kernel destekli sürümü, açılışta otomatik olarak çalışma, ayarları yedeklemeye, koyu tema kullanma seçeneklerini görüyorsunuz.
WireGuard ve Windows Desteği
Şu an için Windows desteği sunan resmi bir uygulama mevcut değil. Ancak protokolün geliştiricisi bu konu üzerinde çalışıyor. Resmi olmayan TunSafe programı mevcut ,ancak kapalı kaynak kodlu bir yazılımı var. OpenVPN’nin kullandığı TAP ağ sürücülerini kullanıyor ve protokolün geliştirici tarafından bu özellikleri nedeniyle tavsiye edilmiyor.
WireGuard ve Linux Desteği
WireGuard hemen hemen her Linux dağıtımı ile birlikte kullanılabiliyor. Ubuntu, Linux Mint, Debian, Fedora, CentOS, Arch, OpenSUSE, Mageia, Slackware, Alpine, Gentoo, OpenBSD, FreeBSD ve çok daha fazlası. Tam listeye ve özel kurulum basamaklarına bu bağlantıdan ulaşabilirsiniz. Ubuntu, Linux Mint, Debian, Arch Linux için kurulumları aşağıdaki kodları terminale girerek yapabilirsiniz.
Ubuntu, Linux Mint :
Kod:
sudo add-apt-repository ppa:wireguard/wireguard
Kod:
sudo apt-get update
Kod:
sudo apt-get install wireguard
Debian :
Kod:
cho "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable-wireguard.list
Kod:
printf 'Package: *\nPin: release a=unstable\nPin-Priority: 150\n' > /etc/apt/preferences.d/limit-unstable
Kod:
apt update
Kod:
apt install wireguard
Arch Linux :
Kod:
sudo pacman -S linux-headers
Kod:
sudo pacman -S wireguard-dkms wireguard-tools
WireGuard ve macOS Desteği
Spotlight’da terminal yazarak terminali açın ve aşağıdaki komutları girin.
Kod:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Kod:
brew install wireguard-tools jq
WireGuard Desteği Sunan VPN Sağlayıcıları
Şu an için kullanımı kısıtlayan en önemli noktalardan birisi de çoğu VPN sağlayıcısının henüz WireGuard protokolünü destekleyen hizmeti sunmamış olması. Şu an için bilinen iki VPN sağlayıcısı bu hizmeti sunuyor: AzireVPN, Mullvad.
AzireVPN, WireGuard protokolünü şimdilik ücretsiz olarak kullanıma sunuyor. Bunun için bu bağlantıdan sisteme kayıt olmanız gerekiyor. Daha sonra sisteminize göre aşağıdaki ayarları yaparak bağlantınızı sağlayabilirsiniz.
Android : Bu bağlantıdan oluşturduğunuz kullanıcı adı ve şifreyi kullanarak ayar dosyasını indirin. Android uygulamasından + seçeneğine dokunarak indirmiş olduğunuz zip dosyasını seçin. Profiller otomatik olarak yüklenecektir. İstediğiniz sunuyu seçip bağlanabilirsiniz.
Linux Dağıtımları ve macOS : Terminale aşağıdaki komutları girerek kurulumu yapın.
Kod:
curl -LO https://www.azirevpn.com/dl/azirevpn-wg.sh
Kod:
chmod +x ./azirevpn-wg.sh
Kod:
./azirevpn-wg.sh
Sorulduğunda kullanıcı adınızı ve şifrenizi girin.
VPN’i kullanmak için aşağıdaki komutu girin :
Kod:
wg-quick up azirevpn-se1
VPN’i kapatmak için aşağıdaki komutu girin :
Kod:
wg-quick down azirevpn-se1
WireGuard ile ilgili daha fazla bilgiye ulaşmak için projenin kendi sitesine bu bağlantıdan ulaşabilirsiniz.