DNS protokolü 1980'lerde tasarlandığında kimlik doğrulama düşünülmemişti. Bu yüzden bir çözümleyiciye sahte yanıt göndermek teknik olarak mümkündür; bu saldırıya önbellek zehirlenmesi denir. Saldırgan başarılı olursa ziyaretçileriniz kendi sunucusuna yönlenir ve tarayıcıda hiçbir uyarı çıkmaz.
DNSSEC ne yapar?
DNSSEC, bölgenizdeki kayıtları kriptografik olarak imzalar. Doğrulama yapan çözümleyiciler imzayı kontrol eder; imza geçersizse yanıtı reddeder. Böylece araya girme saldırısı işe yaramaz.
İki adımlı kurulum
DNSSEC'in en çok yanlış anlaşılan yanı budur:
- DNS sağlayıcınızda bölgeyi imzalayın. Panelde "DNSSEC" veya "Sign the zone" seçeneği. Bu adım DNSKEY kayıtlarını üretir.
- DS kaydını tescil paneline ekleyin. Sağlayıcı size bir DS kaydı verir; bunu alan adını satın aldığınız firmanın panelinde tanımlamanız gerekir.
Yalnızca birinci adımı yapmak koruma sağlamaz. Güven zinciri, üst bölgedeki (TLD) DS kaydı ile kurulur. Sorgulama aracımız bu iki adımın durumunu ayrı ayrı gösterir.
En tehlikeli senaryo: kırık zincir
Anahtar döndürme sırasında bir hata olursa veya DS kaydı DNSKEY ile eşleşmezse zincir kırılır. Bu durumda doğrulama yapan çözümleyicileri kullanan herkes siteye erişemez. Google DNS, Cloudflare ve Quad9 doğrulama yaptığı için etkilenen kullanıcı sayısı azımsanmayacak kadar çoktur.
Sorunun sinsi tarafı şudur: doğrulama yapmayan çözümleyicileri kullananlar siteyi normal görür. "Bizde açılıyor ama müşteri açamıyor" tablosu tipik olarak budur.
Acil durumda DS kaydını tescil panelinden kaldırmak doğrulamayı devre dışı bırakır ve erişimi geri getirir. Kalıcı çözüm, zinciri doğru şekilde yeniden kurmaktır.
Hangi algoritmayı seçmeli?
RFC 8624, ECDSA P-256 (algoritma 13) veya Ed25519 (15) önerir. RSA/SHA-1 (5, 7) gibi eski algoritmalardan kaçının. DS kaydının özet tipi de SHA-256 (2) olmalıdır.
DNSSEC neyi çözmez?
DNSSEC yanıtın doğruluğunu garanti eder, gizliliğini değil. Sorgularınız hâlâ şifresizdir. Gizlilik için DoH veya DoT gibi şifreli taşıma protokolleri gerekir; bunlar DNSSEC'in alternatifi değil, tamamlayıcısıdır.