DDoS Koruması İçin Dinamik Firewall Scripti
DDoS saldırıları, günümüzde internet altyapısının en büyük tehditlerinden biri olarak öne çıkıyor. Özellikle büyük ölçekli ve sürekli gelen trafik saldırıları, sunucuların çökmesine veya hizmetin erişilemez hale gelmesine yol açabiliyor. Bu nedenle, sadece statik kurallarla değil, aynı zamanda dinamik ve otomatik tepki verebilen firewall çözümleri geliştirmek kritik öneme sahip.
Dinamik firewall scriptleri, saldırı sırasında gelen trafiği analiz ederek aşırı veya şüpheli aktiviteleri tespit edip, gerçek zamanlı olarak engelleme işlemi yapabilir. Bu yaklaşım, saldırganın trafiğini sürekli izleyerek, belirli bir eşik aşıldığında otomatik olarak IP engelleme veya sınırlama uygulayabilir. Bu sayede, saldırının etkisini minimize etmek mümkün olur.
Bir örnek olarak, Linux tabanlı sistemlerde iptables veya nftables kullanılarak yazılabilecek basit bir dinamik firewall scripti, belirli zaman diliminde aşırı trafik gören IP'leri tespit edip, otomatik olarak bloklayabilir. Bu tür bir script genellikle şu adımları içerir:
- Trafik analizi: Belirli aralıklarla gelen bağlantı sayısı veya paket sayısını ölçmek.
- Şüpheli IP tespiti: Anormal trafik gönderen IP'leri belirlemek.
- Otomatik engelleme: Şüpheli IP'leri firewall kurallarıyla engellemek.
- Süreç takibi ve temizleme: Belirli süre sonra, engellenen IP'leri kaldırmak veya tekrar izlemek.
Örnek olarak, aşağıda temel bir bash scripti ile trafik analizi ve IP bloklama işlemini görebilirsiniz:
123456789101112131415161718192021
#!/bin/bash
[b]Belirli zaman diliminde 100'den fazla bağlantı yapan IP'leri tespit et[/b]
LOG_FILE="/var/log/connection_monitor.log"
THRESHOLD=100
BLOCK_DURATION=3600 # saniye cinsinden
[b]Bağlantı sayısını ölç[/b]
ss -tn src :80 | awk 'NR>1 {print $5}' | sort | uniq -c | awk -v threshold=$THRESHOLD '$1 > threshold {print $2}' > $LOG_FILE
[b]Şüpheli IP'leri blokla[/b]
for ip in $(cat $LOG_FILE); do
# IP zaten engellenmiş mi kontrol et
if ! iptables -L INPUT -v -n | grep -q "$ip"; then
iptables -A INPUT -s $ip -j DROP
echo "$(date): $ip engellendi." >> /var/log/ddos_protection.log
# Belirli süre sonra IP'yi kaldırmak için arka planda zamanlayıcı
(sleep $BLOCK_DURATION; iptables -D INPUT -s $ip -j DROP; echo "$(date): $ip engeli kaldırıldı." >> /var/log/ddos_protection.log) &
fi
done
Bu temel script, saldırganların belirli bir IP adresinden aşırı bağlantı kurmasını tespit edip, otomatik bloklar. Gerçek dünya uygulamalarında, daha gelişmiş trafik analizi, IP beyaz/karanlık listeleri, ve sürekli güncelleme mekanizmaları eklenerek sistem daha dayanıklı hale getirilebilir.
Sonuç olarak, dinamik firewall scriptleri, DDoS saldırılarına karşı proaktif ve otomatik koruma sağlar. Ancak, bu çözümler tek başına yeterli olmayabilir; ağ altyapısının genel güvenliğini artırmak ve saldırı tespit sistemleriyle entegre ederek çok katmanlı bir savunma oluşturmak en doğru yaklaşımdır.