DNS sızıntısı, tüm ağ trafiğini VPN veya proxy gibi bir gizlilik hizmeti üzerinden yönlendirmesi gereken bir cihazın, DNS sorgularını yanlışlıkla varsayılan ISP DNS sunucuları üzerinden doğrudan internete göndermesi ve böylece kullanıcının çevrimiçi etkinliğini açığa çıkarmasıdır. Ana bağlantı güvenli görünse bile internet servis sağlayıcısı (ISP) erişilen siteleri ve hizmetleri kaydedebildiği için bu durum gizliliği tehlikeye atar.
DNS çözümlemesini anlamak
Domain Name System (DNS), insan tarafından okunabilir alan adlarını (örneğin example.com) makine tarafından okunabilir IP adreslerine (örneğin 192.0.2.1) çevirir. Bir kullanıcı siteye erişmeye çalıştığında işletim sistemi (İS), yapılandırılmış bir DNS sunucusuna DNS sorgusu gönderir. Proxy veya VPN olmadan bu sorgu genellikle ISP'nin DNS sunucularına gider. Proxy veya VPN kullanıldığında ise amaç, bu sorguların hizmetin kendi DNS çözümleyicileri üzerinden ya da güvenli iletim yoluyla hizmet üzerinden yönlendirilmesidir.
Standart DNS (UDP/TCP port 53)
Geleneksel DNS sorguları şifrelenmeden, çoğunlukla UDP port 53 üzerinden gönderilir. Bu da onları dinlemeye ve manipülasyona açık hale getirir. Ana veri trafiği bir proxy veya VPN tarafından şifrelense bile, şifrelenmemiş DNS sorguları gezinme alışkanlıklarınızı yine de ele verebilir.
Şifreli DNS protokolleri
Standart DNS'in gizlilik ve güvenlik risklerini azaltmak için birkaç şifreli protokol ortaya çıktı:
- DNS over HTTPS (DoH): DNS sorgularını genellikle TCP port 443 üzerinden HTTPS trafiğinin içine kapsüller. Bu, DNS trafiğini normal web trafiğiyle harmanlayarak ayırt edilmesini ve engellenmesini zorlaştırır.
- DNS over TLS (DoT): DNS sorgularını TLS ile, genellikle TCP port 853 üzerinden şifreler. DoT, DNS için ayrılmış, şifreli bir kanal sağlar.
- DNSCrypt: istemci ile DNS çözümleyici arasındaki DNS trafiğini şifreleyen daha eski bir protokol.
Bu protokoller, üçüncü tarafların DNS sorgularını gözlemlemesini veya değiştirmesini engelleyerek gizliliği artırır. Ancak sistem belirli senaryolarda şifrelenmemiş DNS'e geri dönerse, bu protokollerin kullanılması tek başına DNS sızıntısını engellemez.
DNS sızıntısının mekanizmaları
DNS sızıntıları genellikle hatalı yapılandırmalardan veya amaçlanan güvenli tüneli atlayan belirli İS davranışlarından kaynaklanır.
İS düzeyinde DNS işleme
İşletim sistemleri sızıntıya yol açan davranışlar sergileyebilir:
- Windows Smart Multi-Homed Name Resolution: birden fazla etkin ağ arayüzü bulunan Windows sistemlerinde (örneğin Wi-Fi ve Ethernet ya da bir VPN/proxy arayüzü ile fiziksel bir arayüz), İS mevcut tüm DNS sunucularını aynı anda sorgulayıp en hızlı yanıtı kullanabilir. En hızlı yanıt ISP'nin DNS sunucusundan gelirse sızıntı oluşur.
- IPv6 yedeklemesi: IPv4 trafiği proxy veya VPN üzerinden doğru şekilde yönlendirilse bile İS, alan adlarını IPv6 ile çözümlemeye çalışabilir. Proxy/VPN hizmeti IPv6'yı tam desteklemiyorsa ya da IPv6 DNS çözümleyicileri doğru yapılandırılmamışsa, IPv6 DNS sorguları tüneli atlayıp doğrudan ISP'nin IPv6 DNS sunucularına gidebilir.
- DHCP ile atanan DNS sunucuları: bir ağa bağlanırken cihaz, DNS sunucu adreslerini DHCP üzerinden alır. Proxy/VPN istemcisi bu varsayılan DNS ayarlarını doğru biçimde geçersiz kılamaz veya engelleyemezse İS bunları kullanmaya devam edebilir.
Proxy/VPN istemcisi arızaları
- Yazılım çökmeleri veya bağlantı kopmaları: proxy veya VPN istemci yazılımı beklenmedik şekilde çökerse ya da bağlantı koparsa sistem, kullanıcı fark etmeden ISP'nin DNS sunucuları dahil varsayılan ağ ayarlarına dönebilir.
- Hatalı split tunneling yapılandırması: split tunneling meşru bir özellik olsa da yanlış yapılandırma, hariç tutulan uygulama veya hedeflere ait DNS sorgularının güvenli tüneli atlamasına yol açabilir.
- DNS sızıntı korumasının olmaması: bazı proxy veya VPN hizmetleri, kendi DNS sunucularını otomatik olarak ayarlamak ya da harici DNS sorgularını engellemek gibi güçlü sızıntı önleme mekanizmaları sunmayabilir.
Tarayıcıya özgü DNS ayarları
Bazı web tarayıcıları (örneğin Chrome, Firefox), İS'nin DNS ayarlarından bağımsız olarak yapılandırılabilen kendi DoH uygulamalarını sunar. Bir tarayıcı belirli bir DoH sağlayıcısını kullanacak şekilde ayarlanmışsa ve proxy/VPN hizmeti bunu yakalamıyor veya yönetmiyorsa, tarayıcının DNS sorguları güvenli tüneli atlayabilir.
DNS sızıntısının sonuçları
- Gizliliğin ihlali: en önemli sonuç budur. ISP'niz ve muhtemelen ISP trafiğini izleyen diğer taraflar DNS sorgularınızı görebilir; bu da eriştiğiniz siteleri, yayın hizmetlerini ve çevrimiçi uygulamaları açığa çıkarır. Bu veriler profilleme, hedefli reklam veya devlet gözetimi için kullanılabilir.
- Bölge kısıtlamalarını aşmanın başarısız olması: kullanıcı bölge kısıtlamalarını aşmak için bir proxy hizmetine güveniyorsa, DNS sızıntısı gerçek coğrafi konumu içerik sağlayıcılara ifşa eder ve erişim engellenir.
- Güvenlik riskleri: kullanıcı bir kurumsal ağa bağlıysa DNS sorguları iç ağ kaynakları hakkında hassas bilgileri açığa çıkarabilir. Ayrıca şifrelenmemiş DNS sorguları, bir saldırganın kullanıcıları kötü amaçlı sitelere yönlendirebildiği DNS spoofing saldırılarına açıktır.
DNS sızıntısını tespit etme
DNS sızıntılarını tespit etmek için çeşitli yöntemler kullanılabilir.
Çevrimiçi DNS sızıntı testi araçları
Birçok site otomatik DNS sızıntı tespiti sunar. Bu araçlar genellikle şu adımları izler:
1. Tarayıcınıza bir dizi benzersiz alan adını çözümlemesi talimatını verirler.
2. Bu alan adlarını hangi DNS sunucularının çözümlediğini gözlemlerler.
3. Çözümlemeyi yapan DNS sunucularının IP adreslerini, proxy/VPN tünelinizin çıkış düğümünün IP adresiyle karşılaştırırlar.
4. DNS sunucularının IP adresleri ISP'nize veya proxy/VPN hizmetinizle ilişkisi olmayan başka bir tarafa aitse sızıntı var demektir.
Bu tür araçlara örnek olarak dnsleaktest.com ve ipleak.net verilebilir.
DNS sunucularını el ile doğrulama
Komut satırı araçları, sisteminizin o anda kullandığı DNS sunucularını gösterebilir.
Windows:
ipconfig /all
Etkin ağ bağdaştırıcınızın altındaki DNS Servers satırına bakın.
Port 53'teki etkin bağlantıları kontrol etmek için:
netstat -an | findstr ":53"
Bu komut, port 53'teki etkin UDP ve TCP bağlantılarını listeler. Proxy/VPN'inizin DNS'i ya da 127.0.0.1 (proxy yerel DNS'i işliyorsa) dışındaki IP adreslerine bağlantı görüyorsanız bu bir sızıntıya işaret eder.
macOS:
scutil --dns
nameserver[0] girdilerini inceleyin.
Port 53'teki etkin bağlantıları kontrol etmek için:
lsof -i :53
Linux:
cat /etc/resolv.conf
nameserver girdileri yapılandırılmış DNS sunucularını gösterir. systemd-resolved veya benzeri hizmetleri kullanan sistemlerde resolv.conf dosyasının yerel bir çözümleyiciye (örneğin 127.0.0.53) işaret edebileceğini ve sorguların oradan iletildiğini unutmayın. Bu durumda yerel çözümleyicinin yapılandırmasını da incelemek gerekir.
Port 53'teki etkin bağlantıları kontrol etmek için:
sudo netstat -tulpn | grep :53
DNS sızıntılarını önleme
Etkili DNS sızıntı önleme, güçlü proxy/VPN istemci özelliklerini İS düzeyindeki yapılandırmalarla birleştiren çok katmanlı bir yaklaşım gerektirir.
1. Güçlü bir proxy/VPN hizmeti kullanın
Kaliteli bir proxy veya VPN hizmeti yerleşik DNS sızıntı koruması sunmalıdır. Temel özellikler:
* Kendi DNS sunucuları: hizmet, tüm DNS sorgularını kendi güvenli, şifreli DNS sunucuları üzerinden yönlendirmelidir.
* DNS rebinding koruması: kötü amaçlı DNS yanıtlarının trafiği iç ağ adreslerine yönlendirmesini engeller.
* Kill switch: güvenli bağlantı koptuğunda tüm internet trafiğini otomatik olarak keserek veri ve DNS sızıntılarını önler.
* IPv6 sızıntı koruması: IPv6 trafiğini tünelden geçirir, IPv6'yı devre dışı bırakır ya da IPv6 DNS sorgularını kendi çözümleyicileri üzerinden yönlendirir.
2. İşletim sistemi DNS ayarlarını yapılandırın
İS'nizin DNS ayarlarını el ile yapılandırmak, varsayılanları geçersiz kılarak sızıntıları önleyebilir.
DNS'i loopback adresine (127.0.0.1) ayarlayın:
Yerel DNS çözümleyici görevi gören bir proxy veya VPN istemcisi kullanıyorsanız, ağ bağdaştırıcınızın DNS ayarını 127.0.0.1 olarak yapın. Bu, tüm DNS sorgularının yerel istemci tarafından işlenmesini ve ardından tünel üzerinden güvenli biçimde iletilmesini sağlar.
Windows Smart Multi-Homed Name Resolution'ı devre dışı bırakın:
Bu özellik Grup İlkesi Düzenleyicisi veya Kayıt Defteri Düzenleyicisi üzerinden kapatılabilir.
- Grup İlkesi Düzenleyicisi (gpedit.msc) — Windows Pro/Enterprise:
Computer Configuration>Administrative Templates>Network>DNS Clientyolunu izleyin.Turn off Smart Multi-Homed Name Resolutionayarını bulun.Enabledolarak ayarlayın.
- Kayıt Defteri Düzenleyicisi (regedit.exe) — tüm Windows sürümleri:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parametersyolunu açın.DisableSmartNameResolutionadında yeni bir DWORD (32 bit) değeri oluşturun.- Değer verisini
1yapın.
IPv6'yı devre dışı bırakın (gerekli değilse):
Proxy/VPN hizmetiniz IPv6 tünellemeyi tam desteklemiyorsa, ağ bağdaştırıcınızda IPv6'yı kapatmak IPv6 kaynaklı DNS sızıntılarını önleyebilir.
- Windows:
Network and Sharing Center>Change adapter settingsyolunu izleyin.- Etkin ağ bağdaştırıcınıza sağ tıklayın >
Properties. Internet Protocol Version 6 (TCP/IPv6)seçeneğinin işaretini kaldırın.
- macOS/Linux:
IPv6'yı devre dışı bırakmak için ilgili dağıtımın/sürümün belgelerine bakın; bu genellikle ağ yapılandırma dosyalarını veya çekirdek parametrelerini değiştirmeyi gerektirir.
3. Güvenlik duvarı kuralları uygulayın
Güvenlik duvarınızı, proxy/VPN uygulamanızdan kaynaklanmayan ya da onun tarafından açıkça izin verilmeyen tüm giden DNS trafiğini (UDP/TCP port 53, DoT için TCP port 853, DoH için TCP port 443) engelleyecek şekilde yapılandırın. Böylece DNS sorguları için güvenli tüneli atlama girişimleri engellenir.
4. Tarayıcı düzeyinde DNS yapılandırması
Yerleşik DoH'a sahip bir tarayıcı kullanıyorsanız, gizlilik hedeflerinize uygun bir DoH sağlayıcısı seçin ya da tüm DNS isteklerinin sistemin (dolayısıyla proxy/VPN'in) çözümleyicisi tarafından işlenmesi için tarayıcı düzeyindeki DoH'ı kapatın.
5. Şifreli DNS protokollerini sistem genelinde kullanın
Özellikle proxy hizmetiniz belirli şifreli DNS uç noktalarına iletmeyi destekliyorsa, sisteminizi doğrudan DoH, DoT veya DNSCrypt çözümleyicilerini kullanacak şekilde yapılandırmayı değerlendirin. Bu, DNS sorgularınıza proxy hizmetinin DNS çözümleyicisine ulaşmadan önce ek bir şifreleme katmanı ekler.
DNS çözümleme yöntemlerinin karşılaştırması
| Özellik | Standart DNS (UDP/TCP 53) | DNS over TLS (DoT — TCP 853) | DNS over HTTPS (DoH — TCP 443) |
|---|---|---|---|
| Şifreleme | Hayır | Evet (TLS) | Evet (HTTPS/TLS) |
| Port | 53 | 853 | 443 |
| Trafik harmanlama | Ayırt edilebilir | Ayırt edilebilir | Web trafiğiyle harmanlanır |
| Engelleme kolaylığı | Kolay | Orta (ayrı port) | Zor (web ile ortak) |
| Gizlilik | Düşük | Yüksek | Yüksek |
| Performans etkisi | Çok az | Düşük | Düşük–orta |
| Kullanım alanı | Eski sistemler, iç ağlar | Ayrılmış güvenli DNS | Web odaklı, güvenlik duvarı aşımı |
Kullanıcılar DNS sızıntılarının mekanizmalarını anlayıp bu önleme stratejilerini uygulayarak, proxy hizmetleri kullanırken çevrimiçi gizliliklerini ve güvenliklerini önemli ölçüde artırabilirler.
