İçeriğe geç

Proxy kullanırken DNS güvenliği: bilmeniz gerekenler

Безопасность
Proxy kullanırken DNS güvenliği: bilmeniz gerekenler

Proxy kullanırken DNS güvenliği, kimliğin açığa çıkmasını önlemek için alan adı çözümlemelerinin yerel internet servis sağlayıcısı (ISP) üzerinden değil, proxy tüneli üzerinden yapılmasını sağlama uygulamasıdır. DNS'i güvence altına alamamak "DNS sızıntılarına" yol açar; bu durumda veri trafiğiniz GProxy gibi kaliteli bir hizmet üzerinden yönlendirilse bile bir gözlemci ziyaret ettiğiniz her siteyi görebilir. Gerçek anonimlik; protokol seçimi, tarayıcı sıkılaştırması ve uzak çözümleme ayarlarının birleşimini gerektirir.

Proxy ortamlarında DNS sızıntılarının mekaniği

Tarayıcınıza gproxy.com gibi bir URL girdiğinizde, bilgisayarınızın bu insan tarafından okunabilir adı bir IP adresine çevirmesi gerekir. Varsayılan olarak işletim sistemleri bu isteği 53 numaralı port üzerinden ISP tarafından sağlanan bir DNS sunucusuna gönderir. Proxy kullanıyor ancak DNS ayarlarınızı doğru yapılandırmadıysanız, tarayıcınız DNS isteğini standart bağlantınız üzerinden gönderirken sonraki HTTP verisini proxy üzerinden gönderebilir. Bu tutarsızlık bir DNS sızıntısıdır.

DNS sızıntıları, proxy kullanmanın temel faydasını ortadan kaldırır. IP adresiniz başka bir ülkedeymiş gibi görünse bile ISP kayıtlarınız çözümlediğiniz hostname'lerin tam geçmişini gösterir. Web scraper'ları veya SEO tarayıcıları gibi otomatik sistemlerde DNS sızıntıları "fingerprinting"e yol açabilir: hedef sunucu DNS kaynağının proxy'nin IP aralığıyla eşleşmediğini fark eder ve bu da anında engellemelere veya CAPTCHA'lara neden olur.

Proxy kullanımında DNS'in ele alınmasının iki temel yolu vardır: yerel çözümleme ve uzak çözümleme. Yerel çözümlemede istemci (bilgisayarınız) önce IP adresini bulur, ardından proxy'den bu IP'ye bağlanmasını ister. Uzak çözümlemede istemci hostname'i proxy sunucusuna iletir ve DNS sorgusunu proxy yapar. Uzak çözümleme güvenlikte altın standarttır, ancak tüm protokoller tarafından desteklenmez.

Proxy kullanırken DNS güvenliği: bilmeniz gerekenler

Protokol farkları: SOCKS5 ile HTTP proxy'ler

Protokol seçimi, DNS sorgularının nasıl yönetileceğini belirler. SOCKS ve HTTP protokolleri arasındaki teknik ayrıntıları anlamak, her geliştirici veya gizliliğine önem veren kullanıcı için kritiktir.

SOCKS5 ve "socks5h" ayrımı

SOCKS5, her türlü trafiği taşıyabilen esnek bir protokoldür, ancak DNS konusunda sıklıkla yanlış anlaşılır. Standart SOCKS5 uygulamaları DNS'i hâlâ yerel olarak çözümleyebilir. Uzak DNS çözümlemesini garantilemek için araçlar ve kütüphaneler genellikle socks5h olarak bilinen özel bir şema kullanır. socks5h kullanıldığında hostname doğrudan proxy sunucusuna iletilir. socks5 (h olmadan) kullanırsanız istemci DNS'i yerel olarak çözümler ve IP'yi proxy'ye iletir.

HTTP ve HTTPS proxy'ler

HTTP proxy'ler özellikle web trafiği için tasarlanmıştır. Çoğu modern tarayıcı, bir HTTP/HTTPS proxy ile yapılandırıldığında tam URL'yi otomatik olarak proxy'ye iletir; yani DNS çözümlemesini proxy yapar. Ancak bu davranışa bağlıdır ve tarayıcı eklentileri veya gecikmeyi azaltmak için IPv6 ile IPv4 adreslerini aynı anda çözümlemeye çalışan, bazen istekleri tünelin dışına sızdıran "Happy Eyeballs" (RFC 6555) gibi deneysel bayraklar tarafından geçersiz kılınabilir.

SOCKS4: eski teknolojinin riski

SOCKS4 uzak DNS çözümlemesini hiç desteklemez. İstemcinin bir IP adresi sağlamasını gerektirir. Hostname'lere izin vermek için sonradan SOCKS4a tanıtıldı, ancak modern yığınlarda nadiren kullanılır. Yüksek güvenlik gerektiren görevlerde GProxy kullanırken, DNS bütünlüğünü korumak için SOCKS4 yerine daima SOCKS5 veya HTTPS protokolleri tercih edilmelidir.

DNS'i DoH ve DoT protokolleriyle güvence altına alma

DNS'i proxy üzerinden yönlendirseniz bile, proxy'den DNS ad sunucusuna giden istek hâlâ şifresiz olabilir. Modern şifreleme protokolleri tam da burada devreye girer. Bunları proxy kurulumunuzla birleştirmek katmanlı bir savunma sağlar.

  • DNS over HTTPS (DoH): Bu protokol DNS sorgularını 443 numaralı portta şifreli bir HTTPS oturumuna sarar. Böylece DNS trafiği normal web trafiğinden ayırt edilemez hâle gelir. Proxy kullanıcıları için tarayıcıyı DoH'u proxy üzerinden kullanacak şekilde yapılandırmak, proxy sağlayıcısının bile (kötü niyetli olsaydı; GProxy değildir) DNS paketlerini kolayca dinleyememesini sağlar.
  • DNS over TLS (DoT): DoH'a benzer, ancak özel bir port (853) ve farklı bir el sıkışma süreci kullanır. DoT genellikle tarayıcı düzeyinde değil sistem düzeyinde uygulanır.
  • DNSSEC: Gizlilik sağlamasa da (istekler hâlâ görünürdür), DNSSEC DNS verilerinin değiştirilmediğini garanti eder. Kötü niyetli bir aktörün isteğinizi sahte bir IP'ye yönlendirdiği DNS ele geçirmelerini önler.

GProxy'nin residential veya veri merkezi IP'lerini kullananlar için, proxy etkinken tarayıcıda DoH'u açmak bir "çift kör" senaryo yaratır: ISP yalnızca proxy'ye giden şifreli trafiği görür ve DNS istekleri bu şifreli akışın içine gömülür.

Proxy kullanırken DNS güvenliği: bilmeniz gerekenler

Teknik uygulama ve kod örnekleri

Güvenli DNS'i hayata geçirmek bir düğmeye basmaktan fazlasını gerektirir. Otomasyon veya scraping için Python kullanan geliştiriciler arasında requests kütüphanesinin PySocks ile birlikte kullanımı yaygın bir tercihtir. Aşağıda, sızıntıları önlemek için uzak DNS çözümlemeli bir SOCKS5 proxy'sinin doğru şekilde nasıl uygulanacağına dair bir örnek var.

import requests
import socket

# GProxy endpoint tanimi
proxy_host = "proxy.gproxy.com"
proxy_port = "10000"
username = "your_user"
password = "your_password"

# 'socks5h' oneki KRITIKTIR.
# Kutuphaneye DNS cozumlemesini proxy'nin yapmasi gerektigini soyler.
proxies = {
    'http': f'socks5h://{username}:{password}@{proxy_host}:{proxy_port}',
    'https': f'socks5h://{username}:{password}@{proxy_host}:{proxy_port}'
}

def check_for_leaks():
    try:
        # 1. Bildirilen IP'yi kontrol et
        ip_resp = requests.get('https://api.ipify.org?format=json', proxies=proxies, timeout=10)
        reported_ip = ip_resp.json()['ip']

        # 2. DNS cozumleme kaynagini kontrol et
        # edns.ip-api.com gibi bir servis, istegi hangi DNS sunucusunun cozdugunu soyler
        dns_resp = requests.get('https://edns.ip-api.com/json', proxies=proxies, timeout=10)
        dns_info = dns_resp.json()

        print(f"Reported Proxy IP: {reported_ip}")
        print(f"DNS Resolver IP: {dns_info['dns']['ip']}")
        print(f"DNS Geo: {dns_info['dns']['geo']}")

    except Exception as e:
        print(f"Error: {e}")

if __name__ == "__main__":
    check_for_leaks()

Bu örnekte DNS Resolver IP proxy'nin konumu yerine gerçek ISP'nizin konumuyla eşleşiyorsa bir sızıntınız var demektir. socks5h:// kullanmak, requests kütüphanesinin hostname'i proxy'ye iletmesini sağlar. socks5:// kullansaydınız, Python betiği GProxy ile konuşmadan önce api.ipify.org adresinin IP'sini bilgisayarınızın yerel ayarlarıyla çözümlerdi.

DNS çözümleme yöntemlerinin karşılaştırması

Yöntem Çözümleme noktası Şifreleme Sızıntı riski En iyi kullanım senaryosu
Yerel DNS (standart) Yerel ISP Yok (port 53) Azami Proxy'siz genel gezinme.
SOCKS5 (standart) Yerel istemci Yok Yüksek IP gizleme gerektiğinde ancak DNS gizliliği öncelik değilken.
SOCKS5h (uzak) Proxy sunucusu Tünelde şifreli Düşük Web scraping, coğrafi engelleri aşma ve yüksek anonimlik.
Proxy üzerinden DoH Üçüncü taraf (Cloudflare/Google) HTTPS (TLS) En az Azami gizlilik ve DNS ele geçirmelerinden kaçınma.

DNS güvenliği için tarayıcı ve işletim sistemi sıkılaştırması

GProxy gibi kaliteli bir proxy hizmetiyle bile işletim sistemi veya tarayıcı ayarlarınıza ihanet edebilir. Özellikle Windows'ta, en hızlı yanıtı bulmak için DNS sorgularını mevcut tüm ağ bağdaştırıcılarına gönderen "Multi-Homed Name Resolution" adlı bir özellik vardır. Bu, gizlilik açısından tam bir kâbustur.

Firefox yapılandırması

Firefox, proxy DNS'i üzerinde ayrıntılı denetim sunduğu için ileri düzey kullanıcılar tarafından sıkça tercih edilir. Firefox'ta uzak DNS'i zorlamak için:

  1. Adres çubuğuna about:config yazın.
  2. network.proxy.socks_remote_dns ayarını arayın.
  3. Değerini true yapın.
  4. network.trr.mode (Trusted Recursive Resolver) ayarını arayın. DoH'u yedek olarak kullanmak için 2, yalnızca DoH modu için 3 yapın.

Chrome ve Chromium tabanlı tarayıcılar

Chrome büyük ölçüde sistem ayarlarına dayanır, ancak yine de güvence altına alabilirsiniz. Ayarlar > Gizlilik ve güvenlik > Güvenlik yolunu izleyin. "Gelişmiş" altında "Güvenli DNS'i kullan" seçeneğini etkinleştirin. Ancak bir proxy eklentisi kullanıyorsanız, eklentide "Proxy DNS" özelliğinin açık olduğundan emin olun. Ucuz veya ücretsiz eklentilerin çoğu DNS'i yönlendirmez; buna karşın sistem ayarlarında GProxy endpoint'lerini kullanan profesyonel düzey kurulumlar daha güvenilirdir.

İşletim sistemi ayarları

Linux kullanıcıları için /etc/resolv.conf yönetimi standarttır. Ancak systemd-resolved kullanan modern dağıtımlarda, DNS'in ikincil arayüzlerden sızmadığından emin olmak için değişikliklerin resolved.conf üzerinden yapılması gerekir. Windows kullanıcıları için Grup İlkesi Düzenleyicisi (gpedit.msc) aracılığıyla "Smart Multi-Homed Named Resolution" özelliğini devre dışı bırakmak, kurumsal düzeyde güvenlik için önerilen bir adımdır.

Önemli çıkarımlar

DNS güvenliği, proxy anonimliğinin "son kilometresidir". O olmadan şifreli tüneliniz cam bir borudur; ağı izleyen herkes tarafından görülebilir. Yerel ve uzak çözümleme arasındaki farkı anlayarak ve SOCKS5h ile DoH gibi protokolleri kullanarak dijital ayak izinizin görünmez kalmasını sağlayabilirsiniz.

  • Daima uzak DNS kullanın: Proxy'leri yapılandırırken, sorguyu proxy sunucusunun yapmasını garantilemek için özellikle "Remote DNS" veya "SOCKS5h" seçeneğini arayın.
  • Sızıntıları düzenli test edin: DNS çözümleyici IP'nizin proxy sağlayıcınızın altyapısıyla eşleştiğini doğrulamak için dnsleaktest.com gibi araçları veya kendi betiklerinizi kullanın.
  • GProxy'yi DoH ile birleştirin: En yüksek güvenlik için GProxy residential IP'lerini DNS over HTTPS ile birlikte kullanarak sorgularınızı şifreleyin ve IP'nizi aynı anda gizleyin.
support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.