Comment installer Fail2ban pour la sécurité SSH sur Ubuntu 24.04
Fail2ban est un puissant outil de sécurité basé sur Python qui permet de protéger les systèmes Linux contre les attaques par force brute en bloquant les adresses IP qui tentent de se connecter avec des informations d’identification incorrectes.
Il surveille les fichiers journaux à la recherche d’échecs de connexion et d’autres activités suspectes. Lorsqu’il détecte de telles activités, il bannit les adresses IP incriminées en modifiant les règles du pare-feu.
Cet article explorera comment installer et utiliser Fail2ban sur Ubuntu 24.04 pour protéger votre système contre ces attaques.
Installation de Fail2ban sur Ubuntu 24.04
Pour installer Fail2ban sur Ubuntu 24.04, vous devez mettre à jour votre liste de paquets système en exécutant la commande apt suivante.
sudo apt update
Ensuite, installez Fail2ban à l’aide de la commande suivante.
sudo apt install fail2ban
Après l’installation, vérifiez que Fail2ban est correctement installé en vérifiant sa version.
fail2ban-client --version
Fail2Ban v1.0.2
Configuration de Fail2ban sur Ubuntu 24.04
Le répertoire /etc/fail2ban est l’emplacement principal des fichiers de configuration et des journaux de Fail2Ban. Ce répertoire contient plusieurs sous-répertoires et fichiers qui sont essentiels pour la fonctionnalité de Fail2Ban.
Voici une ventilation des principaux composants :
action.d
: Ce répertoire contient des scripts d’action que Fail2Ban utilise pour bannir les adresses IP. Ces scripts sont spécifiques au pare-feu ou au service utilisé (par exemple,iptables
,ufw
,nftables
).filter.d
: Ce répertoire contient des fichiers de configuration de filtre qui définissent comment Fail2Ban identifie et bannit les adresses IP. Ces filtres sont spécifiques au service surveillé (ex :SSH
,HTTP,
FTP
).jail.d
: Ce répertoire contient les fichiers de configuration de jail qui définissent les services spécifiques surveillés par Fail2Ban et les règles d’interdiction des adresses IP.paths-arch.conf
,paths-common.conf
,paths-debian.conf
,paths-opensuse.conf
: Ces fichiers contiennent des chemins spécifiques à différentes distributions Linux.fail2ban.conf
: Il s’agit du fichier de configuration principal de Fail2Ban, qui contient les paramètres et options globaux.jail.conf
: Ce fichier contient les configurations de jail par défaut pour divers services.jail.local
: ce fichier est utilisé pour remplacer les configurations de jail par défaut. Il est recommandé de créer un fichierjail.local
pour faciliter les mises à niveau et les personnalisations.fail2ban.log
: Il s’agit du fichier journal principal de Fail2Ban, où il enregistre ses actions et ses événements.
Fail2ban est livré avec des fichiers de configuration par défaut que vous pouvez personnaliser en fonction de vos besoins. Le fichier de configuration principal se trouve dans /etc/fail2ban/jail.conf.
Cependant, il est recommandé de créer une copie locale (/etc/fail2ban/jail.local) pour éviter que vos modifications ne soient écrasées lors des mises à jour.
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Ouvrez le fichier de configuration local dans un éditeur de texte nano.
sudo nano /etc/fail2ban/jail.local
Dans le fichier de configuration, localisez la section [ssh]
et décommentez les lignes et modifiez les valeurs pour ajuster le comportement de Fail2ban comme indiqué.
maxretry
: définit le nombre maximal de tentatives de connexion infructueuses avant qu’une adresse IP ne soit bannie.findtime
: définit la fenêtre de temps dans laquelle les tentatives maximales doivent avoir lieu pour déclencher un bannissement.bantime
: définit la durée pendant laquelle une adresse IP est bannie après avoir dépassé la tentative maximale de tentative.
Exemple de configuration (modifier si nécessaire) :
[ssh]
enabled = true
maxretry = 3
findtime = 10
bantime = 4h
Dans cet exemple, la prison est activée, le nombre maximal de nouvelles tentatives est défini sur 3 dans une fenêtre de 10 secondes et les adresses IP interdites sont bloquées pendant 4 heures.
Après avoir apporté les modifications souhaitées, enregistrez le fichier et redémarrez le service Fail2ban pour que la nouvelle configuration prenne effet.
sudo systemctl restart fail2ban
sudo systemctl enable fail2ban
sudo systemctl status fail2ban
Test de Fail2ban dans Ubuntu 24.04
Pour tester Fail2ban, vous pouvez simuler une attaque par force brute sur votre système, ce qui implique de déclencher intentionnellement les conditions que Fail2ban surveille, telles que plusieurs tentatives de connexion infructueuses.
Connectez-vous d’abord à une autre machine Linux, exécutez la commande suivante pour simuler les tentatives de connexion infructueuses, assurez-vous de remplacer 192.168.122.100 par l’adresse IP de votre serveur.
for i in {1..6}; do ssh [email ; done
Après avoir effectué les tentatives de connexion infructueuses, vérifiez les journaux Fail2ban pour voir si l’adresse IP a été bannie.
sudo tail -f /var/log/fail2ban.log
Pour vérifier l’état de la prison SSH et vérifier si l’adresse IP a été bannie.
sudo fail2ban-client status sshd
Si vous devez annuler l’interdiction de l’adresse IP, utilisez la commande suivante.
sudo fail2ban-client set sshd unbanip 192.168.122.1
Conclusion
Fail2ban est un outil puissant pour protéger votre serveur Ubuntu 24.04 contre les attaques par force brute. En suivant les étapes décrites dans ce guide, vous pouvez installer, configurer et utiliser Fail2ban pour réduire considérablement le risque d’accès non autorisé à votre serveur, garantissant ainsi un environnement plus sécurisé pour vos données et applications.