Installation de Fail2Ban 0.9 Sur Debian/Ubuntu
Le célèbre Fail2Ban que l’on ne présente plus est sortie en version 0.9. Cette version apporte notamment une base de données sqlite permettant de conserver les vilains bannis même après un restart du service. Elle intègre aussi de nouveaux filtre (prison), le support d’écriture des actions directement en python et bien d’autre. La liste complète est disponible sur cette page Github.
La version des dépôts de Debian est figée sur la v0.8.6 et 0.8.11 sur Ubuntu. Si vous avez déja une de ces versions installées via le gestionnaire de paquet, je vous propose dans un premier temps de tout nettoyer. Attention la ligne de commande suivante supprime également les fichiers de configurations. La syntaxe ayant légèrement changée, autan partir sur une base propre.
1
|
apt–get autoremove —purge fail2ban
|
Pour la suite il est recommandé d’être root sur la machine.
On commence par récupérer l’archive de la version 0.9.
1
|
wget https://github.com/fail2ban/fail2ban/releases/download/0.9.0/fail2ban–0.9.0.tar.gz
|
Décompression et installation
1
2
3
|
tar xzf fail2ban–0.9.0.tar.gz
cd fail2ban–0.9.0
python setup.py install
|
On vérifie que l’installation est ok
1
|
fail2ban–client —version
|
On récupère le script init pour lancer le serveur depuis la branche Debian du projet ici. On place le contenu dans un fichier.
On va le modifier, le “path” en ligne 27 car le daemon se trouve à présent sous /usr/local
1
|
DAEMON=/usr/local/bin/$NAME–client
|
On place ce dernier au démarrage de la machine.
1
2
3
|
mv fail2ban.init /etc/init.d/fail2ban
chmod +x /etc/init.d/fail2ban
update–rc.d fail2ban defaults
|
Lancer le serveur
1
|
/etc/init.d/fail2ban start
|
Tester le fonctionnement
1
|
fail2ban–client ping
|
Doit répondre
1
|
Server replied: pong
|
Voila le programme est installé. Le but du billet n’est pas d’exposer la configuration. Vous trouverez ce qu’il faut sur notre amis Google. Vous trouverez quelques prisons sur ce blog pour mumble et le client torrent deluge.
La base de données se trouve sous /var/lib/fail2ban/fail2ban.sqlite3. Pour tester vous pouvez vous faire bannir avec un poste client et ensuite constater l’insertion dans la base comme suit (il faut avoir installé sqlite3)
1
2
3
|
sqlite3 /var/lib/fail2ban/fail2ban.sqlite3
sqlite> select * from bans;
sqlite> .quit
|