Recherche de site Web

Comment installer Fail2ban sur un serveur Ubuntu 24.04


Comment installer Fail2ban sur un serveur Ubuntu 24.04

Sur cette page

  1. Conditions préalables
  2. Installation de Fail2ban et UFW (Pare-feu simplifié)
  3. Configurer Fail2ban
  4. Vérification des règles fail2ban à l'aide de fail2ban-client
  5. Comment bannir et débannir une adresse IP avec fail2ban-client
  6. Conclusion

Fail2ban est un IPS (logiciel de prévention d'intrusion) gratuit et open-source qui aide les administrateurs à sécuriser les serveurs Linux contre les connexions malveillantes et les attaques par force brute. Fail2ban est écrit en Python et est livré avec des filtres pour divers services tels qu'Apache2, SSH, FTP, etc. Fail2ban réduit les tentatives de connexion malveillantes en bloquant les adresses IP des attaques sources.

Fail2ban fonctionne en scannant les fichiers journaux des services (par exemple, /var/log/auth.log) et en interdisant les adresses IP qui montrent des tentatives de connexion malveillantes telles que trop de mots de passe incorrects, la recherche d'exploits, etc. Fail2ban prend également en charge plusieurs backends de pare-feu tels que iptables, ufw et firewalld. De plus, il vous permet de configurer une notification par e-mail pour chaque tentative de connexion bloquée.

Dans ce guide, vous apprendrez comment installer Fail2ban sur un serveur Ubuntu 24.04. Vous configurerez la prison Fail2ban, apprendrez la commande de base « fail2ban-client », puis apprendrez à interdire et à lever l'interdiction des adresses IP à l'aide de Fail2ban.

Conditions préalables

Pour commencer avec ce guide, assurez-vous d'avoir :

  • Un serveur Ubuntu 24.04
  • Un utilisateur non-root avec des privilèges administratifs

Installation de Fail2ban et UFW (Pare-feu simplifié)

Fail2ban est un IPS (logiciel de prévention des intrusions) qui protège les serveurs contre les attaques par force brute. Il est disponible par défaut dans la plupart des dépôts Linux et prend en charge plusieurs arrière-plans de pare-feu. Dans cette section, vous installerez Fail2ban puis configurerez UFW (pare-feu simple) qui sera utilisé comme l'arrière-plan de pare-feu pour Fail2ban.

Tout d'abord, exécutez la commande ci-dessous pour mettre à jour l'index des paquets Ubuntu.

sudo apt update

Maintenant, installez les paquets '<em>fail2ban</em>' et '<em>ufw</em>' avec la commande '<em>apt</em>' suivante. Saisissez '<strong>Y</strong>' pour confirmer l'installation.

sudo apt install fail2ban ufw

Une fois l'installation terminée, exécutez la commande ci-dessous pour ouvrir le port pour SSH et activer UFW. Tapez 'Y' pour confirmer, démarrer et activer UFW.

sudo ufw allow OpenSSH
sudo ufw enable

Une fois que le UFW est activé, vous verrez un message 'Le pare-feu est actif et activé au démarrage du système'.

Ensuite, exécutez la commande suivante pour vérifier l'état du UFW. Vous verrez que le UFW est 'actif' avec le 'OpenSSH' activé.

sudo ufw status

Enfin, exécutez la commande 'systemctl' ci-dessous pour démarrer, activer et vérifier le service 'fail2ban'.

sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban

Vous pouvez voir ci-dessous que 'fail2ban' est actif (en cours d'exécution) et activé.

Configurer Fail2ban

Après avoir installé fail2ban, vous devez le configurer avant que Fail2ban ne prenne des mesures (vérifications et blocages). Dans cette section, vous allez modifier la configuration de fail2ban « /etc/fail2ban/jail.local », configurer la configuration globale pour « bantime », « maxretry », et « findtime », configurer l'action par défaut et le backend du pare-feu UFW, puis activer la prison « sshd » pour protéger le service SSH contre les attaques par force brute.

Pour commencer, copiez la configuration par défaut de fail2ban dans '/etc/fail2ban/jail.local' avec ce qui suit :

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Ouvrez le fichier '/etc/fail2ban/jail.local' avec la commande de l'éditeur 'nano' suivante.

sudo nano /etc/fail2ban/jail.local

Ajoutez votre réseau local à l'option 'ignoreip'. Tout sous-réseau dans cette option ne sera pas bloqué par fail2ban.

ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 192.168.10.20

Ajustez la configuration par défaut pour 'bantime' (le temps pendant lequel l'adresse IP sera bannie), 'findtime' (la durée entre le nombre d'échecs avant l'action de bannissement), et 'maxretry' (le nombre d'échecs pour que les adresses IP soient bannies). Dans cet exemple, vous définirez 'bantime' à '1 heure', 'findtime' à '10 minutes', avec 'maxretry' à '5 fois'.

bantime = 1h
findtime = 10m
maxretry = 5

Optionnellement, changez l'option par défaut ''action'' en ''%(action_mw)s'' pour interdire les adresses IP et envoyer une notification à l'administrateur par e-mail. Assurez-vous également de modifier les options ''destmail'' et ''sender''.

action = %(action_mw)s
destemail = [email 
sender = [email 

Changez le paramètre par défaut '<strong>banaction</strong>' en '<strong>ufw</strong>'. Avec cela, les adresses IP seront interdites par fail2ban via UFW.

banaction = ufw

Maintenant, changez la prison par défaut pour 'sshd' avec la configuration ci-dessous. Dans cet exemple, la prison 'sshd' aura des paramètres personnalisés pour 'bantime', 'maxretry', et 'findtime'.

[sshd]
enabled = true
maxretry = 3
findtime = 15m
bantime = 3h
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

Enregistrez et quittez le fichier une fois terminé.

Enfin, exécutez la commande 'systemctl' ci-dessous pour redémarrer le service 'fail2ban' et appliquer vos modifications.

sudo systemctl restart fail2ban

Vérification des règles fail2ban à l'aide de fail2ban-client

À ce stade, le service Fail2ban est opérationnel avec la prison 'sshd' activée. Vous allez maintenant apprendre la commande de base de 'fail2ban-client' pour vérifier et gérer l'installation de Fail2ban.

Pour vous assurer que fail2ban fonctionne, exécutez la commande 'fail2ban-client' ci-dessous.

sudo fail2ban-client ping

Si fail2ban est en cours d'exécution, vous verrez une sortie 'PONG'.

Maintenant, vérifiez l'état de la prison 'sshd' avec la commande suivante. Cela vous montrera la liste des adresses IP détectées et interdites pour la prison 'sshd'.

sudo fail2ban-client status sshd

Ensuite, exécutez la commande 'fail2ban-client get' ci-dessous pour vérifier les règles spécifiques de votre prison fail2ban. Dans cette section, vous allez vérifier le 'bantime', le 'maxretry', les 'actions', le 'findtime' et le 'ignoreip' de la prison 'sshd'.

sudo fail2ban-client get sshd bantime
sudo fail2ban-client get sshd maxretry
sudo fail2ban-client get sshd actions
sudo fail2ban-client get sshd findtime
sudo fail2ban-client get sshd ignoreip

Comment bannir et débannir une adresse IP avec fail2ban-client

Il est important de savoir comment bannir ou débannir manuellement des adresses IP en utilisant 'fail2ban-client'. Avec cela, vous pouvez facilement retirer votre adresse IP de la liste des bannis. Vous utiliserez la commande 'fail2ban-client' pour bannir et débannir des adresses IP sur Fail2ban.

Pour interdire manuellement des adresses IP via fail2ban, exécutez la commande '<em>fail2ban-client</em>' ci-dessous. Dans ce cas, l'adresse IP interdite va à la prison '<em>sshd</em>'.

sudo fail2ban-client set sshd banip IP-ADDRESS

Exécutez maintenant la commande suivante pour débannir l'adresse IP de la prison fail2ban '<em>sshd</em>'.

Sudo fail2ban-client set sshd unbanip IP-ADDRESS

Enfin, vous pouvez vérifier le statut de la prison 'sshd' en utilisant la commande ci-dessous. Vous verrez que l'adresse IP a été supprimée.

sudo fail2ban-client status sshd

Conclusion

Félicitations ! Vous avez terminé l'installation de fail2ban sur le serveur Ubuntu 24.04. Vous avez également appris la configuration de base pour configurer Fail2ban, y compris la mise en place de la configuration globale et des jails. Enfin, vous avez également appris l'utilisation de base de la commande 'fail2ban-client' pour vérifier l'état de fail2ban, l'état des jails, les configurations des jails, ainsi que pour bannir et débannir manuellement des adresses IP.