← retour aux snippets

iptables: limiter tentatives SSH avec recent

Utiliser le module recent pour limiter les nouveaux SYN vers SSH par adresse source.

bash security #iptables#recent#ssh

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 --ctstate pour du stateful propre.