DNS Nedir?
DNS (Alan Adı Sistemi), internetin telefon rehberidir. "example.com" gibi insanların okuyabileceği alan adlarını, bilgisayarların birbirini bulmak ve iletişim kurmak için kullandığı "93.184.216.34" gibi makine tarafından okunabilir IP adreslerine dönüştürür. DNS olmasaydı web sitelerini ziyaret etmek için IP adreslerini ezberlemeniz gerekirdi; google.com yerine 142.250.80.46 yazdığınızı düşünün.
DNS Nasıl Çalışır
Tarayıcınıza bir alan adı girdiğinizde karmaşık ama son derece hızlı bir süreç gerçekleşir:
DNS Çözümleme Süreci
1. Yerel Önbellek Denetimi: Tarayıcınız ve işletim sisteminiz önce yerel DNS önbelleğinde bu alan adı için yakın tarihli bir sonuç olup olmadığını kontrol eder.
2. Özyinelemeli Çözümleyici Sorgusu: Sonuç önbellekte yoksa sorgu, genellikle internet servis sağlayıcınızın veya Cloudflare'in 1.1.1.1 ya da Google'ın 8.8.8.8 gibi bir hizmetin işlettiği özyinelemeli bir DNS çözümleyicisine gönderilir.
3. Kök Sunucu Sorgusu: Çözümleyici, onu uygun TLD sunucusuna yönlendiren bir kök ad sunucusunu sorgular.
4. TLD Sunucu Sorgusu: TLD sunucusu, örneğin .com için, belirli alan adının yetkili ad sunucularını sağlar.
5. Yetkili Sunucu Sorgusu: Son olarak yetkili ad sunucusu, alan adının gerçek IP adresini döndürür.
6. Yanıt Önbelleğe Alma: Sonuç, TTL (Time To Live) değerlerine göre birden fazla düzeyde önbelleğe alınır.
Sürecin tamamı genellikle birkaç milisaniye içinde tamamlanır.
DNS Kayıt Türleri
DNS, her biri farklı bir amaca hizmet eden çeşitli kayıt türlerini depolar:
| Kayıt Türü | Amaç | Örnek |
|---|---|---|
| A | Alan adını IPv4 adresiyle eşler | example.com → 93.184.216.34 |
| AAAA | Alan adını IPv6 adresiyle eşler | example.com → 2606:2800:220:1:... |
| CNAME | Başka bir alan adına işaret eden takma ad | www.example.com → example.com |
| MX | Posta sunucusunu belirtir | example.com → mail.example.com |
| TXT | Metin verileri (SPF, DKIM, doğrulama) | Çeşitli doğrulama dizeleri |
| NS | Ad sunucusu delegasyonu | example.com → ns1.provider.com |
DNS Hiyerarşisi
DNS, dağıtılmış ve hiyerarşik bir veritabanı olarak çalışır:
. (root)
├── com (TLD)
│ ├── example (SLD)
│ │ ├── www (subdomain)
│ │ └── mail (subdomain)
│ └── google
├── org (TLD)
└── io (TLD)
Bu hiyerarşi, milyarlarca alan adının binlerce kuruluş arasında dağıtılmış biçimde yönetilmesini mümkün kılar.
Geliştiriciler için DNS
DNS'yi anlamak web geliştirme için kritik öneme sahiptir:
Yaygın Geliştirme Görevleri
Alan Adı Yapılandırması: A kayıtlarını, alt alan adları için CNAME'leri ve e-posta için MX kayıtlarını yapılandırmak DNS bilgisi gerektirir. SSL/TLS Doğrulaması: Birçok sertifika yetkilisi, alan adı sahipliğini doğrulamak için DNS kayıtlarını (TXT veya CNAME) kullanır. CDN Kurulumu: İçerik dağıtım ağları, trafiği uç sunucuları üzerinden yönlendirmek için çoğu zaman CNAME kayıtları gerektirir. E-posta Teslim Edilebilirliği: SPF, DKIM ve DMARC kayıtlarının tümü e-posta kimlik doğrulaması için gerekli DNS TXT kayıtlarıdır.DNS Yayılımı
DNS kayıtlarını güncellediğinizde değişiklikler hemen etkinleşmez. DNS yayılımı, değişikliklerin küresel DNS altyapısına yayılması için gereken süredir ve TTL ayarlarıyla önbelleğe alma davranışlarına bağlı olarak birkaç dakikadan 48 saate kadar sürebilir.
DNS Güvenliğiyle İlgili Hususlar
Geliştiriciler DNS'nin güvenlikle ilgili etkilerini anlamalıdır:
DNS sahteciliği: Saldırganlar sahte DNS yanıtları döndürerek kullanıcıları kötü amaçlı sitelere yönlendirmeye çalışabilir. DNSSEC (DNS Güvenlik Uzantıları), kriptografik imzalarla bunu önlemeye yardımcı olur. DNS sızıntıları: VPN kullanıcıları DNS sorgularını yanlışlıkla şifreli tünelin dışına gönderebilir ve tarama etkinliklerini açığa çıkarabilir. DDoS amplifikasyonu: Protokol, isteklerden daha büyük yanıtlar döndürebildiği için DNS amplifikasyon saldırılarında kötüye kullanılabilir.DNS ve Alan Adı Kullanılabilirliği
DNS çözümleme durumu alan adının kullanılabilirliğine işaret edebilir; DNS kaydı yoksa alan adı kayıtlı olmayabilir. Ancak RDAP/WHOIS sorguları kullanılabilirlik hakkında daha güvenilir bilgi sağlar; çünkü kayıtlı alan adlarının DNS kayıtları henüz yapılandırılmamış olabilir.