← Bloga dönRehberler

DNS over HTTPS (DoH) Nedir? DNSSEC ile Farkı ve Neyi Korur

DNS over HTTPS (DoH) ve DoT, cihazınız ile çözümleyici arasını şifreler; DNSSEC verinin gerçek olduğunu kanıtlar. Farkları, gizlemedikleri ve dig ile test.

Yayınlanma: · 6 dk okuma

DNS over HTTPS (DoH), DNS sorgularınızı HTTPS bağlantısı içinde taşıyan protokoldür; DNSSEC'in alternatifi değildir. İkisi farklı sorunları çözer ve birlikte en iyi sonucu verir. DoH (ve kardeşi DoT), cihazınız ile DNS çözümleyiciniz arasındaki konuşmayı şifreler; aradaki ağda kimse sorgularınızı okuyamaz ya da değiştiremez. DNSSEC ise DNS verisinin kendisini imzalar; çözümleyici, yanıtın zone sahibinin yayınladığıyla birebir aynı olduğunu doğrulayabilir. İlki tek bir adımda gizlilik ve bütünlük sağlar; ikincisi uçtan uca özgünlük sağlar, gizlilik ise hiç sağlamaz. Alan adı sahibiyseniz bunlardan yalnızca birini açmak sizin elinizdedir.

Bir DNS sorgusunun yolu

İki adım önemlidir:

cihazınız (stub çözümleyici)
      │   1. adım: DoH / DoT / DoQ burayı korur
      ▼
özyinelemeli çözümleyici (internet sağlayıcısı, şirket, açık çözümleyici)
      │   2. adım: köke, TLD'ye ve alan adının nameserver'larına düz DNS
      ▼
yetkili sunucular        ← DNSSEC, burada doğan veriyi imzalar

Özyinelemeli çözümleyici, kökten başlayıp alan adının yetkili sunucularına kadar yürüme işini yapar ve sonucu önbelleğe alır. Klasik DNS her iki adımda da her şeyi açık metin olarak, çoğunlukla UDP 53 numaralı port üzerinden gönderir.

DoH, DoT ve DoQ ne yapar?

Üç standart, DNS iletilerini şifreli ve kimliği doğrulanmış bir taşıma katmanına sarar:

Protokol Standart Taşıma
DNS over TLS (DoT) RFC 7858 TCP 853 numaralı portta TLS
DNS over HTTPS (DoH) RFC 8484 443 numaralı portta HTTPS, ortam türü application/dns-message
DNS over QUIC (DoQ) RFC 9250 UDP 853 numaralı portta QUIC

Üçü de 1. adımı korur. DoH'ta ve katı kipte çalışan DoT'ta istemci çözümleyicinin TLS sertifikasını doğrular; yani seçtiği çözümleyiciyle konuştuğunu bilir. Yol üzerindeki gözlemciler (Wi-Fi işletmecisi, internet sağlayıcısı, yerel ağa müdahale etmiş biri) sorguları okuyamaz, yanıtları değiştiremez. Pratikteki fark görünürlüktedir: DoT kendi portunu kullandığı için kolayca tanınır ve engellenir; DoH ise 443 numaralı porttaki sıradan HTTPS trafiğidir, web trafiğinin arasına karışır.

Yapmadıkları:

  • Verinin gerçek olduğunu kanıtlamazlar. Çözümleyici yanlış yapılandırılmış, ele geçirilmiş ya da yanıtları bilerek değiştiriyor olabilir; şifreli kanal yanlış yanıtı da doğru yanıt kadar sadakatle taşır. Çözümleyiciye güvenmiş olursunuz.
  • Çözümleyiciden hiçbir şey gizlemezler. İşletmecisi sorguladığınız her adı görmeye devam eder. Şifreli DNS güveni yerel ağdan çözümleyici işletmecisine taşır, ortadan kaldırmaz.
  • Genel olarak şifresiz kalan 2. adım hakkında hiçbir şey söylemezler.

DNSSEC ne yapar?

DNSSEC (RFC 4033, 4034 ve 4035) ile zone sahibi her kayıt kümesini imzalar. Doğrulama yapan çözümleyici bu imzaları zone'un DNSKEY kaydıyla, o anahtarı üst zone'daki DS kaydıyla karşılaştırır ve böylece içinde hazır bulunan kök anahtarına kadar çıkar. Sonuç kaynak doğrulama ve bütünlüktür: yanıt, zone'un anahtarlarını elinde tutandan gelmiştir ve 2. adım ile önbellekler dahil yolun hiçbir yerinde değiştirilmemiştir. Sahte yanıt doğrulamadan geçemez; çözümleyici onu iletmek yerine SERVFAIL döndürür.

DNSSEC hiçbir gizlilik sağlamaz. Sorgular ve imzalı yanıtlar açık metin olarak dolaşır; imzalar onları gizli değil, yalnızca daha büyük yapar. İşleyişin ayrıntısı DNSSEC nedir, nasıl açılır yazısındadır.

DoH ile DNSSEC farkı: yan yana

DoH / DoT / DoQ DNSSEC
Neyi korur istemci ile çözümleyici arasındaki kanalı DNS verisinin kendisini
Sağladığı özellik o adımda gizlilik ve bütünlük zone'dan doğrulayıcıya kadar özgünlük ve bütünlük
Kime karşı yerel ağda ve sağlayıcı yolunda dinleyen ya da müdahale edenlere yanıt sahteleyen herkese: yol dışından sahtecilik, zehirlenmiş önbellek, çözümleyici ile yetkili sunucu arasındaki müdahale
Neye karşı yardımcı olmaz yalan söyleyen ya da kayıt tutan çözümleyiciye dinlemeye; zone sahibinin ele geçirilmiş DNS hesabına
Kim açar kullanıcı, işletim sistemi, tarayıcı ya da ağ yöneticisi ve çözümleyici işletmecisi alan adı sahibi (imzalama, kayıt firmasında DS) ve doğrulama yapan çözümleyiciler
Ağın gördüğü bir çözümleyiciyle konuştuğunuz; ne sorduğunuz değil her sorgu ve her yanıt
Zone sahibinin bir şey yapması gerekir mi hayır evet

İkisinin de gizlemediği şeyler

Şifreli DNS kimi zaman "hangi sitelere girdiğinizi gizler" diye anlatılır. Gizlediği sorgudur; bu, ondan daha azdır:

  • Ardından bağlandığınız IP adresi aynı ağ tarafından görülür ve birçok sitede adres tek başına siteyi ele verir.
  • TLS el sıkışmasındaki sunucu adı. SNI (Server Name Indication) alanı normalde şifresiz gönderilir; az önce gizlice sorguladığınız ad bir an sonra açık metin olarak görünür.
  • Çözümleyici işletmecisinin gördükleri. Oblivious DoH (RFC 9230, deneysel) bu bilgiyi bir vekil sunucu ile çözümleyici arasında böler, ama sıradan DoH istemcilerinin kullandığı şey bu değildir.

İkisinin buluştuğu yer: AD bayrağı

Doğrulama yapan çözümleyici, doğruladığı yanıtlarda AD ("authenticated data") bayrağını işaretler. Ancak açık metin bir UDP paketindeki bayrak, geçtiği ağ kadar güvenilirdir: yanıtı sahteleyebilen, o biti de işaretleyebilir. AD bayrağı, istemci için yalnızca 1. adım güvendiği bir çözümleyiciye giden güvenli bir kanalsa anlam taşır. DoT ve DoH'un sağladığı tam olarak budur. DNSSEC veriyi çözümleyiciye kadar güvenceye alır; şifreli taşıma, çözümleyicinin vardığı sonucu son adımda güvenle ulaştırır. Diğer seçenek doğrulamayı cihazın kendisinde yapmaktır; bunu yapan stub çözümleyici azdır.

Alan adı sahibiyseniz

  • DoH/DoT: ayarlayacağınız bir şey yok. Bu, istemcilerin ve çözümleyicilerin tercihidir. Eklenecek bir kayıt yoktur; alan adınızın DoH'u "desteklemesi" ya da "desteklememesi" diye bir şey söz konusu değildir. Şifreli DNS kullanan ziyaretçiler herkesle aynı kayıtları alır.
  • DNSSEC: bu sizin işiniz. Zone'u DNS sağlayıcınızda imzalatın, DS kaydını kayıt firmanız üzerinden yayınlayın. Sonrasında nameserver taşırken dikkatli olun; eskimiş bir DS kaydı, alan adını doğrulama yapan bütün çözümleyiciler için erişilmez kılar.

Ağ yöneticisiyseniz

Tarayıcılar DoH'u kendi seçtikleri bir çözümleyiciyle kullanabilir ve DHCP ile dağıttığınız çözümleyiciyi atlayabilir. Bu, çözümleyici tabanlı içerik filtrelemeyi, güvenlik engelleme listelerini ve split-horizon DNS'i (yalnızca sizin çözümleyicinizin bildiği iç adlar) etkiler. Seçenekleriniz:

  • Firefox use-application-dns.net kanarya alan adını sorgular; çözümleyiciniz buna NXDOMAIN yanıtı verirse Firefox DoH'u varsayılan olarak açmaz. DoH'u kendi eliyle açmış kullanıcının tercihini ise ezmez.
  • Tarayıcılar ve işletim sistemleri, DoH'u kapatmak ya da belirlediğiniz çözümleyiciye sabitlemek için kurumsal politikalar sunar.
  • Daha iyisi: kendi çözümleyicinizde DoT ya da DoH sunun; istemciler politikanızın dışına çıkmadan şifreleme kazansın.

Komut satırından test

Doğrulama yapan bir çözümleyici üzerinden DNSSEC:

$ dig +dnssec example.com

;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; ANSWER SECTION:
example.com.   3600  IN  A      192.0.2.10
example.com.   3600  IN  RRSIG  A 13 2 3600 … example.com. …

RRSIG kaydına (zone imzalı) ve bayraklar arasındaki ad değerine (bu çözümleyici doğruladı) bakın. İmzalı bir alan adında ad yoksa çoğunlukla çözümleyici doğrulama yapmıyordur. BIND ile gelen delv example.com doğrulamayı yerelde yapar ve ; fully validated yazar.

Şifreli taşıma için BIND 9.18 ya da sonrasının dig aracı veya Knot DNS'in kdig aracı:

$ dig +https @resolver.example example.com
$ dig +tls   @resolver.example example.com
$ kdig +tls  @resolver.example example.com

resolver.example yerine protokolü sunan bir çözümleyicinin adını ya da adresini yazın; birkaç açık çözümleyici işletmecisi bu hizmeti verir ve uç noktalarını belgeler. Yanıt diğerlerinden farksızdır; değişen yalnızca taşıma biçimidir.

Sık yapılan hatalar

  • DoH'u DNSSEC'in yerine koymak ya da tersi. Doğrulama yapmayan bir çözümleyiciye giden şifreli kanal, sahte veriyi de taşır.
  • Alan adına eklenecek bir "DoH kaydı" aramak. Öyle bir kayıt yoktur.
  • DNSSEC'in DNS'i şifrelediğini sanmak. Tek bir baytı bile gizlemez.
  • Şifreli DNS'in gezintiyi gizli kıldığını varsaymak. Hedef IP adresi ve SNI görünür kalır.
  • Güvenilmeyen bir ağın ötesindeki çözümleyiciden düz UDP ile gelen AD bayrağına güvenmek.
  • Şirket tarayıcısında DoH'u açıp iç sunucu adlarının neden çözümlenmediğini merak etmek.
  • 853 numaralı portu engelleyip şifreli DNS'in halledildiğini düşünmek. DoH 443 üzerinden çalışır.

OrbitProbe ile kontrol edin

OrbitProbe DNS sorgulama aracı, herkese açık çözümleyicilerin bir alan adı için o anda döndürdüğü kayıtları TTL değerleriyle gösterir. Ziyaretçilerin cihazı hangi taşıma biçimini kullanırsa kullansın gördüğü şey budur; çünkü DoH ve DoT yanıtın içeriğini değil, nasıl taşındığını değiştirir. Aynı alan adının imzalama tarafı için DNSSEC kontrol aracı vardır. İlgili kayıtların arka planı için DNS kayıt türleri, çözümleyicilerin bir yanıtı ne kadar sakladığı için DNS TTL nedir yazısına bakın.