Sur les conseils avisés de mon ami Mekza et après en avoir eut marre de lire dans mes logs ( /var/log/secure ) des listes interminables de tentatives de connexions échouées via ssh, j'ai pris la décision d'installer fail2ban.

L'installation peut se faire via rpm mais j'ai préféré installation à partir des sources.
Important : l'installation nécessite le logiciel log4py, son installation est aussi très simple avec les commandes :

# tar xvfz log4py-1.3.tar.gz
# cd log4py-1.3
# python setup.py install

L'installation de fail2ban est tout aussi simple grâce aux commandes :

# tar xjf fail2ban-0.4.1.tar.bz2
# cd fail2ban-0.4.1
# ./setup.py install

La configuration est très rapide à faire ( celle par défaut peut aussi convenir), le fichier de configuration ( /etc/fail2ban.conf ) est très bien commenté et on a aucun mal à le comprendre et à le personnaliser avec par exemple une liste blanche d'adresses ip que fail2ban ne doit pas bannir ( ex : le réseau local ).

fail2ban s'appui sur iptables pour bannir l'ip grâce à la commande :

iptables -I INPUT -s <ip> -j DROP

L'ip sera bloquée pendant une période définie dans le fichier de configuration ( par défaut : 600 secondes ), le fichier de configuration est très efficace et permet beaucoup de personnalisation avec l'ajout de commandes !

Rien ne vaut un petit test :

# tail -f /var/log/fail2ban.log
11/17/05 20:55:38.560 INFO SSH: 81.56.225.252 has 3 login failure(s). Banned.

Voilà tout marche la règle est bien appliquée sur iptables on peut la vérifier avec :

# iptables -L -nv |grep 81.56.225.252

Voilà j'espère à présent avoir sécurisé un peu plus mon système ( piste pour encore le sécuriser d'avantage : changer le port d'écoute ssh... )

A+