objectif
Réduire les scans/brute-force avant même fail2ban.
code minimal
# créer une liste 'ssh_bruteforce'
sudo iptables -N SSH_GUARD || true
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_GUARD
sudo iptables -A SSH_GUARD -m recent --set --name ssh_bruteforce --rsource
sudo iptables -A SSH_GUARD -m recent --update --seconds 60 --hitcount 5 --name ssh_bruteforce --rsource -j DROP
sudo iptables -A SSH_GUARD -j ACCEPT
utilisation
# consulter la liste (kernel)
sudo cat /proc/net/xt_recent/ssh_bruteforce | head
variante(s) utile(s)
# élargir la fenêtre
sudo iptables -R SSH_GUARD 2 -m recent --update --seconds 300 --hitcount 10 --name ssh_bruteforce --rsource -j DROP
notes
- s’applique avant le serveur SSH; diminue la charge.
- combinez avec
-m conntrack --ctstatepour du stateful propre.