Fedora Core 4 et fail2ban
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+
Moi déjà, je n'autorise pas le root à se loguer en ssh...
Donc c'est mon compte qui se log et j'utilise sudo après... C'est un bon moyen de protection déjà..
Ouais mais ta technique c'est chiant pour l'utilisation de script automatique.
Mais sinon c'est vrai que c'est une super solution, quoi que fail2ban j'en suis super content !!!
Je te propose un truc encore plus simple que fail2ban
iptables -I INPUT -p tcp --dport 22 -i eth1 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth1 -m state --state NEW -m recent --update --seconds 300 --hitcount 3 -j DROP
Si un utilisateur se trompe de mot de passe 3 fois, il est banni pour 300 secondes.
Avec ca les bots ne font pas long feu.
merci de l'info c'est extra !
Changer le port d'écoute SSH c'est tout con mais ca réduit de 90% les tentatives, pour cela il suffit d'éditer le fichier "/etc/ssh/sshd_config" au niveau de "What ports, IPs and protocols we listen for" et de remplacer le port 22 par celui de ton choix