DNSSEC Nedir?
Alan adınızı ve DNS kayıtlarınızı yıllardır aynı panelden yönetiyor olabilirsiniz; A kaydı, MX kaydı, CNAME, TXT derken her şey yolunda görünüyor. Ancak klasik DNS protokolü, tasarlandığı dönemin güvenlik ihtiyaçlarına göre oldukça savunmasız. İşte DNSSEC (Domain Name System Security Extensions) tam bu noktada devreye giriyor ve DNS sorgularına kriptografik bir güven katmanı ekliyor.
DNSSEC, ziyaretçinin tarayıcısı ile alan adınız arasındaki DNS yanıtlarının değiştirilemediğini ve sahte bir kaynaktan gelmediğini kanıtlayan bir imzalama mekanizmasıdır. Yani, “berkaybulut.com’un IP adresi gerçekten bu mu?” sorusuna kriptografik olarak doğrulanabilir bir cevap üretir. Bu, özellikle cache poisoning (önbellek zehirleme), man-in-the-middle (ortadaki adam) gibi saldırılara karşı kritik bir güvenlik katmanı sağlar.
Daha önce DNS kayıtları, SPF/DKIM/DMARC ayarları veya alan adı DNS yönetimi rehberi gibi konularla uğraştıysanız, DNSSEC’i bu dünyayı daha güvenli hale getiren “imza” katmanı olarak düşünebilirsiniz. Bu yazıda, teknik terimleri sadeleştirerek DNSSEC’in ne olduğunu, neden önemli olduğunu ve alan adınızda adım adım DNSSEC’i nasıl etkinleştireceğinizi pratik şekilde anlatacağım.
Neden DNSSEC Kullanmalısınız?
Bir proje planlama toplantısında, güvenlik tarafını konuşurken genelde SSL, yedekleme ve WAF gibi başlıklar öne çıkar. DNSSEC genellikle masaya daha geç gelir; ama temelde DNS’e güvenmiyorsak diğer katmanların da anlamı azalıyor. DNSSEC’i zorunlu yapan birkaç temel sebep var.
1. DNS Yanıtlama ve Cache Poisoning Saldırılarına Karşı Koruma
Klasik DNS’te, recursive resolver’lar (ISS’in DNS sunucusu gibi) aldıkları yanıtları önbelleğe kaydeder. Bir saldırgan, bu önbelleğe sahte bir IP adresi yazdırabilirse, ziyaretçileriniz aslında sizin siteniz yerine saldırganın kontrol ettiği sunucuya yönlenebilir. Buna cache poisoning denir.
DNSSEC, DNS kayıtlarını kriptografik olarak imzaladığı için resolver, gelen yanıtın gerçekten yetkili nameserver’dan gelip gelmediğini doğrulayabilir. İmza uyuşmuyorsa yanıt reddedilir ve saldırı başarısız olur.
2. E-Posta Güvenliği ve DNSSEC
SPF, DKIM ve DMARC kayıtlarınızı doğru yapılandırmış olmanız tek başına yeterli değil; bu kayıtları tutan DNS zonu manipüle edilebilirse, saldırganlar e-posta güvenliğinizi de aşabilir. DNSSEC, bu kayıtların da bütünlüğünü korur.
Eğer henüz SPF, DKIM ve DMARC tarafını oturtmadıysanız, alan adı ile profesyonel e-posta ve SPF/DKIM/DMARC ayarları yazısına da mutlaka göz atmanızı öneririm. DNSSEC bu yapıyı daha da güçlendiren bir katman olarak düşünülmeli.
3. HTTPS, SSL ve DNSSEC İlişkisi
SSL sertifikası ve HTTPS, tarayıcı ile web sunucusu arasındaki trafiği şifreler. Ama tarayıcının bağlandığı IP adresi yanlışsa (yani DNS zehirlenmişse), şifreleme çok da anlamlı değil. DNSSEC, bu zincirin DNS tarafını sağlamlaştırır.
SSL tarafı için SSL sertifikası nedir, DV–OV–EV farkları ve HTTP’den HTTPS’ye geçiş rehberi yazılarını öneriyorum. DNSSEC, bu güvenlik stratejisinin DNS bacağı.
4. Reputasyon ve Kurumsal Güven
Özellikle finans, sağlık, e-ticaret gibi alanlarda hizmet veriyorsanız, alan adınızın sahte kopyalarına karşı aldığınız önlemler güvenlik denetimlerinde sorulmaya başlandı. DNSSEC, güvenlik raporlarında artı haneye yazılan, uzun vadede de marka itibarınızı koruyan bir yatırım.
DNSSEC Temel Kavramları (Kısa ve Net)
DNSSEC’i etkinleştirirken karşınıza çıkacak birkaç temel kavram var. Bunları kısa kısa netleştirelim.
DNSKEY, KSK ve ZSK
- DNSKEY: Zone’un (örneğin example.com) public anahtar kayıtlarını tutan DNS kaydıdır.
- KSK (Key Signing Key): Diğer anahtarları imzalamak için kullanılan, daha az sıklıkla değiştirilen üst seviye anahtar.
- ZSK (Zone Signing Key): Asıl DNS kayıtlarını imzalamak için kullanılan, daha sık yenilenen anahtar.
Pratikte çoğu DNS yönetim paneli bunları arka planda otomatik oluşturur; siz genelde sadece DS kaydını alan adı tescil firmanıza eklemekle uğraşırsınız.
RRSIG, DS ve NSEC/NSEC3
- RRSIG: Her DNS kayıt setinin (örneğin A kayıtları) dijital imzasını içeren kayıt.
- DS (Delegation Signer): Üst seviye alan adının (.com, .net, .tr vb.) sizin alan adınıza güvendiğini gösteren imza özet kaydı.
- NSEC / NSEC3: Var olmayan kayıtlar için de kriptografik kanıt üreten mekanizmalar; “bu kayıt gerçekten yok” diyebilmek için kullanılır.
DNSSEC Etkinleştirmeden Önce Kontrol Etmeniz Gerekenler
DNSSEC, yanlış yapılandırıldığında sitenizin tamamen erişilemez hale gelmesine yol açabilir. Bu yüzden devreye almadan önce aşağıdaki kontrol listesini tamamlamanızı öneririm:
- Alan adınızın TLD’si (örneğin .com, .net, .org, .tr) DNSSEC destekliyor mu?
- DNS kayıtlarınız tek bir yerde mi tutuluyor, yoksa birden fazla DNS sağlayıcınız mı var?
- Alan adınızı yönettiğiniz panel (registrar) DS kaydı eklemeye izin veriyor mu?
- Yakın zamanda nameserver değiştirmeyi planlıyor musunuz?
- Yapılandırmayı test edebileceğiniz bir test ortamı veya düşük kritik öneme sahip bir alan adınız var mı?
Yeni başlayanlar için, önce kritik olmayan bir alan adı üzerinde DNSSEC’i denemek, sonra üretim alan adlarına taşımak daha güvenli bir yaklaşım.
Alan Adınızda Adım Adım DNSSEC Etkinleştirme Rehberi
Şimdi işin en önemli kısmına, yani pratik tarafa gelelim. Aşağıdaki adımlar genel bir yol haritası; kullandığınız DNS sağlayıcısına göre menü isimleri değişebilir, ama mantık aynı kalır.
Adım 1: DNS Sağlayıcınızın DNSSEC Desteğini Kontrol Edin
- Alan adınızın DNS kayıtlarını yönettiğiniz panele giriş yapın.
- DNS yönetimi veya zone editörü bölümünü açın.
- Menülerde ‘DNSSEC’, ‘Gelişmiş DNS’, ‘Security’ gibi bir sekme olup olmadığına bakın.
Eğer DCHost gibi modern panel sunan bir sağlayıcı kullanıyorsanız, genellikle DNS yönetim bölümünde doğrudan bir DNSSEC etkinleştir düğmesi görürsünüz. Bazı panellerde ise DNSKEY ve RRSIG kayıtları manuel olarak eklenmek üzere gösterilir.
Adım 2: Zone İçin Anahtarların (DNSKEY) Oluşturulması
Çoğu kullanıcı için bu adım tek tıkla gerçekleşir, ama arka planda olanları bilmek yine de önemli:
- DNS sağlayıcınız bir KSK ve bir ZSK üretir.
- Zone dosyanızdaki tüm kayıtlar ZSK ile imzalanır ve RRSIG kayıtları oluşturulur.
- DNSKEY kaydı zone’a eklenir.
Eğer kendi DNS sunucunuzu yönetiyorsanız (örneğin BIND veya PowerDNS), bu aşamada komut satırından anahtar üretip zone’u sign ediyorsunuz. Bu noktada VPS sunucu yönetimi ve SSH ile çalışma pratiği çok işinize yarar.
Adım 3: DS Kaydını Alan Adı Tescil Firmanıza Ekleyin
DNSSEC zincirinin tamamlanması için, alan adınızı tescil ettiğiniz firmanın panelinde de işlem yapmanız gerekiyor. Mantık şöyle:
- DNS sağlayıcınız size bir veya birkaç DS kaydı değeri üretir.
- Bu DS değerini, alan adınızı yönettiğiniz panelde ilgili alana girersiniz.
- Böylece üst seviye domain (TLD) sizin alan adınızın imza anahtarına güvenmeye başlar.
Genellikle DS kaydı şu alanlardan oluşur:
- Key Tag (Anahtar etiketi)
- Algorithm (Algoritma türü, örneğin 8 = RSA/SHA-256)
- Digest Type (Özet türü, örneğin 2 = SHA-256)
- Digest (Uzun hexadecimal özet)
DCHost gibi entegre sistemlerde, alan adı tescili ve DNS aynı panelde ise DS kaydını çoğu zaman otomatik doldur butonuyla tek tıkla ekleyebiliyorsunuz. Farklı bir registrar ve farklı bir DNS sağlayıcı kullanıyorsanız, değerleri kopyalayıp manuel girmeniz gerekir.
Adım 4: DNS Yayılımını ve Doğrulamayı Test Edin
DS kaydını ekledikten sonra, standart DNS değişikliklerinde olduğu gibi kısa bir yayılım süresi vardır (genelde birkaç dakika ile birkaç saat arası). Bu sürenin ardından DNSSEC’in doğru çalıştığını test etmeniz şart.
Test için kullanabileceğiniz yöntemler:
- Linux/macOS terminalinden dig +dnssec alanadiniz.com komutu ile RRSIG ve adflag (authenticated data) alanlarını kontrol etmek.
- DNSSEC doğrulaması yapan halka açık DNS hizmetleri üzerinden alan adınızın çözülüp çözülmediğini test etmek.
- Tarayıcı eklentileri veya web tabanlı test araçlarıyla DNSSEC raporu almak.
Bu aşamada, sitenizin açılmaması, bazı kullanıcılar için çalışıp bazıları için çalışmaması gibi durumlar görürseniz, çoğu zaman neden yanlış DS kaydı veya yanlış DNSKEY bilgisidir. Hata durumlarını aşağıda ayrıca ele alacağım.
Adım 5: Anahtar Yenileme (Key Rollover) ve Bakım
DNSSEC yapılandırması bir kere yapılıp unutulacak bir şey değil. ZSK ve KSK anahtarlarının periyodik olarak yenilenmesi gerekir. Profesyonel DNS sağlayıcıları bu işlemi otomatik yapar; ancak kendi sunucunuzda manuel yönetiyorsanız şu konulara dikkat edin:
- ZSK’yi daha sık (örneğin 3–6 ayda bir), KSK’yi daha seyrek (örneğin yılda bir) değiştirin.
- Yeni anahtarları ekleyip bir süre eskileriyle paralel çalıştırın, sonra eskileri devre dışı bırakın.
- KSK değiştirirken DS kaydını da güncellemeyi unutmayın.
Yaygın DNSSEC Hataları ve Nasıl Kaçınırsınız?
Gerçek projelerde en çok gördüğüm DNSSEC kaynaklı sorunların çoğu aşağıdaki birkaç kalıba giriyor. Bunları önceden bilmek, can sıkıcı kesintileri engelliyor.
1. Yanlış veya Eski DS Kaydı
En kritik hata bu. Şöyle olur:
- DNS sağlayıcınızda KSK anahtarını yenilersiniz.
- Yeni DS değerini tescil paneline girmezsiniz (veya yanlış girersiniz).
- Üst seviye domain, eski anahtara göre doğrulama yapmaya devam eder ve imzalar uyuşmadığı için alan adınız “bozuk” görünür.
Çözüm: KSK değişikliği yaptıysanız, mutlaka DS kaydını da güncel değerle değiştirdiğinizden emin olun. Değişim öncesinde TTL değerlerini geçici olarak düşürmek de olası kesintiyi kısaltır.
2. Nameserver Değiştirirken DNSSEC’i Unutmak
Site taşıma veya yeni bir Hosting altyapısına geçiş sırasında, genelde kesintisiz site taşıma rehberlerinde DNS kayıtlarına odaklanırız. Ancak DNSSEC tarafı gözden kaçarsa:
- Eski DNS sağlayıcınızın imza anahtarları devre dışı kalır.
- Yeni sağlayıcı DNSSEC desteklese bile DS kaydını güncellemezseniz, zincir kopar.
- Sonuç: Bazı kullanıcılar için alan adınız çözülemez hale gelir.
Yeni nameserver’a geçmeden önce DNSSEC’i geçici olarak devre dışı bırakıp, taşıma bittikten sonra yeni sağlayıcıda tekrar etkinleştirmek çoğu senaryoda daha güvenli bir yaklaşımdır.
3. Farklı Ortamlarda Tutarsız Zone İçerikleri
Birden fazla DNS sağlayıcı kullanıyorsanız (örneğin birincil ve ikincil DNS’ler farklı platformlardaysa), zone içeriğinin ve imzaların tutarlı olduğundan emin olmanız gerekir. Aksi halde bazı resolver’lar doğru, bazıları yanlış imza görür ve DNSSEC doğrulaması başarısız olur.
4. Yanlış Algoritma veya Desteklenmeyen Ayarlar
Bazı eski resolver’lar ve altyapılar, çok yeni veya deneysel imzalama algoritmalarını desteklemeyebilir. Çoğu üretim ortamında RSA/SHA-256 gibi yaygın kullanılan algoritmalarla kalmak, uyumluluk açısından daha güvenlidir. DNS sağlayıcınızın sunduğu varsayılan ayarları, özel bir sebep yoksa değiştirmemenizi tavsiye ederim.
DNSSEC, Performans ve Kaynak Kullanımı
DNSSEC etkinleştirildiğinde, DNS yanıtlarının boyutu artar ve resolver tarafında ek kriptografik doğrulama maliyeti oluşur. Bu genelde son kullanıcı için hissedilir bir yavaşlama yaratmaz; ama yoğun trafikli projelerde DNS altyapısının kapasite planlamasını yaparken göz önünde bulundurmakta fayda var.
Eğer kendi VPS veya Fiziksel Sunucunuz üzerinde DNS hizmeti veriyorsanız, kaynak kullanımını izlemeniz önemli. Bu noktada sunucu performansını artırmanın yolları ve VPS üzerinde IPv6 yapılandırma rehberi gibi içerikler, genel altyapı optimizasyonu için güzel tamamlayıcılar.
DCHost ve Profesyonel DNS Yönetimi ile DNSSEC
Kullandığınız altyapıya göre DNSSEC işi ya oldukça kolay, ya da biraz emek isteyen bir süreç haline gelebiliyor. DCHost gibi DNSSEC, IPv6, HTTP/2 ve modern güvenlik özelliklerini destekleyen platformlarda, genelde şu şekilde ilerliyorum:
- Alan adını DCHost paneline ekliyorum.
- DNS yönetim kısmında, tek tıkla DNSSEC’i etkinleştiriyorum.
- Oluşan DS kaydını, gerekirse alan adı tescil paneline kopyalıyorum (eğer tescil ayrı bir yerdeyse).
- Son olarak dig +dnssec ile kontrol edip projeyi canlıya alıyorum.
Kendi DNS sunucusunu yönetmek isteyenler için de, DCHost üzerindeki VPS ve fiziksel sunucu çözümleriyle BIND, PowerDNS gibi yazılımlar üzerinde tam kontrol sağlamak mümkün. Burada kritik olan, DNSSEC ile sunucu güvenliği ve yedekleme stratejilerini birlikte düşünmek. Detaylı güvenlik tarafı için VPS sunucu güvenliği rehberine göz atabilirsiniz.
Sonuç ve Uygulanabilir Öneriler
DNSSEC ilk bakışta karmaşık gelebilir; KSK, ZSK, DS, RRSIG derken isimler göz korkutuyor. Ama işin özünde yaptığımız şey, alan adının DNS kayıtlarını kriptografik olarak imzalayarak “bunlar gerçekten bana ait” demek. Doğru kurgulandığında, klasik DNS’in zayıf noktalarından birini kapatıyor ve özellikle e-ticaret, finans, kurumsal projeler için zorunluya yakın bir gereksinim haline geliyor.
Ben yeni bir projeye başlarken artık DNSSEC’i SSL, yedekleme ve temel sunucu güvenliğiyle aynı seviyede düşünüyorum. Özellikle SPF, DKIM ve DMARC yapılandırmalarını tamamlamış, HTTPS’e geçmiş, CDN ve performans optimizasyonunu oturtmuş sitelerde DNSSEC, güvenlik zincirinin eksik son halkası gibi duruyor.
Özetle uygulanabilir adımlar:
- Alan adınızın ve DNS sağlayıcınızın DNSSEC desteğini kontrol edin.
- Mümkünse önce kritik olmayan bir alan adında test edin.
- DNS sağlayıcınızda DNSSEC’i etkinleştirin, DS kaydını registrar paneline ekleyin.
- Yayılım sonrası mutlaka test edin; hatalı DS kaydından kaçının.
- Nameserver değiştireceğiniz zaman DNSSEC’i de planın bir parçası haline getirin.
Eğer DNS tarafında nereden başlayacağınız konusunda kafanız karışıksa, önce DNS kayıtlarını A’dan Z’ye anlattığım rehberi okuyup temel kavramları oturtmanızı, sonra bu yazıdaki adımları uygulamanızı öneririm. Doğru yapılandırılmış bir DNSSEC, hem sizi hem de ziyaretçilerinizi gereksiz risklerden koruyan, bir kez kurulduktan sonra uzun vadede büyük baş ağrılarını engelleyen güçlü bir araç.