|
Qu'est-ce que Fail2ban?
Fail2ban est un logiciel libre; vous pouvez le distribuer et/ou le modifier sous les termes de la licence GNU General Public License comme publiée par la Free Software Foundation; soit dans la version 2 de cette license, ou (selon votre choix) dans les termes d'une version postérieure
Fail2ban lit des fichiers de log comme /var/log/pwdfail ou /var/log/apache/error_log et bannit les adresses IP qui ont obtenu un trop grand nombre d'échecs lors de l'authentification. Il met à jour les règles du pare-feu pour rejeter cette adresse IP. Ces règles peuvent êtres défines par l'utilisateur. Fail2ban peut lire plusieurs fichiers de log comme ceux de sshd ou du serveur Apache.
Installation de Fail2ban
Vous aurez tous d'abord besoin des paquets python-central
- wget http://debian.mirror.inra.fr/debian/pool/main/p/python-central/python-central_0.6.8_all.deb
- dpkg -i python-central_0.6.8_all.deb
Â
Telecharger ensuite fail2ban
- http://ftp.de.debian.org/debian/pool/main/f/fail2ban/fail2ban_0.8.3.orig.tar.gz
- dpkg -i fail2ban_0.8.2-3_all.deb
Â
J'installe égalament le paquet whois qui me sert pour avoir des infos sur les attaques dans les mails que m'envoie fail2ban
Â
Configuration
La configuration par défaut est située dans le fichier /etc/fail2ban/jail.conf. Il n’est cependant pas recommandé de modifier ce fichier directement. Copier ce fichier et renommer le jail.local :
- cp -a /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Pour recevoir les mails avec whois, modifier je jail.local
# Choose default action. To change, just override value of 'action' with the # interpolation to the chosen action shortcut (e.g. action_mw, action_mwl, etc) in jail.local # globally (section [DEFAULT]) or per specific section action = %(action_mw)s
changer la ligne destemail =
en destemail =
Cette adresse e-mail est protégée contre les robots des spammeurs, vous devez activer Javascript pour la voir.
Les options principales sont les suivantes :
* ignoreip : ne pas tenir compte des adresses IP définis par cette option
* bantime : temps de bannissement en seconde
* maxretry : nombre de tentatives autorisées avec bannissement
Les services
Par défaut seule la protection de ssh est activée. Mais il est possible de surveiller bien d’autres services. Voici par exemple les sections pour postfix, courrier, apache et proftp :
[postfix] enabled = true port = smtp,ssmtp filter = postfix logpath = /var/log/mail.log
[courierauth] enabled = true port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s filter = courierlogin logpath = /var/log/mail.log
[apache] enabled = true port   = http,https filter   = apache-auth logpath = /var/log/apache*/*error.log maxretry = 6
Â
[proftpd] enabled = true port    = ftp,ftp-data,ftps,ftps-data filter  = proftpd logpath = /var/log/proftpd/proftpd.log maxretry = 6
Quelques commandes qui peuvent etre utiles
Pour arrêter/démarrer/relancer Fail2ban
/etc/init.d/fail2ban stop/start/restart
Pour vérifier que Fail2ban est en fonctionnement
/etc/init.d/fail2ban status
Comment voir les bannissements en cours?
avec la commande iptables iptables -L
Â
Comment mettre fin à un bannissement non-terminé?
Il suffit d'utiliser la commande :
iptables -D fail2ban-proftpd -s -j DROP
iptables -D fail2ban-ssh -s -j DROP
en remplacant par l'ip bannie.
Conclusion
Sa simplicité d’utilisation et sa flexibilité font de Fail2ban une application indispensable pour se prémunir des attaques par bruteforce.
Â
Â
Â
|