Fexyn
Fexyn
All posts

VPN kill switch ne işe yarar (ve çoğu neden işe yaramaz)

Fexyn Team··5 min read

VPN kill switch, VPN bağlantısı düştüğünde tüm internet trafiğini bloklayan bir özellik. Amaç: client yeniden bağlanırken senin gerçek IP'n sızmasın. Her VPN bunun kendinde olduğunu söyler. Çoğu işe yaramaz.

Sorun, kill switch'in nerede yaşadığında. Eğer VPN app'in içinde yaşıyorsa — ancak app düşüşü fark ettikten sonra tepki verebilir. Bu userland kodu, paketlerini zaten yönlendirmiş bir OS'la yarış halinde.

Kimsenin konuşmadığı 200ms boşluğu

Kernel seviyesinde kill switch olmadan VPN tüneli düştüğünde olan şey:

  1. Uzak endpoint cevap vermeyi bırakır. Belki sunucu yeniden başladı, belki ağ değişti, belki bir routing flap oldu.
  2. Client'ın bunu fark etmesi 200ms ile birkaç saniye arası alır. Çoğu client heartbeat-style health check kullanır. WireGuard varsayılan olarak 25 saniyede bir ping atar. OpenVPN'in keepalive'ı yapılandırılabilir ama genellikle 10-60 saniyedir.
  3. O boşlukta işletim sistemin hala tünelin açık olduğunu düşünür. Trafiği tünel arayüzüne yönlendirmeye devam eder.
  4. Tünel arayüzü paketleri düşürür — ama bazı yapılandırmalarda fallback routing devreye girer ve paketler senin gerçek arayüzünden çıkar. Tarayıcın istek yollamaya devam eder, e-posta client'ın poll yapmaya devam eder, IM client'ların TCP oturumlarını canlı tutar.
  5. Hedef sunucular senin gerçek IP'ni loglar. Streaming servisi oturum kaydını günceller. ISP'n tünelin içinde resolve edilmesi gereken cleartext DNS sorgusunu görür.

VPN client uyanıp userland kill switch'ini tetiklediğinde — kaçak zaten olmuş.

Çoğu VPN kill switch'i bu. Olaydan sonra aktive olurlar.

Gerçek bir kill switch nerede yaşar

Kernel seviyesinde kill switch, VPN client process'inde değil — işletim sisteminin network stack'inde oturur. Windows'ta bu Windows Filtering Platform — Windows Defender Firewall'un kullandığı aynı firewall API'si. macOS'ta Network Extension framework. Linux'ta nftables/iptables kuralları PF_INET hook'larıyla.

Üç özellik bunu çalışır kılıyor:

VPN handshake tamamlanmadan önce devreye girer. Connect'e bastığında, kill switch filtrelerini ilk önce kurar. Handshake, kill switch'in spesifik VPN endpoint'i için açtığı bir delikten geçer. Handshake başarısız olursa, dışarı hiçbir şey çıkmaz.

Client çökmesinden sağ çıkar. VPN app process'i ölürse, kill switch bloklamaya devam eder. Userland kill switch'leri kendi app'leriyle birlikte ölür — ve Windows app çıktığı an normal routing'i memnuniyetle geri yükler.

Network değişikliklerinden, sleep ve resume'dan sağ çıkar. Wi-Fi'dan ethernet'e geçmek, kapağı kapatmak, hibernate, hotspot değiştirmek — bunların hepsi in-app kill switch'in ayrı state değişiklikleri olarak işlemesi gereken olaylar. WFP kuralları bunların altında. Yetkili bir process açıkça kaldırana kadar yerlerinde kalırlar.

Fexyn nasıl uyguluyor

Fexyn'in Windows client'ı iki parçaya ayrılır: signed-in olduğun user-rights UI ve SYSTEM-level helper service. WFP filtrelerine sadece helper service sahip. Connect'e bastığında:

  1. Helper service WFP filtrelerini kurar — şunlar dışında tüm outbound trafiği bloklar: (a) loopback, (b) spesifik VPN endpoint:port ve (c) handshake için local gateway'e DHCP/DNS.
  2. VPN handshake o açılmış delikten geçer.
  3. Tünel açıldığında, routing table her şeyi tünel arayüzüne gönderir. WFP filtreleri yerinde kalır; sadece çoğu trafiği görmezler çünkü tünel artık en az direnç yolu.
  4. Tünel düşerse, routing table tünel route'unu kaybeder. Trafik default arayüze geri düşer. WFP filtreleri onu bloklar. Tarayıcın "internet yok" hatası gösterir. Gerçek IP'n gizli kalır.
  5. Helper başarıyla yeniden bağlandığında, yeni tünel endpoint'i farklı olabilir. Helper carve-out'u günceller, trafik tekrar akar.

Kullanıcı hiçbir şey devre dışı bırakmaz. UI hiç admin istemez. Kill switch UI'nin canlı olmasına bağlı değil.

Türkiye için pratikte ne anlama geliyor

Türkiye'de Türk Telekom ve büyük mobil operatörler tüketici bağlantılarında DPI çalıştırıyor. BTK düzenli olarak engelleme talimatları veriyor. Tünel düştüğünde — ki Türkiye'deki rastgele troubling event'lerinde olabilir — gerçek IP'n sızarsa, ISP'n ve oradan yetkililer ne yaptığını görür.

Kernel seviyesinde kill switch o sızıntı penceresini kapatır. Wireshark açıp zorla VPN drop yap (ağı çek, Wi-Fi değiştir, suspend et). Userland kill switch ile düşüş sonrası bir süre — genelde 200ms ile birkaç saniye — alttaki arayüzde paket akışını görürsün. WFP-tabanlı kill switch ile ya tünel yeniden bağlanana kadar ya da kill switch'i açıkça kapatana kadar hiçbir şey görmezsin.

İkincisi istediğin şey.

Kill switch'in çözmediği şeyler

Kill switch bir spesifik problemi çözer: tünel geçişleri sırasında trafik kaçakları. Şunları yapmaz:

  • Compromised endpoint'i korumaz. Laptop'un infected ise, malware trafiği kernel görmeden önce görür.
  • Tek başına DNS leak'leri durdurmaz. DNS leak prevention ayrı bir katman (Windows'ta NRPT, protokol config'inde force-DNS-through-tunnel). Sadece kill switch yanlış configured DNS'i düzeltmez.
  • WebRTC leak'leri engellemez. Browser WebRTC network seviyesinin üstünde çalışır; tarayıcı senin gerçek IP'ni biliyor — ağın ne gördüğüne bakmaksızın. Tamamen farklı fix.

Bir VPN'i değerlendirirken sorular

Eğer bir VPN'in kill switch'ini değerlendiriyorsan, sorular şunlar:

  1. Handshake tamamlanmadan mı devreye giriyor, yoksa sadece sonra mı?
  2. VPN client çökse bile sağ kalıyor mu?
  3. Kernel seviyesinde firewall kuralı mı yoksa userland reconnect loop mu?
  4. Loopback'e izin veriyor mu — local dev sunucuların çalışmaya devam etsin diye?

Dürüst cevaplar genelde marketing copy'sinde değil, product documentation'ında çıkar. Marketing copy her zaman "kill switch" diyecek — ne tür olduğunu söylemeden.

Fexyn için:

  • WFP-tabanlı, kernel seviyesi
  • Handshake öncesi devreye girer
  • Helper-service crash, sleep, resume, network değişikliğinden sağ çıkar
  • Loopback'e (127.0.0.0/8 ve ::1) ve link-local'a izin verir

İlgili okuma

Fexyn'i 7 gün ücretsiz dene. Kill switch varsayılan olarak açık — açman gerekmiyor.

VPN kill switch ne işe yarar (ve çoğu neden işe yaramaz) | Fexyn VPN