[ Miroslav Strugarevic @ 01.12.2012. 09:53 ] @
Mozete kreirati sledeca iptables pravila koja ce omoguciti svim klijentima (i onim drugim koji nemaju potrebu da se loguju na vas server) sledece:

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.

Mozete u cron da ubacite da se na svakih 5 minuta ciste pravila iz SSH Chain-a (dok testirate nova SSH pravila).

[[email protected] ~]# echo "*/5 * * * * /sbin/iptables -F SSH" > cron.ssh
[[email protected] ~]# crontab < cron.ssh
[[email protected] ~]# crontab -l
*/5 * * * * /sbin/iptables -F SSH
[ mr. ako @ 20.12.2012. 21:13 ] @
DenyHosts takodje nije los za ove stvari. Brzo se instalira i konfigurise. Ima prilicno detaljna podesavanja.

Npr. za CentOS instalacija:


Dodajte prvo svoj IP u whitelist za svaki slucaj. ;)
nano /etc/hosts.allow
Code:
sshd: 123.456.78.90


Restartujte:
/etc/init.d/denyhosts restart


Konfigurisite:
nano /etc/denyhosts.conf

Npr:
Code:
# To block all services for the offending host:
BLOCK_SERVICE = ALL

Code:
#######################################################################
#
DENY_THRESHOLD_INVALID = 2
#
#######################################################################

#######################################################################
#
DENY_THRESHOLD_VALID = 5
#
#######################################################################

#######################################################################
#
DENY_THRESHOLD_ROOT = 3
#
#######################################################################

#######################################################################
#
DENY_THRESHOLD_RESTRICTED = 3
#
#######################################################################