Ana içeriğe geç
Kategoriye Dön

DDoS Saldırısı Acil Müdahale Planı

DDoS saldırısı tespiti, acil müdahale adımları, trafik analizi, ISP iletişimi, post-mortem analiz ve önleme stratejileri hakkında kapsamlı rehber.

Okuma süresi: 14 dk DDoS Koruma ve Güvenlik
ddosacil-müdahaleincident-responsetrafik-analizigüvenlikpost-mortem

İçindekiler

DDoS Saldırısı Acil Müdahale Planı

Bir DDoS saldırısı anında doğru ve hızlı müdahale, hizmet kesintisini minimize etmek için kritik öneme sahiptir. Bu rehberde saldırı tespitinden post-mortem analize kadar tüm acil müdahale sürecini adım adım ele alacağız.

DDoS saldırısı sırasında panik yapmayın. Bu rehberdeki adımları sırasıyla takip edin. REXE destek ekibi 7/24 yardıma hazırdır.

Saldırı Tespiti

DDoS saldırısının erken tespiti, etkili müdahale için ilk adımdır.

Belirtiler

BelirtiOlası Saldırı Türü
Web sitesi yavaş veya erişilemiyorLayer 7 HTTP flood
SSH bağlantısı kurulamıyorLayer 4 SYN/TCP flood
Yüksek bant genişliği kullanımıVolumetrik saldırı
CPU/RAM normal ama site yavaşAğ seviyesi saldırı
CPU %100 ama trafik normalApplication layer saldırı

Hızlı Teşhis Komutları

hljs bash
# 1. Sunucu erişilebilirlik kontrolü
ping -c 5 SUNUCU_IP

# 2. Ağ bağlantı durumu
ss -s

# 3. Aktif bağlantı sayısı
ss -ant | wc -l

# 4. En çok bağlantı kuran IP'ler
ss -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20

# 5. SYN-RECV durumundaki bağlantılar
ss -ant state syn-recv | wc -l

# 6. Bant genişliği kullanımı
ifstat -i eth0 1 5

# 7. Paket sayısı
sudo tcpdump -i eth0 -c 1000 -nn -q 2>/dev/null | tail -1

# 8. Sistem kaynakları
top -bn1 | head -5
free -h

Trafik Analizi

hljs bash
# Gerçek zamanlı trafik izleme
sudo iftop -i eth0 -n

# Protokol bazında trafik dağılımı
sudo tcpdump -i eth0 -c 10000 -nn 2>/dev/null | awk '{print $3}' | cut -d. -f5 | sort | uniq -c | sort -rn | head -10

# Kaynak IP analizi
sudo tcpdump -i eth0 -c 5000 -nn 2>/dev/null | awk '{print $3}' | cut -d. -f1-4 | sort | uniq -c | sort -rn | head -20

# Hedef port analizi
sudo tcpdump -i eth0 dst port 80 or dst port 443 -c 5000 -nn 2>/dev/null | wc -l

# Paket yakalama (detaylı analiz için)
sudo tcpdump -i eth0 -c 50000 -w /tmp/ddos-capture.pcap

Acil Müdahale Adımları

Adım 1: Durumu Değerlendir (0-5 dakika)

hljs bash
# Saldırı türünü belirle
# Yüksek SYN-RECV = SYN Flood
ss -ant state syn-recv | wc -l

# Yüksek ESTABLISHED = HTTP Flood
ss -ant state established | wc -l

# Yüksek UDP trafiği = UDP Flood
sudo tcpdump -i eth0 udp -c 1000 -nn -q 2>/dev/null | wc -l

# HTTP istek analizi
tail -1000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10

Adım 2: Acil Engelleme (5-15 dakika)

hljs bash
#!/bin/bash
# emergency-block.sh - Acil engelleme scripti

# En çok saldıran IP'leri tespit et
ATTACKERS=$(ss -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -50 | awk '$1 > 100 {print $2}')

# IP'leri engelle
for ip in $ATTACKERS; do
    iptables -I INPUT -s $ip -j DROP
    echo "Engellendi: $ip"
done

# Ülke bazlı engelleme (opsiyonel)
# ipset kullanarak toplu engelleme
ipset create blacklist hash:net
for ip in $ATTACKERS; do
    ipset add blacklist $ip
done
iptables -I INPUT -m set --match-set blacklist src -j DROP

Adım 3: Kernel Parametrelerini Ayarla (5 dakika)

hljs bash
# Acil sysctl ayarları
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=65536
sysctl -w net.ipv4.tcp_synack_retries=1
sysctl -w net.ipv4.tcp_syn_retries=1
sysctl -w net.netfilter.nf_conntrack_max=2000000
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=300
sysctl -w net.core.somaxconn=65536
sysctl -w net.ipv4.tcp_tw_reuse=1

Adım 4: Web Sunucusu Yapılandırması (10 dakika)

hljs nginx
# Nginx acil yapılandırma
# /etc/nginx/conf.d/emergency.conf

# Agresif rate limiting
limit_req_zone $binary_remote_addr zone=emergency:20m rate=5r/s;
limit_conn_zone $binary_remote_addr zone=emergency_conn:20m;

server {
    limit_req zone=emergency burst=10 nodelay;
    limit_conn emergency_conn 20;
    
    # Büyük body'leri reddet
    client_max_body_size 1m;
    client_body_timeout 5s;
    client_header_timeout 5s;
    
    # Şüpheli User-Agent'ları engelle
    if ($http_user_agent ~* (bot|crawler|spider|scan|attack)) {
        return 403;
    }
}
hljs bash
# Nginx'i yeniden yükle
sudo nginx -t && sudo systemctl reload nginx

Adım 5: Cloudflare Under Attack Modu (2 dakika)

hljs bash
# Cloudflare Under Attack modunu etkinleştir
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/ZONE_ID/settings/security_level" \
  -H "Authorization: Bearer API_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"value":"under_attack"}'

# Tüm cache'i temizle
curl -X POST "https://api.cloudflare.com/client/v4/zones/ZONE_ID/purge_cache" \
  -H "Authorization: Bearer API_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"purge_everything":true}'

Adım 6: Path Panel Kuralları (5 dakika)

Path Panel üzerinden:

  1. Saldırı kaynaklarını filtrele
  2. Rate limiting kuralları ekle
  3. Geo-blocking uygula (gerekirse)
  4. Protokol filtreleri etkinleştir

ISP ve Upstream İletişimi

REXE Destek Talebi

Konu: DDoS Saldırısı - Acil Müdahale Gerekli

Sunucu IP: [IP_ADRESI]
Saldırı Başlangıcı: [TARİH/SAAT]
Saldırı Türü: [SYN Flood / UDP Flood / HTTP Flood / Bilinmiyor]
Etki: [Tam kesinti / Kısmi yavaşlama / Aralıklı erişim]

Alınan Önlemler:
- iptables kuralları uygulandı
- Cloudflare Under Attack modu aktif
- Kernel parametreleri ayarlandı

Ek Bilgi:
- Saldırı trafiği: ~[X] Gbps
- Kaynak IP sayısı: ~[X]
- Hedef portlar: [80, 443, vs.]

Saldırı Sonrası İşlemler

Post-Mortem Analiz

hljs bash
# Yakalanan trafiği analiz et
tcpdump -r /tmp/ddos-capture.pcap -nn | head -100

# Saldırı istatistikleri
tcpdump -r /tmp/ddos-capture.pcap -nn | awk '{print $3}' | cut -d. -f1-4 | sort | uniq -c | sort -rn | head -20

# Saldırı süresi ve yoğunluğu
tcpdump -r /tmp/ddos-capture.pcap -nn -tt | head -1
tcpdump -r /tmp/ddos-capture.pcap -nn -tt | tail -1

# Log analizi
grep -c "" /var/log/nginx/access.log
awk '{print $1}' /var/log/nginx/access.log | sort -u | wc -l

Acil Kuralları Kaldırma

hljs bash
# Saldırı bittikten sonra acil kuralları kaldır
# 1. Cloudflare'i normal moda al
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/ZONE_ID/settings/security_level" \
  -H "Authorization: Bearer API_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"value":"medium"}'

# 2. Acil iptables kurallarını temizle
iptables -D INPUT -m set --match-set blacklist src -j DROP
ipset destroy blacklist

# 3. Nginx acil yapılandırmayı kaldır
rm /etc/nginx/conf.d/emergency.conf
sudo nginx -t && sudo systemctl reload nginx

# 4. Kernel parametrelerini normale döndür
sysctl -w net.ipv4.tcp_synack_retries=5
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=432000

Önleme Stratejileri

Proaktif Koruma Checklist

  1. Path Panel filtre kurallarını yapılandır
  2. Cloudflare entegrasyonu kur
  3. Rate limiting uygula (Nginx/Apache)
  4. Kernel parametrelerini optimize et
  5. Fail2Ban kur ve yapılandır
  6. Monitoring araçları kur (Uptime Kuma, Grafana)
  7. Yedek DNS yapılandır
  8. Acil müdahale scriptleri hazırla
  9. İletişim planı oluştur
  10. Düzenli tatbikat yap

Otomatik Tespit Scripti

hljs bash
#!/bin/bash
# ddos-monitor.sh - Cron ile çalıştır (her dakika)

THRESHOLD=500
CONNECTIONS=$(ss -ant | wc -l)

if [ $CONNECTIONS -gt $THRESHOLD ]; then
    # Alarm gönder
    echo "UYARI: Yüksek bağlantı sayısı: $CONNECTIONS" | \
        mail -s "DDoS Alarm - $(hostname)" admin@example.com
    
    # Otomatik koruma etkinleştir
    /usr/local/bin/emergency-block.sh
    
    logger "DDoS alarm: $CONNECTIONS bağlantı tespit edildi"
fi

Acil müdahale planınızı düzenli olarak test edin. Saldırı anında plan hazır olmalıdır. REXE destek ekibiyle iletişim bilgilerinizi güncel tutun.

Sonuç

DDoS saldırılarına karşı hazırlıklı olmak, saldırı anında hızlı ve etkili müdahale etmek kadar önemlidir. Bu rehberdeki adımları önceden planlayın, scriptleri hazırlayın ve düzenli tatbikatlar yapın. REXE altyapısının sunduğu Path Panel koruması ve Cloudflare entegrasyonu ile çok katmanlı bir savunma stratejisi oluşturun.