DNS İLE İLGİLİ HER ŞEY! - SİBER GÜVENLİK EĞİTİMİ

NELER VAR

24 Kasım 2019 Pazar

DNS İLE İLGİLİ HER ŞEY!


Domain Name System olarak bilinen DNS'in Türkçe karşılığı, alan isimlendirme sistemidir. DNS, tarayıcınızın adres çubuğuna girdiğiniz site ismini, girmek istediğiniz sitenin IP adresine çevirerek internette gezinmeyi inanılmaz kolaylaştıran oldukça yararlı sistemdir. Bir örnekle açıklamak gerekirse, tarayıcısından google'a gitmek isteyen hiç kimse google'ın asıl ikamet adresi olan 172.217.169.100 IP adresini tarayıcısına yazmaz. Onun yerine www.google.com yazar ve DNS sunucusu, bu adresi IP adresine yönlendirir. DNS'in ana amacı, ağ üzerinden gelen alan adı veya IP numarası ile ilgili sorgulamalara yanıt vermektir. Bu amaç için çok yaygın olarak BIND yazılımı kullanılmaktadır. DNS uygulama katmanında yer alır ve UDP protokolünü kullanır. Daha öncede bahsettiğim gibi UDP protokolünü kullanmasının sebebi çok hızlı işlem yapması gerektiğindendir. 
DNS Nasıl Ortaya Çıkmıştır? 
DNS  kavramı 1984 yılına kadar ortada yoktu. DNS'ten önceki yöntem, IP çözümlemesi "hosts" dosyası ile yapılır. Yani internet ağında bulunan bütün bilgisayarların kayıtları manuel olarak hosts dosyasına kayıt edilir. İnternet ağında bulunan bütün bilgisayarlarda da bu hosts dosyasının kopyası olmalıdır. 
Fakat internet ağındaki cihazların sayısı arttıkça bu dosyanın büyüklüğü olağanüstü boyutlara ulaşmıştır. Buna çözüm olarak ise 1984 yılında DNS kavramı ortaya çıkmıştır. 
DNS ve Çalışma Yapısı
Çalışma yapısına geçmeden önce root name server'ın ne olduğunu bilmemiz gerekmektedir. 
Root Name Server( Kök isim sunucusu): DNS sisteminin en üstünde bulunurlar ve sunucu adı-ip dönüşümünün başladığı yerdir. Gelen istekleri TLD(Top Level Domain- Üst Düzey Etki Alanı) sunucularına yönlendirirler. Dünya üzerinde 13 adet kök ip adresi bulunmaktadır. Daha fazla olsaydı daha iyi olmaz mıydı? diye bir soru düşünebiliriz. Fakat buranın 13 adet olmasının temelinde hız yatmaktadır. DNS, UDP protokolünü kullanır. DNS istekleri TCP/53 kullanır. 13 ip adresi tek bir pakette 416 byte pakete karşılık gelmekte ve UDP protokolünü kullanmaktadır. Fakat ip adresi artsaydı, tek seferde taşıyacağı paket boyutu 512 byte'ı geçecekti ve UDP yerine TCP protokolünü kullanmış olacaktı. Burada 13 ip görünce dünyada 13 adet server var gibi düşünebiliriz. Aslında 13 tane ip adresine bağlı yüzlerce server bulunmaktadır. 
DNS sistemi isim sunucuları ve çözümleyicilerinden oluşur. DNS'in nasıl çalıştığını, örnekle açıklamaya çalışalım. Örneğin tarayıcımızdan "www.meb.gov.tr" ye ulaşmak istiyoruz. Peki DNS buraya ulaşmamızı nasıl sağlıyor? Özetlersek, isim çözümleyici nasıl çalışıyor bir bakalım.
  1. Bilgisayarınız erişmek istediğiniz IP'nin adresini network ayarlarında girilmiş olan DNS sunucunuza sorar. 
  2. DNS sunucunuz dünya üzerinde 13 tane bulunan kök isim sunuculara (root name server) erişmek istediğiniz adresi sorar. Root DNS sunucuların IP adresleri DNS rolü yüklü olan Windows Server'larda  c:\windows\system32\dns\cache.dns dosyası içinde yazar. 
  3. Root DNS Server kendi database'nin içinden, .tr domaininin IP adresini bulur ve buraya yönlendirir. 
  4. DNS sunucunuz .tr domaininin kayıtlı olduğu  IP adresine dns sorgusu gönderir.
  5. .tr DNS sunucusu da kendi kayıtlarından .gov.tr DNS sunucusunun IP'sini yanıt verir. 
  6. .gov.tr DNS sunucu meb.gov.tr DNS sunucunun IP adresini gönderir. 
  7. Son olarak meb.gov.tr domainin tutulduğu DNS sunucusuna www.meb.gov.tr hangi IP'de sorgusu gönderilir. 
  8. www.meb.gov.tr IP'si DNS sunucunuza gönderilir. 
  9. DNS sunucunuz IP'yi size bildirir.   
Artık bilgisayarınız www.meb.gov.tr için gitmesi gerektiği IP'yi biliyor. DNS isim çözümlemesi internet üzerinde bu hiyerarşik düzende gerçekleşir.
Yukarıdaki dns çalışma mantığına baktığımız zaman root dns server'da önce ülke uzantısına bakıldığı belli oluyor. En sonda yer aldığını görebileceğiniz "tr","de","uk" gibi kısaltmalar aslında ülkeleri işaret eder. Bu ifadeler sayesinde söz konusu adresin bulunduğu ülke işaretlenmiş olur. Burada tek istisnai ülke ABD'dir. Bunun sebebi ise, dns uygulamasını ortaya atan ve ilk deneyen ülke ABD'dir. 
Gelelim aşamalarda çözümlemenin ikincil ayağına. İnternet adresleri az önce incelediğimiz gibi DNS ile ülkelere ayrıldığında bir sonraki alt bölümler ne anlama gelir? Kurumlara ait bilinen "top level domain" örneklerine bir bakalım.

com: Ticari Kuruluşlar
edu: Eğitim Kurumları
net: İnternetin temel taşı sayılan ağlar. 
gov: Hükümet Kurumları
mil: Askeri Kurumlar 
org: Ticari olmayan, hükümete bağlı olamayan sivil toplum örgütü gibi kurumlar.

İşte DNS sayesinde sistemde bir adresin hangi kuruma bağlı olduğunu, bu kurumun çeşidini ve hangi makine sorumlu gözlemleyebiliyoruz. 

sem.ayvansaray.edu.tr adresini inceleyelim. 
sem --> subdomain alan adı'dır. 
ayvansaray --> domain
edu --> top level domain
tr --> ülke uzantısı 

DNS Kayıt Türleri 
1. A Kaydı
Adres kaydı ya da kısaltılmış adı ile A kaydı, en temel ve en yaygın olan kayıt türüdür. A kaydı alan adları ile IP adreslerini eşleştirmek için kullanılır. 
2. CNAME Kaydı
Cname kaydı, alan adı adlarını tek bir alan adında birleştirmek ve bir alan adını farklı bir alan adına yönlendirmek için kullanılır. Örneğin www.ayvansaray.com ve ayvansaray.com alan adlarını cname ile www.ayvansaray.com adında birleştirilebilir. Aslında her iki adreste aynıdır. ayvansaray.com subdomain'dir diyebiliriz. 
3.PTR
IP'den isim çözmek için gerekli kayıt türüdür. Bir örneğini cmd konsol ekranından yapalım. Kendi ip adresimiz çözümleyemiyorsa nslookup komutuyla server değiştirebiliriz. PTR'ın bir diğer adı reverse DNS'tir. Tüm domain adreslerinde bulunmaktadır. Güvenlik nedeniyle gereklidir. 
Dns sunucu adresimizi google'ın adresi olarak ayarladık. set type= PTR yazıp belirlediğiniz bir adresi giriyoruz. 
Şimdi sorgudan dönen sonuçlarımıza bakalım. 
Burada öncelikli olarak name server'ı görüyoruz. Mail adreslerini, TTL süresi gibi verileri görebilmekteyiz. 
4.NS Kaydı
Yeni host, txt ve ttl(yaşam süresi-time to live) ekleyebileceğiniz sunucunuz için kaydeden DNS sunucu kayıtlarıdır. Aynı şekilde set type=NS diyerek name serverları görüntüleyebiliriz. 
5. MX Kaydı
Yeni host,öncelik, TTL ve hedef ekleyebileceğiniz postanızla ilgilenen sunucuyu tanımlama kaydıdır. 

Dipnot: nslookup'ın Kali'de karşılığı dig nslookup'tır. 

DNS Dosyaları İçinde Kullanılan Anahtar Sözcükler 
Directory: Belirtilen dosyaların bulunacağı dizin burada verilir. 
Cache: Cache dosyasını belirtir. 
Primary: Ana sunucunun (Primary Name Server) adı burada verilir. Alana ait temel bilgiler burada bulunur ve program ilk olarak aramaya bu sunucudan başlar. 
Forwarders: Ana sunucuda makine bulunamazsa burada belirtilen sunucuda aramaya başlanır. 
Serial: Burada seri numarası bulunur ve bu numaranın dosyada yapılan her değişiklikten sonra bir arttırılması gerekir. 
Refresh: Burada ayarlama yapılan dosyaların ne kadar sürede bir kendini yenilediği belirtilir. 
Retry: Burada ne kadar sürede bir aramanın yeniden deneneceği belirtilir. 
Expire: Ne kadar süre sonra aramanın sonlandırılacağı belirtilir. 
TTL(Time to live): Belirtilen süre kadar cache tutulabileceğini belirtir. 
Name: Makine adı belirtir. 
Data: IP numarası belirtilir. 

Recursive Sorgu
İstemci tarafından dns server'a yapılan sorgudur. İstemcinin networkteki ya da internetteki herhangi bir siteye bağlanmak için ip adresini dns server'a sorarken yaptığı sorgu tipidir. 
*Ters sorgulama için addr.arpa adında özel bir domain bulunmaktadır.

DNS Zone Türleri 
Birincil(Primary) Zone: Bölge veritabanı dosyasının kopyasıdır. Bölgenin yaratıldığı bilgisayarda yer alır. 
İkincil(Secondary) Zone: Bölge veritabanı dosyasının bir kopyasıdır. Bu da diğer dns sunucularında yaratılır. 

DNSSEC NEDİR?
Sayısal verinin dijital imza ile doğrulanmasına dayanan, bilişim güvenliğini tamamlayan teknolojilerdendir.
Dns sunucusu UDP protokolünü kullanmaktadır. UDP'de kaynak kontrolü yapılmadığı için TCP'ye göre güvensizdir. DNSSEC'te bu güvenlik eksikliklerini tamamlamak için geliştirilmiştir. Bu mekanizmada trafik kriptolanmaz, ziyaret edilen alan adının işaret ettiği IP adreslerinin doğruluğu kanıtlanır. 
DNSSEC'in tam olarak devreye girmesiyle, daha güvenli bir iletişim sağlanarak, man in the middle saldırılarına karşı koruma sağlanabilir. 

DNS Firewall 
DNS trafiğini çözümleyerek, tanımlamış olduğumuz aksiyonlara göre etkin koruma sağlayan bulut tabanlı güvenlik duvarı çözümüdür. Bu firewall'ların en önemlisi OpenDNS'tir. Ülkemizde de bu alana katkıda bulunan bir firewall bulunmaktadır. Roksit DNS tamamen Türk yapımıdır. 
OpenDNS;
  • Ücretsiz alan adı sistemi servisidir. OpenDNS diğer sunuculardan farklı olarak daha geniş bir önbelleğe sahiptir. 
  • OpenDNS'te kendi kontrol panelimizden filtreleme seçenekleri belirleyebiliriz. 
  • Kötü amaçlı yazılım, botnet koruması, kimlik avı koruması da yapar. 
  • OpenDNS'in sunucuları şu şekildedir: ns1:208.67.222.222 , ns2: 208.67.220.220'dir.
RoksitDNS: 
  • 120 civarında kategorisi vardır. Bulut tabanlı güvenlik modülüdür. 
  • Veri tabanında bulunmayan domain adreslerine erişimin engellenmesiyle etkin koruma sağlar.
  • Hızlı ve gerçek zamanlı kayıt edilir. 
  • Dns trafiğini anlık olarak kaydedebiliriz. 
  • Secure dns ile sistemlerinizi ilk aşama olan varlıklarınıza erişim aşamasında engeller. 
  • Sunucu adresleri şu şekildedir: ns1:199.244.90.90, ns2:199.244.90.91'dir.
Referanslar: 

Hiç yorum yok:

Yorum Gönder