1. Maksimalni broj pokusaja logovanja na SSH je limitiran na 4 puta u toku jednog minuta.
2. Ako neko pokusa da se vise od 4 puta loguje na vas SSH server bice DROP-ovan od strane iptables-a.
3. Kada tih 60 sekundi prodje korisnik (ili neko zlonameran) ce opet moci da pristupi SSH server-u.
Mozda nije najelegantnije resenje ali je definitivno najlakse za implementaciju posto ne zahteva instalaciju i konfiguraciju third-party programa slicne namene.
Code:
iptables -N SSH
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH
iptables -A SSH -m recent --set --name SSH
iptables -A SSH -m recent --update --seconds 60 --hitcount 5 --name SSH -j DROP
Vremenski interval (--seconds N) i broj pokusaja (--hitcount N) mozete menjati po zelji.iptables -N SSH
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH
iptables -A SSH -m recent --set --name SSH
iptables -A SSH -m recent --update --seconds 60 --hitcount 5 --name SSH -j DROP
Mozete u cron da ubacite da se na svakih 5 minuta ciste pravila iz SSH Chain-a (dok testirate nova SSH pravila).
[root@host ~]# echo "*/5 * * * * /sbin/iptables -F SSH" > cron.ssh
[root@host ~]# crontab < cron.ssh
[root@host ~]# crontab -l
*/5 * * * * /sbin/iptables -F SSH
[root@host ~]# crontab < cron.ssh
[root@host ~]# crontab -l
*/5 * * * * /sbin/iptables -F SSH