DNSSEC – Domain Name System Security Extensions

DNSSEC mevcut DNS kullanımının daha güvenilir olması için geliştirilmiş bir eklentidir. DNS içerisinde bulunan delegation ve resolving prensipleri üzerinde hiçbir etkisi yoktur. Sadece zone file dosyası imzalanmış olup, DNS cevapları doğrulanmış olur.

DNSSEC ile DNS kayıtlarının kimliklerinin doğrulanabilir olması amaçlanmaktadır. Bu sayede gelen bir DNS cevabının gerçekten doğru kaynaktan alınıp alınmadığı, alınan DNS cevabının gerçek cevap ile farklı olup olmadığı doğrulanabilir.

DNSSEC sistemi altı elemandan oluşmaktadır.

  • Delegation – DNS sistemi ile birebir aynı
  • Zone File Management – DNS sistemi ile birebir aynı
  • Zone File Signing
    • Zone file içerisindeki kayıt bilgisine “RRSIGs” isimli bir dijital imza eklenir.
    • Zone file içerisindeki kayıt bilgisine doğrulama işlemi için DNSKEY isimli bir “public key” eklenir.
  • Zone File Distribution – DNS sistemi ile birebir aynı
  • Resolving – DNS sistemi ile birebir aynı
  • Verifying
    • Verification – Cevap doğru kaynaktan mı geliyor?
    • Validation – Cevap içeriği doğru mu?
    • Validity – Hala geçerli mi?

Zone File Signing

Zone file imzalama işlemi zone manager (registrant – domain sağlayıcı) tarafından oluşturulan PUBLIC/PRIVATE anahtarlar kullanılarak gerçekleştirilmektedir.

Zone manager ilk olarak anahtar çiftini oluşturur (key-pair) Daha sonra PUBLIC anahtar parent zone ile paylaşılmaktadır. “dnssec.nl.” adresi için parent adres SIND registries olacaktır. Parent zone (SDIN), almış olduğu PUBLIC anahtar değerini kendi zone file içerisine yazar. Daha sonra zone manager PUBLIC anahtar değerini kendi zone file içerisine yazarak herkes tarafından erişilebilir olmasını sağlar.

PRIVATE anahtar değeri kullanılarak resource kaydı imzalanır ve OWNER NAME için dijital imza oluşturulmuş olur (İmza içerisinde geçerlilik süresine ilişkin tarih aralığı belirtilmektedir) ve bu imzaRRSIG olarak adlandırılır.

Oluşturulan RRSIG zone file içerisinde resource kaydı ile birlikte saklanır.

Yukarıda da görüleceği üzere DNSSEC zone file içerisinde DNSKEY ve her resource için oluşturulmuş RRSIG imzaları bulunmaktadır.

Aşağıda gerçek bir DNSSEC zone file örneği bulunmaktadır. Her kayıt tipi için ayrı bir imza bulunduğu burada da görülmektedir.

DNSKEY değeri ise kendi RRSING imzası ile birlikte zone file içerisinde saklanmaktadır.

Verifying

Resolving işlemi standart DNS ile birebir aynı olarak gerçekleştirilmektedir. Tek fark resolver sorgusuna cevap olarak sadece IP adresi değil DNSKEY ve ilgili RRSIG anahtar değerleri de döndürülmektedir. Verifying için gerçekleşen işlemler ise aşağıdaki şekildedir.

  1. Sunucudan alınan cevabın içerik ve kaynağının doğrulanması için resolver içerisinde ufak bir doğrulayıcı uygulama çalışmaktadır.
  2. Doğrulayıcı uygulama ilk olarak domain adresine ait parent zone’a domain PUBLIC anahtar değerini sorar (Örneğimizde domain adresimiz “dnssec.nl.” olduğu için SIDN registries üzerinden PUBLIC anahtar değeri alınır)
  3. Registries (SIDN) üzerinden alınan PUBLIC anahtar ile sunucu tarafından gönderilen PUBLIC anahtar değerleri karşılaştırılarak aynı olup olmadıkları kontrol edilir (Gönderen kaynak gerçek mi?)
  4. Doğrulayıcı, sunucudan gönderilen imza değerini PUBLIC anahtar ile doğrulama işlemine tabi tutar.
  5. Doğrulayıcı, sunucudan alınan dijital imzanın geçerlilik süresi içerisinde olup olmadığını kontrol eder.

Tüm bu kontrollerin başarıyla tamamlanması sonrasında “dnssec.nl” domain adresi başarı ile doğrulanır. Yukarıda gerçekleştirilen tüm bu işlemler “.nl” kaydı içinde gerçekleştikten sonra kullanıcı istemiş olduğu kaynağa güven içerisinde ulaşabilecektir.

Referans: https://www.dnsseccursus.nl/en/player.html

Yazar: Ahmet Akan

2016 Karabük Üniversitesi Bilgisayar Mühendisliği Mezunu. Kariyerine Uygulama Güvenliği Analisti olarak başladı ve bu alanda görev almaya devam etmekte.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir