fail2ban et les timezone
- Unix
fail2ban est un outil qui permet d’améliorer la sécurité d’un serveur en bannissant une IP après un nombre maximum de connexions erronnées à partir de la dite IP. Pour détecter les erreurs de connexions fail2ban parse des fichiers de logs en fonction des jails que vous avez activés sur votre machine.
Jusque là pas de soucis, fail2ban marche très bien si vous n’avez pas modifié la timezone (fuseau horaire) de votre serveur.
Après avoir changé la timezone de la Sheevaboite, fail2ban ne détectait plus aucune connexion invalide et du coup c’était porte ouverte au bruteforce sur le port SSH. Après avoir pas mal tatonné pour régler le problème, j’ai finalement compris que les fichiers de logs n’étaient plus synchronisés avec l’heure de la machine et du coup fail2ban perdait complètement les pinceaux.
Pour m’en rendre compte, il a suffit d’éditer le fichier fail2ban.conf
dans le répertoire /etc/fail2ban
et de changer le niveau de log pour le mettre à debug :
loglevel = 4
Et attendre quelques minutes avant de voir une tentative de connexion frauduleuse et de comprendre que fail2ban ne détecte plus les erreurs de connexions avec le message suivant :
2013-11-12 04:41:11,939 fail2ban.filter : DEBUG Ignore line since time 1384221364.0 < 1384227671.94 - 6000
Avec les deux commandes suivantes, on se rend bien compte qu’il y a un petit problème.
$> date
Tue Nov 12 04:41:27 CET 2013
$> tail -1 /var/log/auth
Nov 12 02:56:04 sheevaboite sshd[16014]: Failed password for invalid user cyrille from 89.XXX.XXX.XXX port 53263 ssh2
Pour résoudre le problème, il suffit de redémarrer le serveur et normalement tout rentre dans l’ordre (bien que des articles disent qu’il suffit de redémarrer syslog, chez moi seul le reboot à fonctionner).
Ce problème est présent dans la FAQ de fail2ban, mais en tout petit :
If time reference is not the same everywhere, then fail2ban won’t ban any IP! If you change your timezone remember to restart syslogd so fail2ban will see the correct time in the log files.
Voilà, j’espère que ce petit article vous évitera de perdre autant de temps que moi sur ce problème…