İçeriğe geç

HTTPS ve Google DNS sunucuları hakkındaki sorular: adım adım açıklıyoruz

Прокси
HTTPS ve Google DNS sunucuları hakkındaki sorular: adım adım açıklıyoruz

Google DNS sunucuları (8.8.8.8, 8.8.4.4), HTTPS siteleri dahil olmak üzere alan adlarını verimli biçimde çözümlese de, DNS sorgularının kendisini varsayılan olarak şifrelemez ve ardından gelen HTTPS trafiğinin şifresini de çözmez. Bunlar birbirinden ayrı güvenlik katmanlarıdır: DNS, insanın okuyabildiği alan adlarını IP adreslerine çevirir; HTTPS ise bu çözümleme gerçekleştikten sonra cihazınız ile site sunucusu arasındaki asıl veri alışverişini şifreler.

Temelleri anlamak: DNS ve HTTPS

Google DNS'in HTTPS ile nasıl etkileştiğinin ayrıntılarını tam olarak kavramak için önce bu iki temel internet protokolünü net biçimde anlamamız gerekiyor.

DNS nedir? (Domain Name System)

Domain Name System (DNS), internetin telefon rehberi gibi çalışır. İnternete bağlı her cihazın benzersiz bir IP adresi vardır (örneğin 192.0.2.1 veya 2001:0db8::1). Web sitelerine ise gproxy.net gibi akılda kalıcı alan adlarıyla erişilir. DNS, bu alan adlarını karşılık gelen IP adreslerine çeviren ve tarayıcınızın doğru sunucuyu bulup ona bağlanmasını sağlayan sistemdir.

DNS çözümleme süreci genellikle birkaç adımdan oluşur:

  1. İstemci sorgusu: tarayıcınıza gproxy.net yazdığınızda, işletim sisteminiz önce yerel DNS önbelleğine bakar.
  2. Özyinelemeli çözümleyici: yerelde bulunamazsa sorgu, yapılandırılmış bir özyinelemeli DNS çözümleyicisine gönderilir (çoğunlukla ISP'nizin sağladığı ya da Google DNS 8.8.8.8 gibi genel bir çözümleyici).
  3. Kök sunucular: özyinelemeli çözümleyici, üst düzey alan adı (TLD) için yetkili ad sunucularını bulmak üzere 13 kök DNS sunucusundan birini sorgular; bu örnekte TLD .com'dur.
  4. TLD ad sunucuları: TLD ad sunucuları, gproxy.net için yetkili ad sunucularını işaret eder.
  5. Yetkili ad sunucuları: bu sunucular gproxy.net için gerçek DNS kayıtlarını tutar ve IP adresini özyinelemeli çözümleyiciye döndürür.
  6. İstemciye yanıt: özyinelemeli çözümleyici IP adresini istemcinize geri gönderir, istemci de bağlantıyı başlatır.

Geleneksel olarak DNS sorguları, 53 numaralı port üzerinden şifrelenmemiş UDP paketleri hâlinde gönderilir. Bu da onları çeşitli saldırılara açık hâle getirir:

  • Dinleme (eavesdropping): ağ yolundaki herkes hangi siteleri ziyaret etmeye çalıştığınızı görebilir.
  • DNS spoofing / önbellek zehirlenmesi: kötü niyetli kişiler bir çözümleyicinin önbelleğine sahte DNS kayıtları enjekte ederek, kullanıcılar doğru alan adını yazsa bile onları sahte sitelere yönlendirebilir.
  • Sansür: ISP'ler veya devletler, DNS yanıtlarını manipüle ederek belirli sitelere erişimi engelleyebilir.

HTTPS nedir? (Hypertext Transfer Protocol Secure)

HTTPS, tarayıcınız ile bağlandığınız site arasında veri taşıyan HTTP protokolünün güvenli sürümüdür. "S" harfi "Secure" (güvenli) anlamına gelir ve arkasında, eskiden Secure Sockets Layer (SSL) olarak bilinen Transport Layer Security (TLS) vardır. HTTPS, web iletişimi için üç kritik güvenlik özelliği sağlar:

  • Şifreleme: tarayıcınız ile sunucu arasında değiş tokuş edilen tüm veriler şifrelenir ve trafiği araya girip yakalayan kimse tarafından okunamaz. Bu, oturum açma bilgileri, kredi kartı numaraları ve kişisel veriler gibi hassas bilgileri korur.
  • Veri bütünlüğü: HTTPS, verinin aktarım sırasında değiştirilmediğini garanti eder. Herhangi bir değişiklik tespit edilir ve bağlantı sonlandırılır.
  • Kimlik doğrulama: HTTPS, dijital sertifikalar kullanarak site sunucusunun kimliğini doğrular. Bu, saldırganın meşru bir siteyi taklit etmeye çalıştığı man-in-the-middle (MITM) saldırılarını engeller.

TLS el sıkışması, herhangi bir uygulama verisi gönderilmeden önce gerçekleşen karmaşık bir süreçtir:

  1. Client Hello: tarayıcınız, desteklediği TLS sürümlerini, şifre takımlarını ve bir rastgele sayıyı içeren "Client Hello" mesajını gönderir.
  2. Server Hello: sunucu, uyumlu bir TLS sürümü ve şifre takımı seçtiği, kendi rastgele sayısını ve dijital sertifikasını içeren bir "Server Hello" ile yanıt verir.
  3. Sertifika doğrulama: tarayıcınız, sunucunun sertifikasını güvenilir bir Sertifika Otoritesi (CA) üzerinden doğrular. Geçerliyse sunucunun kimliğine güvenir.
  4. Anahtar değişimi: istemci ve sunucu, rastgele sayıları ve kriptografik algoritmaları kullanarak ortak bir "oturum anahtarı" üzerinde anlaşır ve bunu oluşturur.
  5. Şifreli iletişim: sonraki tüm veri alışverişi bu oturum anahtarıyla şifrelenir.

HTTPS, HTTP'nin 80 numaralı portunun aksine TCP 443 portu üzerinde çalışır. En önemlisi, HTTPS tarayıcınız ile site sunucusu arasında uçtan uca şifreleme sağlar. DNS çözümleme süreci ise bir ön koşul olmakla birlikte, HTTPS bağlantısı daha başlatılmadan önce gerçekleşen ayrı bir adımdır.

Google DNS (8.8.8.8 ve 8.8.4.4): ne olduğu ve ne olmadığı

Google Public DNS, Google'ın 2009'da başlattığı ücretsiz ve küresel bir DNS çözümleme hizmetidir. Temel amacı, birçok ISP DNS çözümleyicisine kıyasla daha hızlı, daha güvenli ve daha güvenilir bir alternatif sunmaktır.

Genel DNS çözümleyicisi

Google DNS sunucuları 8.8.8.8 ve 8.8.4.4, birkaç avantaj sayesinde oldukça yaygın kullanılır:

  • Performans: Google küresel bir anycast ağı kullanır; yani 8.8.8.8 adresini sorguladığınızda isteğiniz en yakın Google veri merkezine yönlendirilir. Bu da uzak veya aşırı yüklü ISP çözümleyicilerine kıyasla genellikle daha düşük gecikme ve daha hızlı sayfa yüklenmesi anlamına gelir.
  • Güvenilirlik: Google'ın devasa altyapısı sayesinde DNS hizmeti yüksek çalışma süresi ve yedeklilik sunar.
  • Güvenlik (DNSSEC): Google Public DNS, DNS kayıtlarını kriptografik olarak imzalayarak DNS spoofing ve önbellek zehirlenmesine karşı koruma sağlayan DNSSEC'i (DNS Security Extensions) tam olarak destekler. Ancak DNSSEC yalnızca DNS verisinin bütünlüğünü ve gerçekliğini doğrular; DNS sorgularının kendisini şifrelemez.

Gizlilik konusunda Google, DNS sorgularından sınırlı bilgi topladığını belirtiyor. IP adresinizi hata ayıklama ve güvenlik amacıyla geçici olarak (genellikle 24-48 saat) kaydediyor, ardından anonimleştiriyor. Ayrıca hizmeti geliştirmek ve DDoS saldırıları gibi tehditlerle mücadele etmek için kişisel olarak tanımlanamayan bilgileri (istenen alan adları gibi) süresiz saklıyor. Bu, bazı ISP uygulamalarına göre genellikle daha iyi olsa da, DNS sorgu verilerinizi Google'a emanet etmek anlamına gelir.

Google DNS sorgularımı şifreliyor mu?

Bu kritik bir ayrımdır. Cihazınızı 8.8.8.8 veya 8.8.4.4 adresini geleneksel bir DNS çözümleyicisi olarak kullanacak şekilde yapılandırdığınızda, DNS sorgularınız 53 numaralı porttan UDP (bazen TCP) üzerinden şifrelenmeden gönderilir. Yani ağ trafiğinizi izleyen herkes (örneğin ISP'niz, yerel ağ yöneticisi veya bir saldırgan) çözümlediğiniz alan adlarını hâlâ görebilir.

Bununla birlikte Google, şifreli DNS protokollerinin güçlü bir savunucusu ve erken benimseyicisi olmuştur:

  • DNS-over-HTTPS (DoH): Google Public DNS, DNS sorgularını HTTPS trafiğinin içine sararak şifreleyen DoH'yi destekler. Böylece DNS istekleriniz sıradan web trafiği gibi görünür (443 portu üzerinden) ve ayırt edilmesi, araya girilmesi veya engellenmesi çok daha zor olur.
  • DNS-over-TLS (DoT): Google Public DNS ayrıca, DNS sorgularını doğrudan özel bir port (genellikle 853) üzerinden TLS ile şifreleyen DoT'yi de destekler. DoT, DoH'ye benzer gizlilik avantajları sunar ancak ayrı bir port kullandığı için ağ yöneticilerinin DNS trafiğini tanımlaması ve yönetmesi daha kolaydır.

Yani yalnızca 8.8.8.8 kullanmak DNS sorgularınızı şifrelemez. Şifreli DNS sorgu gizliliğinden yararlanmak için işletim sisteminizi, tarayıcınızı veya yönlendiricinizi Google'ın DoH ya da DoT uç noktalarını kullanacak şekilde açıkça yapılandırmanız gerekir. Bu, sıkça yanlış anlaşılan kritik bir noktadır.

HTTPS ve Google DNS sunucuları hakkındaki sorular: adım adım açıklıyoruz

Etkileşim: Google DNS ve HTTPS birlikte (ve ayrı ayrı) nasıl çalışır

Olayların sırasını anlamak, DNS ve HTTPS'in rollerini kavramanın anahtarıdır.

HTTPS bir site için çözümleme süreci

https://www.securebank.com adresine eriştiğinizde neler olduğunu izleyelim:

  1. DNS sorgusu: tarayıcınız, www.securebank.com için yapılandırılmış DNS çözümleyicinize (örneğin Google DNS 8.8.8.8) bir DNS sorgusu gönderir. DoH/DoT kullanmıyorsanız bu sorgu şifrelenmemiştir.
  2. IP adresi alınır: DNS çözümleyicisi, www.securebank.com için IP adresini (örneğin 203.0.113.42) tarayıcınıza döndürür.
  3. TCP bağlantısı: tarayıcınız, 203.0.113.42 IP adresine 443 portundan (HTTPS'in standart portu) bir TCP bağlantısı başlatır.
  4. TLS el sıkışması: TCP bağlantısı kurulduktan sonra TLS el sıkışması başlar. Bu süreç sertifika değişimini, şifre takımı müzakeresini ve ortak bir gizli anahtarın oluşturulmasını içerir.
  5. Şifreli veri aktarımı: el sıkışma başarılı olduktan sonra tüm veri alışverişi – oturum açma bilgileriniz, hesap ayrıntılarınız ve tüm site içeriği – üzerinde anlaşılan oturum anahtarıyla şifrelenir.

Bu sıralamadan şu açıkça görülüyor: DNS çözümlemesi önce gerçekleşir ve HTTPS dahil her bağlantının kurulması için bir ön koşuldur. Ardından veri alışverişini güvence altına almayı HTTPS devralır. DNS çözümleyiciniz (bu örnekte Google DNS) HTTPS şifreleme veya şifre çözme sürecinde doğrudan rol oynamaz.

Güvenlik açısından sonuçlar

DNS ile HTTPS arasındaki bu görev ayrımının önemli güvenlik sonuçları vardır:

  • DNS sorgusu açıkları: DNS sorgularınız şifrelenmemişse (geleneksel DNS kullanılıyorsa) gezinme alışkanlıklarınızı üçüncü taraflara ifşa edebilir. Bir saldırgan ayrıca DNS spoofing yaparak sizi zararlı bir siteye yönlendirebilir. Zararlı sitenin geçerli bir HTTPS sertifikası olmasa bile bazı kullanıcılar tarayıcı uyarılarını yok sayabilir. Daha kötüsü, ileri düzey bir saldırgan benzer görünen bir alan adı için geçerli bir sertifika edinebilir ya da ele geçirilmiş bir CA üzerinden sahte bir sertifika çıkartarak aldatmayı çok inandırıcı hâle getirebilir.
  • HTTPS'in koruma kapsamı: HTTPS, bağlantı kurulduktan sonra iletişiminizin içeriğini ve verinin bütünlüğünü korur. Bağlanmak istediğiniz meşru sunucuyla konuştuğunuzu (sertifikasına dayanarak) doğrular. Ancak sizi o sunucuya götüren ilk DNS sorgusunu gizlemez.
  • Birleşik saldırı vektörleri: gelişmiş bir saldırı, DNS manipülasyonunu başka tekniklerle birleştirebilir. Örneğin bir saldırgan DNS önbelleğinizi zehirleyerek securebank.com adresini kendi sunucusuna yönlendirir ve o alan adı için geçerli (ama sahte) bir SSL sertifikası temin ederse, tarayıcınız yeşil bir asma kilit gösterse bile aslında saldırganın kontrolündeki bir siteyle etkileşimde olursunuz. Bu da sağlam sertifika doğrulamasının ve ideal olarak güvenli DNS'in önemini ortaya koyar.

İleri düzey DNS gizliliği: DoH, DoT ve etkileri

Geleneksel DNS'in açıkları, şifreli DNS protokollerinin geliştirilmesine yol açtı. Google da diğerleri arasında bu protokolleri yaygınlaştırmada ve uygulamada kilit bir rol oynadı.

DNS-over-HTTPS (DoH)

DoH, DNS sorgularını standart HTTPS trafiğinin içine kapsüller. Yani DNS istekleri, normal web gezintisinde kullanılan TCP 443 portu üzerinden gönderilir. Bu tasarımın birkaç avantajı vardır:

  • Gelişmiş gizlilik: DoH sorguları şifreli olduğu ve diğer HTTPS trafiğinden ayırt edilemediği için ISP'lerin veya başka ağ gözlemcilerinin bunları izlemesi, kaydetmesi ya da engellemesi çok daha zordur. DNS sorgularınız devasa şifreli web trafiği akışının içinde gizlenir.
  • Sansürü aşma: DNS tabanlı sansürün uygulandığı bölgelerde DoH, normal web trafiğine karıştığı için bu kısıtlamaları çoğu zaman aşabilir; sansürcülerin meşru web erişimini engellemeden yalnızca DNS sorgularını hedeflemesi zorlaşır.
  • Artan güvenlik: TLS kullanımı, DNS yanıtları için kimlik doğrulama ve bütünlük denetimi sağlar; böylece DNS spoofing ve önbellek zehirlenmesi gibi riskler, HTTPS'in web trafiğini korumasına benzer biçimde azaltılır.

Ancak DoH'nin bazı zorlukları da vardır:

  • Merkezileşme endişeleri: birkaç büyük DoH sağlayıcısının (Google veya Cloudflare gibi) yaygın biçimde benimsenmesi DNS çözümlemesini merkezileştirebilir ve bu sağlayıcılara küresel gezinme örüntüleri hakkında ciddi bir görünürlük kazandırabilir.
  • Ağ izlemenin zorlaşması: kurumsal ağlar veya ebeveyn denetimi sistemleri açısından DoH, DNS isteklerinin güvenlik ya da politika uygulaması için izlenmesini veya filtrelenmesini zorlaştırır; çünkü bu istekler meşru web trafiği gibi görünür.

Firefox ve Chrome gibi birçok modern tarayıcı, çoğunlukla Google veya Cloudflare'ı varsayılan sağlayıcı olarak kullanan yerleşik DoH desteği sunar. Android ve Windows gibi işletim sistemleri de sistem genelinde DoH seçeneklerini entegre ediyor.

DNS-over-TLS (DoT)

DoT, DNS sorgularını doğrudan özel bir port (genellikle TCP 853) üzerinden TLS ile şifreler. Web trafiği kılığına giren DoH'nin aksine DoT, şifreli bir DNS hizmeti olduğunu açıkça belli eder.

  • Güçlü gizlilik ve güvenlik: DoH'ye benzer şekilde DoT, DNS sorguları ve yanıtları için güçlü şifreleme, kimlik doğrulama ve bütünlük sağlar; dinlemeye ve müdahaleye karşı korur.
  • Özel port: özel bir port (853) kullanılması, DoT'yi DoH'ye kıyasla ağ yöneticilerinin tanımlaması, yönetmesi ve gerektiğinde önceliklendirmesi ya da filtrelemesi açısından kolaylaştırır. Bu, kurumsal ortamlarda bir avantaj olabilir.

DoT'nin DoH'ye göre başlıca dezavantajı, özel portunun DNS trafiğini özellikle hedefleyen güvenlik duvarları veya sansürcüler tarafından daha kolay engellenebilmesidir.

Google Public DNS hem DoH'yi hem DoT'yi destekler. Cihazlarınızı, şifrelenmemiş geleneksel 8.8.8.8 yerine bu şifreli uç noktaları kullanacak şekilde yapılandırabilirsiniz. Örneğin Google'ın DoH uç noktası https://dns.google/resolve, DoT uç noktası ise 853 portunda dns.google'dır.

Proxy hizmetleri ve DNS/HTTPS: güvenliği ve gizliliği artırmak (GProxy odağı)

Ağ mimarinize GProxy gibi bir proxy hizmeti eklediğinizde, DNS ve HTTPS ile etkileşim daha katmanlı hâle gelir ve genellikle ek güvenlik ve gizlilik katmanları sağlar.

Proxy'ler DNS ile nasıl etkileşir

Bir proxy sunucusu, istemciniz ile internet arasında aracı görevi görür. Proxy kullandığınızda DNS çözümleme yolunuz değişir:

  1. İstemciniz bir isteği (örneğin gproxy.net için) GProxy sunucusuna gönderir.
  2. DNS sorgusunu yerel makineniz değil GProxy sunucusu yapar. Bu sunucu, Google DNS dahil herhangi bir DNS çözümleyicisini, hatta Google'ın DoH/DoT uç noktalarını kullanacak şekilde yapılandırılabilir.
  3. GProxy sunucusu alan adını bir IP adresine çözümledikten sonra, sizin adınıza hedef sunucuya bağlantı kurar.

Bu kurulum, yerel ağınızın (ISP, yönlendirici) yalnızca GProxy sunucusuna yönelen DNS sorgularını görmesi, nihai hedef siteye yönelenleri görmemesi anlamına gelir. Hedef site için asıl DNS sorgusu GProxy sunucusunun ağından çıkar. Bu da doğrudan DNS etkinliğinizi yerel ağ gözlemcilerinden gizleyerek gizliliğinizi artırır.

Sağlam altyapısıyla GProxy, üzerinden geçen tüm istemci istekleri için varsayılan olarak Google'ın DoH/DoT sunucuları gibi güvenli DNS çözümleyicilerini kullanacak şekilde yapılandırılabilir. Böylece proxy'nin DNS sorguları bile şifrelenmiş ve gözetimden korunmuş olur.

HTTPS ve proxy'ler: SNI sorunu

HTTPS trafiği uçtan uca şifrelidir; yani standart bir proxy (SOCKS5 proxy'si veya şeffaf proxy gibi) genellikle şifreli içeriği göremez ya da değiştiremez. Proxy yalnızca şifreli baytları istemciniz ile hedef sunucu arasında iletir. Bu genel olarak gizlilik açısından iyidir.

Ancak HTTPS ile bile sızabilen belirli bir bilgi vardır: Server Name Indication (SNI). SNI, istemcinin TLS el sıkışmasının başında hangi ana bilgisayar adına bağlanmaya çalıştığını belirtmesini sağlayan bir TLS protokolü uzantısıdır. Bu, tek bir IP adresinde birden fazla site barındıran sunucular (sanal barındırma) için kritiktir. Ne yazık ki SNI, ilk TLS el sıkışması sırasında, şifreleme tam olarak kurulmadan önce açık metin olarak gönderilir.

Yani trafiğiniz HTTPS ile şifrelenip bir proxy üzerinden geçse bile, ağ yolundaki bir gözlemci (örneğin ISP'niz ya da dikkatli seçilmemişse proxy sağlayıcınız) SNI alanını inceleyerek ziyaret ettiğiniz HTTPS sitelerinin alan adlarını görebilir. İletişiminizin içeriği güvende kalsa da hedef alan adının kendisi açığa çıkabilir.

GProxy'nin DNS ve HTTPS yönetimindeki avantajı

GProxy, hem DNS hem HTTPS trafiği için gizliliği ve güvenliği artıran gelişmiş özellikler sunarak bu sorunları ele alır:

  • Şifreli DNS çözümlemesi: GProxy sunucuları, proxy'den çıkan tüm DNS sorguları için yalnızca DoH veya DoT çözümleyicilerini kullanacak şekilde yapılandırılabilir. Böylece proxy'nin DNS sorguları da gizli kalır ve yalnızca genel bir DNS kullanmanın ötesinde ek bir koruma katmanı eklenir.
  • Trafik gizleme ve tünelleme: tüm trafiğinizi GProxy'nin güvenli tünelleri üzerinden yönlendirdiğinizde ISP'niz yalnızca GProxy sunucusuna giden şifreli bağlantıları görür, nihai hedefe gidenleri değil. Bu, çevrimiçi etkinliğinizi gizler ve belirli gezinme örüntülerinin ayırt edilmesini zorlaştırır.
  • Olası SNI maskeleme (ileri düzey): SNI bir TLS standardı olsa da, bazı gelişmiş proxy yapılandırmaları veya proxy'lerle katmanlanmış VPN'ler SNI sızıntısını azaltmaya yardımcı olabilir. Örneğin trafiği bir proxy zinciri üzerinden yönlendirerek ya da belirli TLS istemci uygulamalarından yararlanarak, özgün SNI'yi aradaki gözlemcilerden gizlemek mümkündür. GProxy, kullanıcı gizliliğini artırmak için bu tür ileri teknikleri sürekli değerlendirir ve uygular.
  • Coğrafi engel kaldırma ve erişim: coğrafi kısıtlamalı birçok hizmet IP tabanlı konuma ve çoğu zaman DNS çözümlemesine dayanır. GProxy kullanarak trafiğinizi farklı bir coğrafi konumdaki sunucu üzerinden yönlendirebilir ve bu kısıtlamaları etkili biçimde aşabilirsiniz. Bu özellikle bölgeye kilitli içeriğe ya da konumunuzu doğrulamak için DNS sorgusu yapan hizmetlere erişimde işe yarar. Örneğin bir yayın hizmeti bölgenizi belirlemek için IP'nizi ve DNS çözümleyicinizi kontrol ediyorsa, hedef ülkedeki bir GProxy sunucusunu kullanmak ve bu sunucunun yerel bir DoH çözümleyicisiyle çalışması sorunsuz erişim sağlayabilir.

Bir senaryo düşünün: A Ülkesi'ndeki bir kullanıcı, yalnızca B Ülkesi'nde sunulan bir hizmete erişmek istiyor. Hizmet, kullanıcının IP adresini kontrol ediyor ve tutarlılığı doğrulamak için DNS sorguları da yapıyor. Kullanıcı B Ülkesi'nde bulunan bir GProxy sunucusuna bağlanır ve bu GProxy sunucusu yine B Ülkesi'ndeki bir Google DoH uç noktasını (veya başka bir güvenli DoH çözümleyicisini) kullanacak şekilde yapılandırılırsa, kullanıcı fiilen B Ülkesi'nden meşru bir kullanıcı gibi görünür; tüm trafik ve DNS sorguları B Ülkesi'nin internet ekosisteminde güvenli ve yerel biçimde işlenir.

import dns.resolver
import dns.query
import dns.message
import requests # Required for DoH

def resolve_domain_doh(domain, doh_resolver_url="https://dns.google/resolve"):
    """
    Resolves a domain using DNS-over-HTTPS (DoH) via a specified resolver.
    Requires 'dnspython' and 'requests' libraries.
    """
    try:
        # Create a resolver object for DoH
        resolver = dns.resolver.Resolver(configure=False)
        resolver.nameservers = [] # Clear default nameservers to ensure DoH is used

        # Use Google's DoH endpoint
        resolver.use_https(doh_resolver_url)

        print(f"Attempting to resolve '{domain}' via DoH using {doh_resolver_url}...")
        answers = resolver.resolve(domain, 'A')

        print(f"IP addresses for {domain}:")
        for rdata in answers:
            print(f"- {rdata.address}")
        return [rdata.address for rdata in answers]
    except dns.resolver.NXDOMAIN:
        print(f"Error: Domain '{domain}' not found.")
    except Exception as e:
        print(f"An error occurred during DoH resolution: {e}")
    return []

# Example usage:
if __name__ == "__main__":
    target_domain = "gproxy.net" # Using GProxy's domain as an example

    # Resolve via Google's DoH
    resolve_domain_doh(target_domain)

    print("\n--- Traditional DNS Lookup (for comparison) ---")
    try:
        # For traditional DNS, dnspython will use system configured resolvers
        # or fall back to default if none are set.
        traditional_answers = dns.resolver.resolve(target_domain, 'A')
        print(f"IP addresses for {target_domain} (Traditional DNS):")
        for rdata in traditional_answers:
            print(f"- {rdata.address}")
    except Exception as e:
        print(f"Traditional DNS lookup failed: {e}")

    # Example of how a client might use a proxy for an HTTPS request
    # This is conceptual, as actual proxy configuration depends on client software.
    print("\n--- Conceptual HTTPS request through a proxy ---")
    proxy_url = "http://your_gproxy_ip:port" # Replace with actual GProxy details
    proxies = {
        "http": proxy_url,
        "https": proxy_url,
    }

    try:
        # requests library will handle DNS resolution via the proxy if configured
        # and then establish an HTTPS connection.
        print(f"Attempting to fetch {target_domain} via proxy {proxy_url}...")
        # For simplicity, we're assuming the proxy is configured to handle DNS securely
        # and forward HTTPS traffic.
        response = requests.get(f"https://{target_domain}", proxies=proxies, timeout=10)
        print(f"Status Code for {target_domain}: {response.status_code}")
        # print(f"First 200 characters of response: {response.text[:200]}...")
    except requests.exceptions.ProxyError as pe:
        print(f"Proxy connection error: {pe}")
    except requests.exceptions.ConnectionError as ce:
        print(f"Connection error (check proxy or network): {ce}")
    except Exception as e:
        print(f"An error occurred during HTTPS request via proxy: {e}")
HTTPS ve Google DNS sunucuları hakkındaki sorular: adım adım açıklıyoruz

Karşılaştırma tablosu: geleneksel DNS, DoH ve DoT

DNS protokolleri arasındaki temel farkları özetleyelim:

Özellik Geleneksel DNS (UDP/53) DNS-over-HTTPS (DoH) DNS-over-TLS (DoT)
Sorguların şifrelenmesi Yok (açık metin) Evet (HTTPS içine sarılır) Evet (TLS içine sarılır)
Standart port UDP/53 TCP/443 (HTTPS ile aynı) TCP/853 (özel)
Protokol katmanı Uygulama (DNS) Uygulama (TCP üzerinden HTTPS) Uygulama (TCP üzerinden TLS)
Paket incelemesinin kolaylığı Çok kolay (açık metin) Zor (web trafiği gibi görünür) Orta (özel port, ancak şifreli)
Sansüre direnç Düşük (engellemesi/manipülasyonu kolay) Yüksek (normal web trafiğinden ayırt etmek zor) Orta (özel port hedef alınabilir)
DNS sorgularında gizlilik Düşük (ISP/ağ tüm sorguları görebilir) Yüksek (sorgular şifreli ve gizli) Yüksek (sorgular şifreli)
Yöneticilerin ağ izlemesi Kolay (açık metin, özel port) Zor (web trafiğine karışır) Orta (özel port, ancak şifreli)
Yaygın kullanım Çoğu ağ/ISP için varsayılan Modern web tarayıcıları (Firefox, Chrome, Edge), bazı işletim sistemleri Android (Özel DNS), Linux/Windows'ta sistem genelinde yapılandırmalar

Öne çıkan sonuçlar

DNS ve HTTPS gibi internet protokollerinin karmaşıklığında yol almak, çevrimiçi güvenlik ve gizliliği korumak için kritiktir. Bunların birbirinden farklı rollerini ve özellikle Google DNS ile proxy sağlayıcıları gibi hizmetlerle nasıl etkileştiğini anlamak, kullanıcıların daha bilinçli kararlar vermesini sağlar.

  • DNS ve HTTPS ayrı katmanlardır: DNS alan adlarını IP adreslerine çevirir; HTTPS ise bu çeviriden *sonra* veri alışverişini şifreler. Google DNS'i (8.8.8.8) geleneksel biçimde kullanmak DNS sorgularınızı şifrelemez ve HTTPS şifrelemesini de etkilemez; yalnızca hızlı ve güvenilir bir çözümleme hizmeti sunar.
  • Şifreli DNS'e geçin: DNS sorgularında gerçek gizlilik için geleneksel DNS'in ötesine geçin. DNS-over-HTTPS (DoH) veya DNS-over-TLS (DoT) kullanın. Google Public DNS her ikisini de destekler ve gezinme etkinliğinizi dinlemeye ve manipülasyona karşı korumada ciddi bir iyileşme sağlar.
  • Proxy'ler güvenlik zincirini güçlendirir: GProxy gibi güvenilir bir proxy hizmeti, genel gizlilik ve güvenlik duruşunuzu belirgin biçimde güçlendirebilir. Trafiğinizi GProxy üzerinden yönlendirdiğinizde doğrudan DNS sorgularınız maskelenir; proxy'nin kendisi de şifreli DNS (DoH/DoT) kullanacak şekilde yapılandırılabilir, böylece aradaki çözümlemeler bile güvenli olur. Bu, gözetime ve sansüre karşı sağlam ve çok katmanlı bir savunma oluşturur.

Pratik ipuçları:

  1. DoH/DoT yapılandırın: mümkün olan her yerde tarayıcınızı, işletim sisteminizi veya yönlendiricinizi DoH ya da DoT kullanacak şekilde ayarlayın. Birçok tarayıcı bunu doğrudan gizlilik ayarlarında sunar (örneğin Firefox'ta "Şifreli DNS", Chrome'da "Güvenli DNS"). Sistem genelinde koruma için işletim sistemi düzeyindeki DoH/DoT ayarlarını inceleyin ya da Linux'ta systemd-resolved gibi araçları kullanın.
  2. HTTPS'i her zaman doğrulayın: özellikle hassas bilgilerle çalışırken asma kilit simgesini kontrol edin ve sitelerin HTTPS kullandığından emin olun. Sertifika uyarılarına karşı temkinli olun; bunlar çoğu zaman olası bir güvenlik sorununa işaret eder.
  3. Kapsamlı koruma için GProxy'den yararlanın: ileri düzey gizlilik, coğrafi engel kaldırma ve güvenli bağlantılara bütünsel bir yaklaşım için GProxy'yi iş akışınıza entegre edin. GProxy trafiğinizin güvenli tüneller üzerinden yönlendirilmesini sağlar ve sunucuları şifreli DNS çözümleyicileri kullanacak şekilde ayarlanabilir; böylece tek başına DNS veya HTTPS yapılandırmalarının sunabileceğinin ötesinde, uçtan uca güçlendirilmiş bir gizlilik çözümü elde edersiniz.
support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.