diff --git a/check b/check index 9c6858f..e9b9367 100755 --- a/check +++ b/check @@ -57,7 +57,7 @@ function checklog() echo "$@" fi } - + function chercheLanceur() { # Cette fonction renvoie le lanceur du programme passé en paramètre @@ -328,6 +328,20 @@ function testFichierPresent fi } +function testFail2BanActive +{ + ## Cette fonction verifie si des chaines f2b- existent bien dans iptables + ## Si ce n'est pas le cas, essaie de redémarrer fail2ban + if [ ! -e "/etc/init.d/fail2ban" ]; then + checklog "ERREUR : /etc/init.d/fail2ban introuvable" + else + /sbin/iptables -L -nv |egrep -q "^Chain f(ail)?2b(an)?-" || ( + checklog "ERREUR : fail2ban absent dans iptables : redémarrage"; + /etc/init.d/fail2ban stop ; + /etc/init.d/fail2ban start ) + fi +} + if [ ! -f "/etc/check.conf" ]; then echo "Le fichier /etc/check.conf n'existe pas : EXIT" exit diff --git a/check.conf b/check.conf index 4f3a8e6..6b21550 100644 --- a/check.conf +++ b/check.conf @@ -76,3 +76,6 @@ alerteNotify=FALSE # Si ce n'est pas le cas, relance le programme passé en deuxième paramètre # testFichierPresent /var/run/conntrackd.ctl conntrackd +# Cette fonction vérifie si les chaines f2b- ou fail2ban- sont bien actives +# dans iptables. Relance le service fail2ban si ce n'est pas le cas +#testFail2BanActive