Iptables

Al geruime tijd ben ik bezig met het zoeken naar een manier om ssh aanvallen te voorkomen. Ik gebruik goede wachtwoorden, dus de kans dat zulk soort aanvallen slagen is heel klein. Maar al die aanvallen kosten wel cpu-tijd.

Iptables heeft hiervoor een module genaamd ipt_recent. Hiermee is het mogelijk om brute force aanvallen te blokkeren. De volgende commando’s zorgen voor alles:

# iptables --new-chain SSHSCAN
# iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSHSCAN
# iptables -A SSHSCAN -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
# iptables -A SSHSCAN -m recent --update --seconds 300 --hitcount 3 --name SSH -j LOG --log-level info --log-prefix "SSH SCAN blocked: "
# iptables -A SSHSCAN -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 --rttl --name SSH -j DROP

Via het commando cat /proc/net/ipt_recent/SSH kunnen we zien wat er zoal wordt tegengehouden.