Genel

SYN Attack Bloklama

Örnek bloklanacak ip 138.121.*.*

 

1) Hemen — sadece HTTPS (443) hedefli /22 bloklama (önerilen, daha güvenli)

iptables -I INPUT -p tcp -s 138.121.244.0/22 --dport 443 -j DROP

2) Alternatif: tüm portları kapat (daha geniş, kesin çözüm)

iptables -I INPUT -s 138.121.244.0/22 -j DROP

3) Mevcut yarım bağlantıları temizle (opsiyonel, ban ile birlikte hemen etkili olur)

# kurulu değilse
dnf install -y conntrack-tools

#centos , almalinux 

yum install conntrack-tools -y

# sonra banlı subnet için conntrack entriylerini temizle
for ip in $(seq 244 247); do conntrack -D -s 138.121.$ip.0/24; done

4) SYN flood kernel ve firewall sertleştirmeleri (hemen uygula)

sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_max_syn_backlog=65535
sysctl -w net.core.somaxconn=65535
sysctl -w net.ipv4.tcp_synack_retries=2
sysctl -w net.netfilter.nf_conntrack_max=524288

 

5) Per-IP hız sınırlama (hashlimit) — dağıtık saldırılara karşı

iptables -I INPUT -p tcp --syn -m hashlimit --hashlimit-name synlimit --hashlimit-above 20/sec --hashlimit-burst 40 --hashlimit-mode srcip --hashlimit-htable-size 8192 -j DROP

6) Kaldırma komutları (sonradan geri almak istersen)

HTTPS-only /22 banını kaldırmak için:

iptables -D INPUT -p tcp -s 138.121.244.0/22 --dport 443 -j DROP

Tüm porta /22 banını kaldırmak için:

iptables -D INPUT -s 138.121.244.0/22 -j DROP

Hashlimit kuralını kaldırmak istersen (aynı exact rule varsa):

iptables -D INPUT -p tcp --syn -m hashlimit --hashlimit-name synlimit --hashlimit-above 20/sec --hashlimit-burst 40 --hashlimit-mode srcip --hashlimit-htable-size 8192 -j DROP

7) Hızlı kontrol komutları

netstat -an | grep SYN_RECV | wc -l
netstat -ant | grep SYN_RECV | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head
iptables -L -n --line-numbers | head -40

8) Kalıcı yapmak

iptables-save > /etc/sysconfig/iptables

Bir yanıt yazın

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