DNS

Amaçları

İnternette bulunan her nesnenin, etkileşime giren her sunucu ve ucun bir internet adresi olması gerekir. Bu adres, protokol seviyesinin IPv4 ve IPv6 olmasına göre 32 bit ya da 128 bit uzunluğundadır. Alan adı, bu 32 ya da 128 bit uzunluğundaki sayı yerine insanların anlayacağı, akılda tutacağı, kurumsal kimlik ve marka ile özdeşleştirebileceği isimlerin kullanılmasını sağlar. Örneğin tr.wikipedia.org alan adı ile 207.142.131.210 şeklindeki IP nosu ile bağlantıyı Alan Adı Sistemi sağlar. Sırayla; org, wikipedia.org ve tr.wikipedia.org iç içe geçmiş İnternet alanları ya da bölmeleridir.
İnsan dostu bilgisayar sistem adlarını IP adreslerine çevirerek İnternet için telefon rehberi hizmeti sunan sitem, DNS i tanımlamak için sıkça kullanılan bir benzetmedir. Mesela, alan adı www.example.com, 93.184.216.119 (IPv4) ve 2606:2800:220:6d:26bf:1447:1097:aa7 (IPv6) adreslerine çevrilir. Bir telefon rehberi aksine DNS aynı ana bilgisayar adını kullanmaya devam eden son kullanıcıları etkilemeden ağdaki servisin konumunun değişmesine izin vererek çabuk bir şekilde güncellenebilir. Kullanıcılar anlamlı bir Değişmeyen Kaynak Konum Belirleyici (URL) ve bilgisayarın servisleri nasıl yerleştirdiğini bilmek zorunda kalmadan e-mail adresi kullandıklarında bundan avantaj sağlarlar. 
Alan Adı Sistemi'nin yarattığı ilişkiler birebir ilişki olmak zorunda değildir. Bir alan adına birden fazla IP adresi atanabilir. Bu yoğun talep olan hallerde geçerlidir. Wikipedia.org, yahoo.com, google.com gibi adreslerde bu çok olur. Ama daha yaygını, birçok alan adı tek bir IP'ye atanabilir. Buna da "Sanal Evsahipliği" (Virtual Hosting) denir.
Alan Adı Sistemi hiyararşik bir yapı gösterir. En üste .com, .org, .net, .int, .edu, .info, .biz, .aero, .travel, .jobs, .gov, .mil gibi "jenerik" üst düzey alanlarla (gTLD) .tr, .us, .de, .uk, .jp, .az gibi ülke alanlarından (CcTLD) oluşur. Buna son olarak .eu ve .asia gibi bölgesel birkaç üst düzey alan adı daha eklenmiştir.

DNS’in tarihçesi

Bilgisayar ağları üzerindeki isimlendirme sorunu ilk olarak internetin babası sayılan Arpanet zamanında ortaya çıkmıştır. 1970’lerde ArpaNet günümüz ağları ile karşılaştırılamayacak kadar küçük durumdaydı ve yalnızca birkaç yüz ile ifade edilebilen sisteme hizmet veriyordu. Bu tarihlerde isimlendirme için tek noktada tutulan bir dosyanın bulunması ve diğer tüm sistemlerin bu dosyayı belli aralıklarla kendi taraflarında güncellemesi isimlendirme sorununu çözmüştü.
Adres-isim tanımlamalarını içeren HOSTS.TXT dosyası SRI tarafından SRI-NIC (Stanford Research Institute – Network Information Center) adında bir bilgisayar üzerinde tutulmaktaydı. Bu dosya her adrese bir isim karşılık gelecek şekilde düzenlenmişti. Arpanet üzerindeki yeni isim tanımlamaları ve değişiklikleri SRI’ya gönderilen e-postalar arcılığı ile yapılıyor ve HOSTS.TXT’in kopyası File Transfer Protocol ile alınıyordu.
Arpanet üzerinde TCP/IP kullanımına paralel olarak ortaya çıkan bağlantı patlaması, isim çözümü için birçok sunucuda ve her bilgisayara özgün bir isim atanmasında problemler yaşanmaktaydı. Ayrıca yalnızca isim çözümlenmesi için oldukça yüksek miktarda bant genişliği harcanmaktaydı. Buna rağmen kullanılan isim veritabanlarının uyumlu olması her zaman sağlanamamaktaydı.
Bu durumun ortaya çıkmasından sonra Arpanet daha ölçeklenebilir bir isim çözümleme yapısı için araştırmalara başladı. Paul Mockapetris bu işle görevlendirildi. Mockapetris 1984 yılında Domain Name System (DNS)’i tanımlayan RFC 882 ve RFC 883’ü yayınladı. Bunlar daha sonra hâlen geçerli olan RFC 1034 ve RFC 1035 tarafından güncellendiler.

DNS'in yapısı

DNS sistemi, isim sunucuları ve çözümleyicilerinden oluşur. İsim sunucuları olarak düzenlenen bilgisayarlar, host isimlerine karşılık gelen IP adresi bilgilerini tutarlar. Çözümleyiciler ise DNS istemcilerdir. DNS istemcilerde, DNS sunucu ya da sunucuların adresleri bulunur.
Bir DNS istemci bir bilgisayarın ismine karşılık IP adresini bulmak istediği zaman isim sunucuya başvurur. İsim sunucu, yani DNS sunucu da eğer kendi veritabanında öyle bir isim varsa, bu isme karşılık gelen IP adresini istemciye gönderir. DNS veritabanına kayıtların elle, tek tek girilmesi gerekir.
İnternet adresleri, ilk önce ülkelere göre ayrılır. Adreslerin sonundaki tr, de, uk gibi ifadeler adresin bulunduğu ülkeyi gösterir. Örneğin tr Türkiye'yi, de Almanya'yı, uk İngiltere'yi gösterir. ABD adresleri için bir ülke takısı kullanılmaz çünkü DNS ve benzeri uygulamaları oluşturan ülke ABD’dir. Öte yandan, ABD'ye özel kuruluşlar için us uzantısı oluşturulmuştur. İnternet adresleri ülkelere ayrılıdıktan sonra com, edu, gov gibi daha alt bölümlere ayrılır. Bu ifadeler DNS'te üst düzey (top-level) domain'lere karşılık gelir. Üst düzey domain'ler aşağıdaki gibidir.

DNS Sorgulama

DNS; mail sunucuları, domain isimleri ve IP adresleri gibi bilgileri tutan hiyerarşik bir yapıdır. Bir DNS istemcisi, ad çözümlemesi yapmak için DNS sunucularını sorgular. DNS hizmetleri; kullanıcının girdiği bir DNS adını çözüp, IP adresi gibi o ad ile ilişkili bilgileri oluşturur.
DNS sorgulaması yapmadan önce yapılan bir tarama sonucunda, DNS bilgileri 'name servers(NS)' ya da 'domain servers' olarak görülür. Bu bilgiilerin erişiminden sonra DNS sorgulamasıyla daha fazla bilgiye ulaşılır.
Yanlış yapılandırılmış bir DNS sunucusu sonucunda 'Bölge Transferi(Zone Transfer)' olarak bilinen atak yapılabilir. Bölge transferi ile DNS sorgusu yapılan hedefle ilgili birçok bilgiye ulaşılabilir. Bölge transferi; DNS sunucusunun çalıştığı domain ile ilgili bütün verileri içerir. Bu önemli bilgilerin içinde e-posta sunucusunun ismi, IP adresi, kullanılan işletim sistemi ile ilgili bilgiler vardır.
Bölge transferlerine karşı bir önlem olarak güvenlik duvarında(firewall) veya ağ geçitlerindeki yönlendiricilerde 53 numaralı TCP portu gelen tüm yetkisiz bağlantılara karşı kapalı tutulmalıdır.
DNS sorgulasından bir korunma yöntemi olarak alan adı bir domain değilse, -.tr uzantı ile sonlanmıyorsa 'private domain' haline getirmek bazı tehlikelerden korur. Private domain olan alan adlarında kişisel bilgiler 'Private' halini alır. Yani gerçek bilgiler gizlenir. Ama, private domain her domain sağlayıcıda yoktur.