Blog - Linux - fail2ban

fail2ban


J'ai entendu parler un jour d'un protocol, ssh. C'est merveilleux, je peux utiliser mon ordi à distance, pas besoin d'être là-bas. C'est vraiment bien, mais si quelqu'un peut juste deviner le mot de passe, ou le brute-force, vu que mes serveurs sont allumés et connectés à internet 24/7, mon mot de passe à beau être long, il reste qu'il y a un risque (xkcd Password Strength). J'utilise des clés, mais je laisse la connection par mot de passe ouverte si jamais je n'ai pas accès à un de mes appareils et que j'ai besoin.


Ici vient fail2ban. Un package installable avec apt, qui a la possibilité de ban une addresse ip si elle essaie trop de fois un mot de passe incorrect, pour une durée de temps. Customisable, au bout de 5 tentatives, l'addresse ip est ban pour 10 minutes, et on a la possibilité d'incrémenter ce temps à chaque fois, comme 1h, 2h, 4h, 8h et ainsi de suite.


Il y a un problème, il faut un peu de configuration pour que ça fonctionne, trois fois rien, mais c'est chiant pour moi. Voici les commandes, et en bas un guide de DigitalOcean qui est plus exaustif que moi.


sudo apt update; sudo apt install fail2ban; sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local; sudo vim /etc/fail2ban/jail.local # pour la customisation


Comme je ne lis pas les tutoriels, j'ai eu un problème, et un certain commentaire github (lien en bas) m'a donné cette commande:

echo -e "[sshd]\nbackend=systemd\nenabled=true" | sudo tee /etc/fail2ban/jail.local


Pour vérifier si il fonctionne, sudo systemctl status fail2ban.service


Pour vérifier les addresses ip qui ont été ban, et c'est rapide qu'il y en ai: sudo fail2ban-client status sshd



Sources: Digital ocean fail2ban tutorial

https://github.com/fail2ban/fail2ban/issues/3292#issuecomment-1142503461


29 Jan 2025