Nous avons installé fail2ban sur chacun de nos serveurs en utilisant ce tutoriel
Le paquet Debian par défaut propose déjà un plugin pour fail2ban mettant toutes les jails dans un seul graphique.
Il existe un autre plugin permettant de créer un graphique par jail, l’original est écrit en bash (cf : http://blog.sinnwidrig.org/?p=50), on en a écrit une version améliorée en Python (cf : http://svn.aires-de-confluxence.info/changeset/6413 [1]).
Dans tous les cas une chose est nécessaire avant de commencer, préconfigurer Munin pour qu’il puisse utiliser fail2ban. On modifie donc le fichier de configuration des plugins :
- sudo nano /etc/munin/plugin-conf.d/munin-node
On y ajoute ces lignes en fin de fichier :
- [fail2ban*]
- user root
Cas du script par défaut de Debian
Après le changement de configuration, la commande suivante devrait donner un code à copier/coller afin d’activer le plugin :
- sudo munin-node-configure --shell
La commande affichée doit être :
- ln -s '/usr/share/munin/plugins/fail2ban' '/etc/munin/plugins/fail2ban'
Après avoir collé cette commande, il suffira de relancer le démon par la commande :
- sudo /etc/init.d/munin-node restart
Un petit exemple :
Cas du plugin une jail / un graphique
On décide de placer les plugins supplémentaires pour munin dans le répertoire /opt/share/munin/plugins
- #Créer le répertoire des plugins dans le cas ou il n'existe pas déjà
- sudo mkdir -p /opt/share/munin/plugins
- cd /opt/share/munin/plugins
- # Récupérer le script
- sudo wget http://svn.aires-de-confluxence.info/export/6413/Serveur/munin/fail2ban/fail2ban_py_
- # Rendre exécutable le script
- sudo chmod +x fail2ban_py_
Ce plugin gère l’autodétection donc on va utiliser la commande munin-node-configure
pour voir ce que l’on peut faire :
- sudo munin-node-configure --libdir /opt/share/munin/plugins --shell
En fonction du nombre de jails activées, il devrait donner une ou plusieurs lignes à copier/coller du type :
- ln -s '/opt/share/munin/plugins/fail2ban_py_' '/etc/munin/plugins/fail2ban_py_ssh'
- ln -s '/opt/share/munin/plugins/fail2ban_py_' '/etc/munin/plugins/fail2ban_py_apache-phpmyadmin'
On peut ensuite tester le plugin :
- sudo munin-run fail2ban_py_ssh
- sudo munin-run fail2ban_py_apache-w00tw00t
Ces commandes doivent retourner au moins quelque chose comme :
- fail2ban.value 0
S’il ne retourne aucun chiffre (même pas 0), il y a un problème dans la configuration.
Bien entendu, dernière étape, redémarrer le service munin-node :
- sudo /etc/init.d/munin-node restart
Un petit exemple :