Sunucuda DDoS Trafiği Nasıl Tespit Edilir ve Engellenir?

Sunucuda DDoS Trafiği Nasıl Tespit Edilir ve Engellenir?
Yazı Özetini Göster

Sunucuda DDoS Trafiği Nasıl Tespit Edilir ve Engellenir?

DDoS (Distributed Denial of Service) saldırıları, hedef sunucunun veya ağın kapasitesini aşarak hizmetin kesintiye uğramasına yol açar. Bu rehber, saldırı tespiti, hızlı müdahale adımları ve kalıcı savunma stratejilerini adım adım açıklar. Amacımız: önce olayı doğru tespit etmek, sonra hizmeti mümkün olduğunca ayakta tutmak ve nihayetinde benzer saldırılara karşı dayanıklılığı artırmaktır.

1. Olayı İlk Fark Ettiren Belirtiler

  • Web siteleri yavaş açılıyor veya 5xx hataları artıyor.
  • Network arayüzü (NIC) yoğunluğu aniden yükseliyor.
  • CPU / Disk I/O patlaması, nf_conntrack doluluğu.
  • Binlerce kısa süreli bağlantı / SYN_RECV artışı veya çok sayıda UDP paketi.

2. Hızlı Tespit Komutları (İlk 5 dakika)

# Genel bağlantı özetleri
ss -s

# Açık TCP bağlantıları (HTTP örneği)
ss -tn state established '( sport = :80 or sport = :443 )' | head

# Ağ arayüzündeki anlık trafiği gör
iftop -i eth0
nethogs

# Paket yakala (örnek 10k paket)
tcpdump -nn -i eth0 -c 10000 'tcp or udp' -w /tmp/ddos_trace.pcap

# conntrack durumu
cat /proc/sys/net/netfilter/nf_conntrack_count
cat /proc/sys/net/netfilter/nf_conntrack_max

3. Trafik Profili Çıkarma

Kaynak IP dağılımı, protokol (TCP/UDP/ICMP), hedef portlar (80/443 vs) ve URI paterni belirlenmeli. Örnek hızlı analiz:

tcpdump -nn -i eth0 -c 20000 'tcp port 80' | awk '{print $3}' | cut -d. -f1-4 | sort | uniq -c | sort -nr | head

Sonuç: tek bir IP mi yoksa binlerce IP mi saldırıyor? (botnet vs single-source)

4. Acil Müdahale (Containment)

  • IP bazlı bloklama (ipset) — çok sayıda IP’yi verimli bloklamak için ipset kullanın.
  • SYN/UDP rate-limit — kernel/iptables ile syn flood veya udp flood azaltılır.
  • Uplink/ISP iletişimi — volumetrik saldırılarda upstream scrubbing/blackholing gerekebilir; hemen destek isteyin.
  • CDN/WAF “Under Attack” mod — Cloudflare/Benzeri sağlayıcılarda challenge modu açın.
# ipset örneği
ipset create ddosblock hash:ip family inet hashsize 4096
ipset add ddosblock 1.2.3.4
iptables -I INPUT -m set --match-set ddosblock src -j DROP

# SYN flood basit limit (iptables)
iptables -N syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 10/second --limit-burst 20 -j RETURN
iptables -A syn-flood -j DROP

5. Uygulama Katmanı (Layer 7) Koruması

  • Rate limiting (Nginx) — limit_req_zone + limit_req ile IP başına istek hızı sınırla.
  • WAF / ModSecurity — kötü niyetli URI/Agent pattern’lerini engelle.
  • CAPTCHA / JS challenge — otomatik botları zorluklarla uzaklaştır.
# Nginx rate limit örneği
http {
  limit_req_zone $binary_remote_addr zone=rl:10m rate=10r/s;
  server {
    location / {
      limit_req zone=rl burst=20 nodelay;
      ...
    }
  }
}

6. Orta ve Uzun Vadeli Stratejiler

  • CDN + Anycast — global dağıtım ve temel volumetric mitigasyon.
  • Scrubbing servisleri — büyük volumetrik ataklar için ISP/3rd-party.
  • Autoscaling & Load Balancing — ani yükü absorbe etmeye yardımcı olur.
  • IP Reputation / Geo-blocking — şüpheli coğrafyalardan gelen trafiği kısıtla.
  • Conntrack tuning — nf_conntrack_max artırma ve timeout optimizasyonu.

7. Örnek Kurallar ve Araçlar

# connlimit ile aynı IP'den max 50 bağlantı
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 50 -j REJECT --reject-with tcp-reset

# recent mod ile saniyede fazla istek yapanları düşür
iptables -N HTTP_RATE
iptables -A INPUT -p tcp --dport 80 -m recent --name http_rate --set -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m recent --name http_rate --update --seconds 1 --hitcount 20 -j DROP

8. İzleme ve Alarm Eşikleri

  • NIC throughput %70–80 sürekli => uyar.
  • aniden 5xx oranı %10+ artışı => uyar.
  • nf_conntrack_count > %90 nf_conntrack_max => uyar.

Prometheus/Grafana, Netdata veya Zabbix ile bu metrikleri izleyin ve otomatik uyarılar kurun.

9. Adli Analiz (Forensics)

  • pcap al, IP/User-Agent/URI patternlerini kaydet.
  • Suricata/Zeek ile trafikten IOC çıkarımı yap.
  • Logları SIEM (Elastic/Splunk/Graylog) ile korele et.
# pcap alma
tcpdump -i eth0 -w /tmp/ddos_$(date +%s).pcap 'tcp or udp'

10. Operasyonel Playbook (Kısa Adımlar)

  1. Tespit: ss -s, iftop, tcpdump ile doğrula.
  2. Hızlı blok: ipset ile en yoğun IP’leri DROP et.
  3. Uygulama limitleri: Nginx rate-limit / WAF aktif et.
  4. Upstream: ISP veya hosting sağlayıcısına scrubbing/blackhole talebi gönder.
  5. Analiz: pcap + SIEM, sonra kalıcı kurallar oluştur.

Sonuç

DDoS’e karşı savunma—tespit, hızlı müdahale ve kalıcı önleme katmanlarının birleşimidir. Küçük saldırılar yerel kurallarla engellenebilir; büyük volumetrik ataklarda CDN/ISP bazlı mitigasyon ve scrubbing servisleri gerekir. Planlı hazırlık (monitoring, rate limits, CDN, WAF) saldırı anındaki tepki süresini kısaltır ve hizmet sürekliliğini korur.

Bir Yorum Yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Benzer Yazılar