Installation et Configuration de Fail2Ban

Fail2Ban est une application qui analyse les logs de divers services (SSH, Apache, FTP…) en cherchant des correspondances entre des motifs définis dans ses filtres et les entrées des logs. Lorsqu'une correspondance est trouvée une ou plusieurs actions sont exécutées. Typiquement, Fail2Ban cherche des tentatives répétées de connexions infructueuses dans les fichiers journaux et procède à un bannissement en ajoutant une règle au pare-feu iptables ou nftables pour bannir l'adresse IP de la source.

Distribution utilisée pour l'écriture de la documentation : Debian 10 "Buster"


IMPORTANT

Fail2Ban n'est pas a proprement parler un outil de sécurité. L'objectif principal est d'éviter de surcharger les logs du système avec des milliers de tentatives de connexion. Un serveur avec un accès SSH sur le port standard, par exemple, recevra très rapidement des centaines, voire des milliers de tentatives de connexions provenant de différentes machines. Ce sont généralement des attaques par force brute lancées par des robots. Fail2ban en analysant les logs permet de bannir les IP au bout d'un certain nombre de tentatives ce qui limitera le remplissage des logs et l'utilisation de la bande passante.

Mais cela n'améliore en rien la sécurité du service concerné. Si l'accès SSH n'est pas suffisamment sécurisé (mot de passe faible par exemple) fail2ban n'empêchera pas un attaquant d'arriver à ses fins. Autrement dit, utilisez votre temps de travail pour analyser vos configurations et sécuriser vos services plutôt que d''installer et paramétrer des outils d'analyse de logs plus ou moins gourmands en ressources système.


Les paramètres sont par défaut (5 retry pour ban, banni uniquement 10 minutes, ..) Nous allons donc créer un nouveau fichier de configuration pour customiser les règles.

La configuration ci-dessous est optimale, vous pouvez si vous le souhaitez, l'adapter. Après chaque modification sur la configuration, il est important de redemarrer le service !

Pour des questions de pratique, voici la procédure pour customiser la commande pour voir les logs de Fail2Ban


Commandes utiles

    - Pour consulter vos jails actifs :

    fail2ban-client status

    - Pour savoir si une de vos jails de votre fail2ban a bannis une ou plusieurs IP, taper cette commande :

    fail2ban-client status [Nom du jail]

    - Pour bannir une adresse manuellement :

    fail2ban-client set [nom du jail] unbanip [IP concerné]

    - Pour débannir une adresse :

    fail2ban-client set [nom du jail] banip [IP à bannir]

Il est possible également de configurer Fail2Ban pour les services actifs ou encore recevoir les logs sur une adresse mail spécifique, pour cela je vous invite à consulter la documentation technique de Fail2Ban

https://doc.ubuntu-fr.org/fail2ban

Ce tutoriel est basé justement sur cette fiche technique


vereecque.com