DNSSEC, DNS kayıt kümelerini dijital imzalarla doğrulanabilir hale getirir. DNSSEC doğrulaması yapan recursive resolver (özyinelemeli DNS çözümleyicisi), bu imzalarla kayıtların yetkili DNS bölgesinden geldiğini ve imzalandıktan sonra değiştirilmediğini doğrular. DNSSEC normal ad çözümlemesinin yerine geçmez; recursive resolver'ın verinin kaynağını ve bütünlüğünü doğrulayabilmesi için ek DNS kayıtları kullanır.

DNSSEC doğrulamasında yaygın yöntem, kök bölgeden sorgulanan alana uzanan güven zincirini izlemektir. Alan adının DNS bölgesi imzalanır ve yetkili DNS sunucuları imzalı kayıtları yayımlar. DNSSEC doğrulaması yapan recursive resolver ise RRSIG, DNSKEY ve DS kayıtları arasındaki ilişkiyi denetler.

DNSSEC Hangi Sorunu Çözer?

Geleneksel DNS, alınan yanıtın gerçekten yetkili kaynaktan geldiğini kriptografik olarak kanıtlayan yerleşik bir mekanizma sunmaz. Recursive resolver sahte veya değiştirilmiş bir yanıtı geçerli kabul ederse kullanıcı yanlış bir IP adresine ya da farklı bir hizmete yönlendirilebilir.

DNSSEC, doğrulanabilir imzalar kullanarak bu riski sınırlar. Recursive resolver, DNS verisinin ilgili bölge tarafından imzalandığını ve imzalama işleminden sonra değiştirilmediğini kontrol eder. Doğrulama başarısızsa yanıt güvenilir DNS verisi olarak kullanılmaz.

Bu mekanizma, yayımlanan bilginin gerçeğe uygun olduğunu kanıtlamaz. Alan adı sahibi yanlış bir IP adresini veya zararlı bir hedefi bilerek yayımlarsa DNSSEC bu kaydı doğru biçimde imzalayabilir. Protokol, verinin içeriğini değil, kaynağını ve bütünlüğünü doğrular.

DNSSEC Kayıtları Nasıl Birlikte Çalışır?

DNSSEC doğrulaması tek bir kayıt türüne dayanmaz. Bölge içindeki kayıt kümelerinin imzaları, bu imzaları doğrulayan açık anahtarlar ve üst bölgedeki DS kaydı birlikte değerlendirilir.

Kayıt TürüBulunduğu YerTemel Görevi
RRSIGİmzalanan DNS bölgesiBelirli bir DNS kayıt kümesine ait dijital imzayı taşır.
DNSKEYİmzalanan DNS bölgesiRRSIG kayıtlarını doğrulamak için kullanılan açık anahtarları yayımlar.
DSÜst DNS bölgesiAlt bölgedeki belirli bir DNSKEY kaydının özetini taşıyarak delegasyonu güven zincirine bağlar.

İmzalama işlemi, aynı ad, tür ve DNS sınıfındaki kayıtların oluşturduğu kayıt kümesini kapsar. RRSIG kaydı bu küme için üretilen dijital imzayı taşır. Örneğin bir alan adına ait birden fazla A kaydı varsa bu kayıtlar birlikte değerlendirilir ve ilgili RRSIG kaydı kümenin imzasını taşır.

DNSKEY kaydı, bölgenin açık anahtarlarından birini taşır. Recursive resolver, RRSIG imzasını bu açık anahtarla denetler. DNSKEY kaydına üst bölge üzerinden güvenmek için DS bağlantısı doğrulanır. Bölge için doğrudan bir güven çıpası, yani önceden güvenilir kabul edilen anahtar veya anahtar özeti tanımlanmışsa üst bölgeden DS kaydı alınması gerekmez.

DS kaydı, alt bölgenin DNSKEY kaydının tamamını taşımaz. DNSKEY kaydının adı ve içeriğinden hesaplanan özet değer üst bölgede yayımlanır. Recursive resolver da alt bölgeden aldığı DNSKEY kaydı için özet hesaplayıp DS kaydındaki değerle karşılaştırır.

DNSSEC Güven Zinciri Nasıl Kurulur?

Güven zinciri, recursive resolver'ın önceden güvenilir kabul ettiği bir güven çıpasıyla başlar. İnternette kullanılan genel alan adlarında bu güven çıpası çoğunlukla kök DNS bölgesi için tanımlanır. Recursive resolver daha sonra üst ve alt bölgeler arasındaki DS ve DNSKEY ilişkilerini izleyerek hedef alana ulaşır.

  1. Recursive resolver, başlangıç bölgesinin DNSKEY kayıtlarını güven çıpasına dayanarak doğrular.
  2. Üst bölgedeki imzalı DS kaydını kontrol eder.
  3. Alt bölgeden alınan DNSKEY kaydının DS kaydıyla eşleştiğini doğrular.
  4. DS ile eşleşen anahtarı kullanarak alt bölgenin DNSKEY kayıt kümesinin imzasını doğrular.
  5. Doğrulanmış DNSKEY kümesindeki uygun anahtarla hedef kayıt kümesinin RRSIG imzasını denetler. Hedefe ulaşmak için başka bir alt bölgeye geçilmesi gerekiyorsa DS ve DNSKEY kontrollerini o bölge için de yapar.
  6. Zincirdeki bütün kontroller başarılıysa DNS yanıtını güvenli olarak kabul eder.

Örneğin bir alan adının DNS kaydı sorgulandığında doğrulama yalnız sorgulanan alanın kayıtlarına bakılarak yapılmaz. Kök bölge, üst düzey alan adı ve sorgulanan alan arasındaki delegasyonların her biri zincirin ilgili bölümünü oluşturur.

Bir üst bölge alt bölge için DS kaydı yayımlamıyorsa ve bu yokluk güvenilir biçimde doğrulanabiliyorsa zincir o noktada sona erer. Alt bölge DNS üzerinden çalışmaya devam edebilir ancak yanıtları bu zincir üzerinden güvenli olarak doğrulanamaz. Alt bölgeye ait ayrı bir güven çıpası tanımlanmış olması farklı bir doğrulama yolu sağlayabilir. DS kaydının bulunmaması, hatalı imzaya sahip bir bölgeden farklı değerlendirilir.

DNSSEC Doğrulamasında Recursive Resolver'ın Görevi

Kullanıcının cihazı DNS sorgusunu çoğu durumda recursive resolver hizmetine gönderir. Recursive resolver DNSSEC doğrulaması yapıyorsa yalnızca istenen A, AAAA, MX veya başka bir DNS kaydını almakla yetinmez; gerekli RRSIG, DNSKEY ve DS kayıtlarını da toplar.

Recursive resolver bu kayıtları yerel olarak doğrular. Kontroller başarılıysa yanıtı istemciye iletir ve önbelleğe alabilir. İmzalanmış olması gereken bir zincir doğrulanamazsa recursive resolver genellikle yanıtı kullanıma sunmaz ve sorgu bir DNS hatasıyla sonuçlanabilir.

Her recursive resolver hizmeti DNSSEC doğrulaması yapmaz. Bir recursive resolver hizmetinin imza kayıtlarını iletmesi, bunları mutlaka doğruladığı anlamına gelmez. DNSSEC doğrulamasının koruma sağlaması için hem bölgenin doğru imzalanması hem de sorguyu işleyen recursive resolver'ın imzaları doğrulaması gerekir.

DNSSEC Doğrulama Sonuçları Ne Anlama Gelir?

DNSSEC doğrulaması yalnız “başarılı” veya “başarısız” diye değerlendirilmez. Recursive resolver'ın güven zincirini denetlerken belirlediği doğrulama durumuna göre dört temel sonuç ortaya çıkabilir:

  • Secure (güvenli): Kayıt, güven çıpasına kadar uzanan geçerli bir zincir üzerinden doğrulanmıştır.
  • Insecure (güvencesiz): Alan için doğrulanmış bir DNSSEC zinciri yoktur ancak bu durum geçerli delegasyon bilgisiyle uyumludur.
  • Bogus (doğrulanamayan): DNSSEC koruması beklenmesine rağmen imza, anahtar veya delegasyon bağlantısı doğrulanamamıştır.
  • Indeterminate (belirsiz): Recursive resolver'ın ilgili ad için kullanabileceği bir güven çıpası yoktur; bu nedenle yanıtı güvenli, güvencesiz veya doğrulanamayan olarak sınıflandıramaz.

Güvencesiz sonuç, DNS kaydının yanlış olduğunu göstermez; yalnızca DNSSEC doğrulamasıyla korunmadığını belirtir. Bogus sonuç ise beklenen güven zincirinde tutarsızlık bulunduğu anlamına gelir ve DNSSEC doğrulaması yapan recursive resolver'ın yanıtı reddetmesine yol açabilir.

DNSSEC Yapılandırma Hataları Neden Erişimi Kesebilir?

DNSSEC yapılandırma hatası, doğrulama yapan recursive resolver hizmetlerini kullanan ziyaretçilerin alan adına erişmesini engelleyebilir. Recursive resolver, bir saldırı sonucu değiştirilmiş veri ile yanlış yapılandırılmış veriyi güvenilir biçimde ayıramadığı için doğrulama hatası bulunan yanıtı kullanmaz.

Yaygın nedenler arasında üst bölgedeki DS kaydının alt bölgedeki DNSKEY kaydıyla eşleşmemesi, gerekli RRSIG kaydının bulunmaması veya imzanın geçerlilik süresinin sona ermesi yer alır. Anahtar değişikliği sırasında eski ve yeni kayıtların yanlış sırayla kaldırılması da güven zincirini bozabilir.

Böyle bir hata yalnız DNSSEC doğrulaması yapan recursive resolver hizmetleri kullanıldığında görülebilir. DNSSEC doğrulaması yapmayan bir recursive resolver aynı alan adını çözebildiği için site bazı ağlarda çalışırken bazılarında çalışmıyormuş gibi görünebilir.

DNSSEC Doğrulama aracı, zincirin kökten hedef alana kadar kurulup kurulmadığını kontrol etmek için kullanılabilir. Tek bir kaydın bulunması, zincirin tamamının geçerli olduğunu kanıtlamaz.

DNSSEC'in Sağlamadığı Korumalar

DNSSEC, DNS sorgularını veya yanıtlarını şifrelemez. Ağdaki DNS trafiğini izleyebilen biri, şifreli bir DNS taşıma yöntemi kullanılmıyorsa hangi alan adlarının sorgulandığını görebilir. DNSSEC'in görevi gizlilik sağlamak değil, alınan DNS verisini doğrulamaktır.

  • Web sitesinin güvenli, doğru veya zararsız olduğunu garanti etmez.
  • Alan adı hesabının ele geçirilmesini veya tüm DNS saldırılarını tek başına önlemez.
  • DNSSEC doğrulaması yapmayan bir recursive resolver'ın sahte veya bozuk yanıtı reddedeceğini garanti etmez.

Cihaz DNSSEC doğrulamasını kendisi yapmıyorsa seçilen recursive resolver hizmetine ve ondan gelen yanıtın yolda değiştirilmediğine güvenmek zorundadır. Bu nedenle DNSSEC doğrulaması yapan güvenilir bir hizmetle, sunucu kimliğinin doğrulandığı şifreli DNS bağlantısı kullanılabilir. DNSSEC verinin imzasını denetler; şifreli bağlantı ise cihaz ile recursive resolver arasındaki trafiği korur.