I ♥ fail2ban
fail2ban examine les logs de sécurité de votre serveur (tentatives de connexion sur le serveur ssh, ftp, logs d'applications...) et reconfigure le firewall pour bloquer l'adresse IP fautive. Résultat: Deux ou trois tentatives de connexion avec le mauvais mot de passe, et aux yeux du hacker votre serveur disparaît littéralement du réseau (elle ne lui répond plus, même pas aux ping). C'est très efficace pour bloquer les attaques de type brute force sur les mots de passe.
cf.
http://www.commentcamarche.net/faq/18225-utiliser-fail2ban-pour-proteger-votre-application-web
EDIT: Comme me le fait remarquer Vincent B., il y a tout de même deux bémols à fail2ban:
1) Il ne lit pas immédiatement les logs. Il reste donc la possibilité de tester plusieurs milliers de mots de passe dans une très courte période (après laquelle fail2ban vous bannira).
2) Beaucoup d'attaques = des tables iptables/netfilter qui grossissent, et donc potentiellement un ralentissement du système (mitigé en diminuant la durée du ban).