EN
EN

DNS Güvenliği

31 Mayıs 2021


Domain Name System (DNS) dünya çapında farklı kuruluşların yönettiği merkezi bir sistemdir. Telefon kullanırken bir kişinin numarası yerine ismini yazarak telefon rehberinden o kişiye ulaşılmakta, DNS’de aynı mantık ile erişmek istenilen sunucunun IP adresini yazmaksızın isminden erişmeyi sağlar.  DNS bu isimlerin kaydını tutar ve hiyerarşik bir yapısı vardır. En üstte kök (root) sunucuların yer aldığı bir ağaç yapısındadır. Her bir alt nokta bir etki alanı ve bu etki alanlarından ayrılan her bir parça da alt etki alanı (subdomain) olarak adlandırılır. Bu sistemde görev dağılımının ilk adımı olan TLD sunucular vardır. Ticari kuruluşların kullandığı ‘com’ veya Türkiye’nin kullandığı ‘tr’ gibi belli başlı TLD’nin örnekleridir. DNS etki alanının alt etki alanlarına bölünmesi yönetim kolaylığı sağlar ve kuruluşlar sahip olduğu alt etki alanındaki tüm verinin yönetimi, korunmasından sorumludurlar.

DNS protokolü UDP üzerinden çalışmaktadır ve DNS‘in çalışma süreci; istemci bir adrese gitmek üzere istekte bulunur, istemcinin haberleştiği DNS sunucusu IP adresini arar ve bulduktan sonra istemcinin tarayıcısı web sitesini barındıran sunucuya bağlanmasıyla son bulur. İstek ve cevap şeklinde ilerlerken istek paketinin boyutu 40-60 byte dolaylarında olmalı, DNS cevabı ise 512 bytedan küçük olmalıdır. Gerçekleştirilen örnek DNS sorgusu Şekil 1 de gösterilmektedir.

                        Şekil 1. “dig” komutu ile DNS sorgusu ve cevabı

Şekil 1’e bakıldığında sorgudan 132 milisaniyede, 72 byte bir cevap alınmıştır. DNS sorguları iterative ve recursive olarak iki şekildedir. Iterative sorgular birbirine sorma şeklinde çalışır.  İstemci bir alan adına istekte bulunduğunda, bağlı olduğu DNS sunucusu kök DNS sunucusuyla haberleşir ve kök DNS sunucu sorulan alan adına göre bildiği TLD sunucusunun adresini cevap olarak yerel DNS sunucusuna gönderir. Sonrasında yerel DNS sunucusu verilen adrese gider ve TLD sunucusu alt etki alanının yetkili olduğu DNS sunucusunun adresini cevap olarak gönderir. Yerel DNS sunucusu yine aynı şekilde gelen cevaptaki adrese gider ve adresi sorar. Alt etki alanının yetkili olduğu DNS sunucusu adresi biliyorsa biliyorum diyerek yerel DNS sunucusuna adresi verir ve yerel DNS sunucusu bu adresi istemciye iletir ve süreç tamamlanır. Eğer bilmiyorsa bildiği etki alanının DNS sunucu adresini gönderir ve yerel sunucu yetkili DNS sunucusunu bulana kadar süreç devam eder ve bulduğunda gelen cevaptaki IP adresini istemciye gönderir ve istemci web sitenin dosyalarının bulunduğu sunucuya erişimi gerçekleşir.

Recursive sorgularda ise istemci alan adına istekte bulunduğunda yerel DNS sunucusu kök DNS sunucusuyla haberleşir ve alan adının adresini sorar. Kök DNS sunucusu ise bu aşamada yerel sunucuya yanıt döndürmektense ilgili alt DNS sunucusuna bu alan adının adresini bul der, bu şekilde alan adının yetkili olduğu DNS sunucusuna ulaşana kadar aynı hiyerarşide devam eder. Yetkili DNS sunucusunun cevabı üst DNS sunucuları aracılığıyla kök DNS sunucuya ulaşması sağlanır. Kök DNS sunucusu yerel DNS sunucuya ilgili adresi verir ve yerel DNS sunucusu alan adının IP adresini istemciye gönderir ve istemci web sitenin dosyalarının bulunduğu sunucuya erişimi gerçekleşir. Bu senaryoda üst hiyerarşiye çok fazla yük binmiş olur fakat ön belleğe kaydedilmesi sayesinde bu yük biraz azaltılır.

DNS görev yapısı, internet alt yapısının sağlıklı bir şekilde çalışması için kritik öneme sahiptir. Bu nedenle DNS’i ele geçirilen sistemler büyük tehlikelerle karşı karşıya kalabilmektedir. Bir ülkenin DNS sunucularına yapılacak bir saldırı, o ülkenin internet akışını kilitleyebilir, dijitalleşen sektörlerin çoğunda aksamalar ve büyük maddi zararlar meydana getirebilir. Geçmiş yıllarda Türkiye’de DNS yükseltme saldırıları yaşandı. 27 Ekim 2019’da özel bir bankanın paketleri kullanılarak gerçekleştirildiği söylenen, bu saldırı müdahale edilene kadar hedef kuruluşların hizmetinin durmasına yol açtı. Bir diğer DNS yükseltme saldırısı da 2015 yılında gerçekleşmişti. İlgili saldırı hakkında ODTÜ tarafından yayınlanan kamuoyu duyurusunda şu maddelere yer verildi:

“14 Aralık 2015 Pazartesi günü, yurtiçi ve dışında 5 (beş) ayrı noktada konuşlanmış bulunan 6 (altı) adet “.tr” alan adı sunucusuna doğru gelen DDoS saldırısına bağlı olarak çok ciddi ölçüde Internet bant genişliği yoğunlukları yaşanmıştır. Saldırı temel olarak, "DNS yükseltme saldırısı" (DNS Amplification Attack) olarak başlamıştır. Bu saldırı, “.tr” Alan Adları’ndan ilgili IP adreslerine ulaşılmasını engellemek amacıyla, sahte ağ trafiği üretmek de dahil olmak üzere, DNS sunucularımıza doğru yoğun ağ trafiği yollanması şeklinde ülke dışındaki kaynaklar tarafından organize bir şekilde gerçekleştirilmiştir.

Üst (upstream) Telekom operatörlerinde konuşlanmış birden fazla 40 Gbps kapasiteli iletişim hattında taşmalara yol açan, bazılarında zaman zaman 200+ Gbps yoğunluklarına erişen bant genişliği saldırıları gözlenmiştir. Bu toplu saldırının, bugüne değin dünya üzerinde yaşanmış en yoğun saldırılardan biri olduğu bilinmektedir.” (www.nic.tr)

Her iki DNS yükseltme saldırısı da sonradan önlenmesine rağmen büyük ölçüde erişim sıkıntılarına yol açan oldukça zararlı saldırılardır. DNS sunucuları istek cevap üzerine çalışan mekanizmalar olduğu için yanlış ve eksik yapılandırıldıklarında önemli tehditler oluşturmaktadır. DNS protokolünden kaynaklanan bir diğer güvenlik zafiyeti ise DNS ön bellek zehirlenmesidir. Yerel DNS sunucusunda ön belleğe alınan verilerin istismarı sonucu istemcinin gerçekte gitmek istediği IP adresi yerine saldırganın IP adresine yönelir ve ortadaki adam saldırısı meydana gelir. Bu tarz saldırıları aza indirgemek için DNS sunucularının doğru şekilde yapılandırılması, güncelleştirmelerin yapılması, DNS sunucularında belirli IP adresleriyle sınırlandırmak gibi önlemler dışında DNS protokolüne ek olarak geliştirilmiş DNSSEC protokolü ile savunma oluşturabilir. DNSSEC kısaca DNS protokolünün yapamadığı kaynak doğrulamasını yaparak kullanıcının bağlanmak istediği web sayfasına veya servislere karşılık gelen IP adresine ait bilgiyi doğrular ve güvenli iletişim sağlar.