Pour se protéger des attaques SYN FLOOD :

Limiter le nombre de connexions parallèles par IP :

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 -j DROP

Pour se protéger des attaques par SYN FLOOD et QUERY FLOOD :

Limiter le nombre de connexions par seconde par IP (exemple 20 maximum sur 10 secondes sur le port 80): Le Hitcount ne doit pas être supérieur à 20

iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 10 --hitcount 20 -j DROP

Plus radical, limiter le nombre de paquet syn par seconde :

iptables -A INPUT -p tcp --syn -m limit --limit 10/s --limit-burst 13 -j DROP

Ou limiter le nombre de paquet syn par seconde par range d’ip (exemple /28) :

iptables -A INPUT -p tcp --dport 80 --tcp-flags SYN SYN -m hashlimit --hashlimit-name Web \ --hashlimit-above 10/second --hashlimit-mode srcip --hashlimit-burst 13 --hashlimit-srcmask 28 -j DROP

Pour bloquer une requête HTTP :

iptables -I INPUT -p tcp --dport 80 -m string --to 70 --algo bm --string 'GET /w00tw00t' -j DROP

Pour log les IPs qui flood ajouter :

iptables -N flood iptables -A flood -j LOG --log-prefix "FLOOD " iptables -A flood -j DROP

et remplacer DROP par flood aux règles précédentes

Dernière édition le 2025-02-11 21:47

Propulsé par Wiki|Docs

This page was last edited on 2025-02-11 21:47

Jules
Free licence

Propulsé par Wiki|Docs