Pour continuer à parler de la sécurité de notre serveur, nous allons installer Fail2Ban. Cet outil va permettre de bloquer de manière automatique les IPs suivant certaines conditions. On pourra par exemple bloquer quelqu'un qui se tromperait un trop grand nombre de fois au niveau de son mot de passe.
Installation
L'installation se fait via le gestionnaire de paquet
Une fois cette installation faite, nous allons copier la configuration par défaut afin qu'elle ne soit pas supprimée en cas de mise à jour.
Configuration
Une fois notre configuration copiée nous allons pouvoir la modifier pour adapter à nos besoins. Par défaut la configuration n'est pas mauvaise, mais nous allons souhaiter obtenir des notifications lorsque des personnes seront bannies.
Je n'ai mis ici que certains paramètres, mais n'hésitez pas à regarder la totalité du fichier pour voir les différents paramètres proposés dans la configuration. Plus bas dans le fichier nous allons avoir des configurations spécifiques qui permettront de gérer des filtres liés aux applications que nous avons installés sur notre serveur.
Les propriétés présentes ici sont relativement claires. Le filter correspond à un fichier de configuration situé dans le dossier /etc/fail2ban/filter.d/. Ce fichier de configuration va contenir des expressions régulières qui permettent de déterminer si une ligne est considérée comme un échec.
Une fois que vous êtes satisfait de votre configuration, vous pouvez redémarrer fail2ban:
Fail2ban-client
Maintenant que nous avons vu la configuration, nous allons devoir interagir avec fail2ban pour connaitre l'état de nos prisons. Pour cela on dispose de la commande fail2ban-client.
Créer une règle personnalisée
En plus des règles fournies par défaut on va souvent devoir adapter et créer nos propres règles. Pour cela on va commencer par créer un nouveau filtre dans le dossier filter.d. Ce fichier va contenir une expression régulière qui permettra d'identifier les lignes qui posent problème. Pour tester nos règles, on pourra utiliser la commande fail2ban-regex. Cette commande prend en premier paramètre une chaine ou un fichier de log, et en second le filtre que l'on souhaite tester.
Cette commande vous retournera le nombre de règles correspondant à votre filtre et vous permet de tester vos règles avant de les mettre en production. Une fois notre règle créée et validée il nous suffit de l'ajouter à notre fichier jail.local