DNS Flood Saldırısı

Güvenlik ve Tehditler
DNS altyapısını aşırı sayıda sorguyla kapasitesinin üzerinde çalıştıran hizmet engelleme saldırısı.
← Sözlüğe Dön

DNS flood saldırısı nedir?

DNS flood, yetkili ad sunucularına veya recursive resolver'lara aşırı sayıda DNS sorgusu göndererek DNS altyapısını kaynak bakımından tüketen bir DDoS saldırısıdır. Amaç DNS hizmetini kullanılamaz hale getirmek, böylece meşru kullanıcıların alan adlarını çözememesini sağlamaktır.

DNS flood saldırılarının etkisi

Sunucular aşırı yük altında kaldığında web sunucusu çalışıyor olsa bile kullanıcılar alan adını çözemediği için siteye ulaşamaz:

Normal operation:

User → DNS query → DNS server → Response → Website loads

During DNS flood:

User → DNS query → DNS server (overwhelmed, no response)

→ Website doesn't load (even though web server is fine)

MX aramaları başarısız olabilir, e-posta teslimi durabilir, DNS'e bağımlı API'ler erişilemez hale gelebilir ve ortak DNS altyapısındaki diğer alan adları da etkilenebilir.

DNS flood saldırısı türleri

Doğrudan DNS sorgu flood'u

Botnet yüksek hacimde geçerli görünen sorgular gönderir:

Botnet → Millions of DNS queries → Target DNS server

Query examples:

example.com A

www.example.com A

random1.example.com A

random2.example.com A

...millions more...

Geçerli sorguları filtrelemek zordur; rastgele alt alan adları önbelleği devre dışı bırakır.

DNS amplification saldırısı

Açık recursive resolver'lar, küçük istekleri büyük yanıtlarla kurbana yönlendirmek için kötüye kullanılır:

1. Attacker sends small query to open resolver

2. Spoofs source IP as victim's IP

3. Resolver sends large response to victim

4. Attacker amplifies bandwidth 28-54x

Örnek trafik oranı:

Attacker sends: 60-byte query for TXT record (ANY query)

Resolver sends: 3000-byte response to victim

Amplification: 50x

NXDOMAIN flood'u

Önbelleğe alınamayacak var olmayan adlar sorgulanır:

Query: random-12345.example.com (doesn't exist)

Server must check authoritative zone every time

Cannot be cached (NXDOMAIN responses often have low TTL)

Consumes more server resources than cached responses

Phantom domain saldırısı

Yanıt vermeyen alan adları sorgulanır ve resolver zaman aşımı bekler:

Attacker: Queries resolver for slow/non-responsive domains

Resolver: Waits for timeout, consumes resources

Result: Resolver resource exhaustion

Rastgele alt alan adı saldırısı

Her sorgu farklı olduğu için önbellek isabeti engellenir:

Query: abc123random.example.com

Query: xyz789random.example.com

Query: def456random.example.com

Each is unique → cache miss → authoritative query

Overwhelms authoritative nameservers

Saldırı vektörleri ve teknikleri

Botnet kaynaklı saldırılar

Ele geçirilmiş IoT cihazları, bilgisayarlar ve sunucular dağıtılmış trafik üretir:

Compromised devices:
  • IoT devices (cameras, routers)
  • Infected computers
  • Hacked servers

Distributed attack:

10,000 bots × 100 queries/sec = 1 million queries/sec

Yansıtma saldırıları

Kaynak IP'si kurbanınki gibi sahte gösterilir ve açık resolver'lar büyük yanıtları kurbana gönderir:

Attacker spoofs victim's IP

Sends queries to many open resolvers

Resolvers respond to victim with large answers

Victim receives amplified traffic

Uygulama katmanı flood'ları

Sorgular gerçek trafiğe benzediğinden ayrıştırılmaları zor olabilir:

Legitimate-looking queries

Difficult to distinguish from real traffic

May target specific resource-intensive query types

DNS flood saldırılarını saptama

Olağandışı sorgu hacmi

Normal taban çizgisiyle anlık sorgu hacmini karşılaştırın:

Normal baseline: 10,000 queries/second

During attack: 500,000+ queries/second

Ölçüm için BIND durumunu ve günlükleri inceleyin:

# Check query rate (BIND)

rndc status | grep "queries resulted"

# Analyze query logs

tail -f /var/log/named/queries.log | wc -l

Yüksek NXDOMAIN oranı

Normal: 5-10% NXDOMAIN responses

Attack: 50-90% NXDOMAIN responses (random subdomain flood)

Kaynak IP dağılımı

Legitimate: Diverse source IPs, geographic spread

Attack: Concentrated sources, unusual geographic patterns

Sorgu kalıpları

Legitimate: Repetitive queries (common domains cached)

Attack: Unique queries (random strings, no cache benefit)

Yanıt süresinin bozulması

Normal: < 50ms response time

Under attack: > 1000ms or timeouts

DNS flood saldırılarını azaltma

Altyapı düzeyinde savunmalar

#### Anycast DNS

Anycast, kapasite yedekleri ve otomatik ölçekleme saldırı trafiğini dağıtır:

Single IP address (e.g., 1.2.3.4) announced from multiple locations

Attack traffic automatically routed to nearest server

Load distributed across global network

Harder to overwhelm all locations simultaneously

#### Oversized DNS Infrastructure

Kapasiteyi normal tepe trafiğinin çok üzerinde planlayın:

Capacity: 10x normal peak traffic

Reserves: Handle sudden spikes

Auto-scaling: Add capacity during attacks

#### Rate Limiting

RRL, açık resolver'ların kötüye kullanımını azaltır:

# BIND rate limiting (response-rate limiting)

rate-limit {

responses-per-second 10;

window 5;

slip 2;

};

#### Query Filtering

Şüpheli ve kaynak tüketen sorgu türlerini sınırlandırın:

# Block ANY queries (common in amplification)

# Block excessively long queries

# Block known-malicious patterns

ANY sorgularına örnek kural:

# Block ANY queries

match-query {

type ANY;

action drop;

};

DNS sağlayıcısı düzeyinde savunmalar

#### DNSSEC

DNSSEC, DNS yanıtlarının bütünlüğünü ve kaynağını doğrulayarak saldırı sırasında güvenilir çözümleme sağlar.

#### Hidden Master Configuration

Gizli bir master ve kamuya açık slave sunucuları ayırmak, saldırı sırasında yönetimi sürdürmeye yardımcı olur:

Master server (hidden):    10.0.0.1 (not publicly known)

Slave servers (public): ns1.example.com, ns2.example.com

Attackers target slaves

Master remains operational

Can quickly update slaves if needed

#### DNS Firewall / IDS

Gerçek zamanlı sorgu analiziyle şüpheli kalıpları engelleyin ve güvenilir istemcileri beyaz listeye alın:

Analyze queries in real-time

Block suspicious patterns

Whitelist known-good clients

Blacklist attack sources

Uygulama düzeyinde korumalar

#### Response Rate Limiting (RRL)

Yanıt oranını istemci bazında sınırlandırın:

Limit identical responses to same client

Prevents amplification attacks

Slip mode: Occasionally allow queries through (to not break legitimate recursive resolvers)

Resolver için örnek RRL ayarları:

options {

rate-limit {

responses-per-second 5;

referrals-per-second 5;

nodata-per-second 5;

nxdomains-per-second 5;

errors-per-second 5;

window 5;

};

};

#### Cache Optimization

Önbelleği büyütmek ve uygun TTL değerleri kullanmak tekrar eden sorguları azaltır:

Increase cache size to absorb repeated queries

Longer TTLs where appropriate (trade-off with agility)

Prefetch popular records

#### Query Filtering

Var olmayan bölgeleri, kötü kaynakları ve aşırı sorgu hızlarını engelleyin:

# Drop queries for non-existent zones

# Block queries from known-bad sources

# Rate-limit per-source queries

Ağ düzeyinde savunmalar

#### BGP Blackholing

Son çare olarak saldırı trafiğini null0'a yönlendirin:

Route attack traffic to null0

Sacrifice availability to preserve infrastructure

Last resort when attack overwhelms capacity

#### Upstream ISP Filtering

ISP ile filtreleme ve trafik temizleme merkezlerini koordine edin:

Coordinate with ISP to filter attack traffic

Source IP validation (prevent spoofing)

Traffic scrubbing centers

#### DDoS Mitigation Services

Özel DDoS koruma hizmetleri saldırıyı sunuculara ulaşmadan emebilir:

Cloudflare, Akamai, AWS Shield

Absorb attack traffic before reaching your servers

Global capacity to withstand large attacks

DNS dayanıklılığı için en iyi uygulamalar

Birden çok DNS sağlayıcısı kullanın

Farklı altyapılar tek hata noktasını azaltır:

Primary provider: Cloudflare

Secondary provider: AWS Route 53

If one is attacked/down, other continues serving

Different infrastructure reduces single point of failure

DNSSEC uygulayın

DNSSEC, saldırı sırasında yanıt bütünlüğünü ve kaynak doğrulamasını korur:

Protects against DNS spoofing/cache poisoning

Maintains integrity during attacks

Build trust even under attack conditions

DNS performansını izleyin

Sorgu oranı, gecikme, NXDOMAIN ve hata oranlarını düzenli ölçün:

Real-time query rates

Response times

NXDOMAIN percentages

Geographic distribution of queries

Error rates

Düzenli kapasite testi yapın

Kapasite, devre dışı kalma ve savunma senaryolarını kontrollü olarak test edin:

Load testing: Can infrastructure handle 10x traffic?

Failover testing: Do secondary providers activate correctly?

Attack simulation: Test mitigation strategies

Yetkili sunucularda recursion'ı kapatın

# BIND

recursion no;

Zone transferlerini kısıtlayın

# BIND

allow-transfer { 10.0.0.2; 10.0.0.3; }; # Only specific slaves

Yazılımı güncel tutun

DNS yazılımını düzenli güncelleyin, bilinen zafiyetleri yamalayın ve güvenlik duyurularını takip edin:

Regularly update DNS server software

Patch known vulnerabilities

Subscribe to security advisories

Etkin DNS flood saldırısına yanıt verme

Acil eylemler

Sorgu hızını, sistem yükünü ve RRL durumunu hemen kontrol edin:

# Check query rate

rndc status

# Check load

top

# BIND: Enable RRL if not already active

rndc addzone rate-limit

# Top query types

grep "query" /var/log/named/queries.log | awk '{print $6}' | sort | uniq -c | sort -rn | head -20

# Top queried domains

grep "query" /var/log/named/queries.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20

# Identify top source IPs

grep "query" /var/log/named/queries.log | awk '{print $5}' | cut -d# -f1 | sort | uniq -c | sort -rn | head -50

# Block at firewall

iptables -A INPUT -s ATTACKER_IP -j DROP

Orta vadeli eylemler

RRL'yi etkinleştirin ve en sık kullanılan sorgu türlerini inceleyin:

Kaynak IP'lerini belirleyip gerekirse güvenlik duvarında engelleyin:

Saldırı sonrası analiz

Paket yakalamalarını, günlükleri ve trafik grafiklerini olay kaydıyla birlikte saklayın:

Hukuki bildirim ve raporlama

Yetkililere bildirin

Saldırının zamanını, kaynaklarını ve etkisini belgeleyerek barındırma sağlayıcısına, ISP'ye veya ilgili yetkililere bildirin.

Kanıtları toplayın

Günlükleri, paket yakalamalarını, sorgu ölçümlerini ve yapılandırma değişikliklerini değiştirilmeden saklayın. Bu kayıtlar hem müdahale hem de sonraki kapasite planlaması için gereklidir.

# Packet captures

tcpdump -i eth0 -w dns-attack.pcap port 53

# Full query logs

tar -czf attack-logs-$(date +%Y%m%d).tar.gz /var/log/named/

# Traffic graphs/screenshots

# System resource usage

Bu Bilgiyi Uygulamaya Koyun

Alan adı uygunluğunu, durumunu ve daha fazlasını kontrol etmek için DomScan API'sini kullanın.