Comment installer Fail2ban sur Debian 12 ou 11

Fail2Ban est un outil de sécurité essentiel pour les systèmes Linux, conçu pour protéger votre serveur contre les attaques par force brute et d'autres types d'activités malveillantes. Il fonctionne en surveillant les fichiers journaux pour détecter les tentatives de connexion infructueuses répétées ou tout autre comportement suspect et bannit automatiquement les adresses IP incriminées en mettant à jour les règles de pare-feu. Fail2Ban est hautement configurable, vous permettant de définir des filtres personnalisés, des délais d'interdiction et des actions en fonction des besoins spécifiques de votre serveur.

Sur Debian 12 ou 11, Fail2Ban peut être facilement installé et configuré pour améliorer la sécurité de votre système. Une fois installé, vous aurez accès à un large éventail d'options de configuration pour adapter Fail2Ban à vos besoins. De plus, comprendre comment afficher les journaux et interdire ou débloquer manuellement des adresses IP spécifiques vous donnera un meilleur contrôle sur la protection de votre serveur. Ce guide vous guidera tout au long du processus d'installation et vous fournira des conseils pour vous aider à démarrer la configuration de Fail2Ban, la gestion des journaux et le contrôle des interdictions IP sur votre système Debian.

Mettre à jour Debian avant l'installation de Fail2ban

Avant d'installer Fail2Ban, il est essentiel de mettre à jour votre système d'exploitation Debian. Cela garantit que tous les packages existants sont à jour et que vous utilisez les versions les plus récentes de votre logiciel. Pour mettre à jour votre système, exécutez la commande suivante dans votre terminal :

sudo apt update && sudo apt upgrade

La commande sudo apt update récupère les dernières informations sur les packages dans les référentiels, tandis que sudo apt update met à niveau les packages installés vers leurs versions les plus récentes.

Installez Fail2ban via la commande APT

Fail2Ban est inclus dans le référentiel par défaut de Debian, ce qui signifie que vous n'avez pas besoin d'ajouter de référentiels supplémentaires pour installer le logiciel. Pour installer Fail2Ban, utilisez la commande suivante dans votre terminal :

sudo apt install fail2ban

Cette commande demande au gestionnaire de paquets (apt) d'installer le paquet Fail2Ban sur votre système Debian.

Confirmer l'installation de Fail2ban

Après l'installation, il est essentiel de confirmer que Fail2Ban a été correctement installé. Pour ce faire, exécutez la commande suivante :

fail2ban --version

Cette commande affichera la version Fail2Ban installée, ce qui indique une installation réussie.

Vérifier l'état du service Fail2ban

Après l'installation, Fail2Ban devrait être actif et activé par défaut. Cependant, c'est toujours une bonne idée de vérifier l'état du service pour s'assurer qu'il fonctionne comme prévu.

Pour vérifier l'état du service Fail2Ban, utilisez la commande systemctl suivante :

systemctl status fail2ban

Si votre service Fail2Ban n'est pas activé ou en cours d'exécution, vous pouvez le démarrer à l'aide de la commande suivante :

sudo systemctl start fail2ban

Cette commande demande à systemctl de démarrer le service Fail2Ban. Si vous souhaitez également activer Fail2Ban au démarrage du système par défaut, utilisez la commande suivante :

sudo systemctl enable fail2ban

L'activation de Fail2Ban au démarrage du système garantit que le service démarrera automatiquement au redémarrage de votre serveur Debian, offrant ainsi une protection continue sans intervention manuelle.

Installer UFW (facultatif)

Si vous préférez utiliser un pare-feu simple (UFW) avec Fail2Ban au lieu d'IPTables, suivez les étapes ci-dessous. UFW est une interface conviviale pour IPTables et fournit un moyen simple de gérer le pare-feu de votre serveur. Notez que Debian omet UFW par défaut.

Installer UFW

Pour installer UFW sur votre système Debian, exécutez la commande suivante dans votre terminal :

sudo apt install ufw

Cette commande utilise le gestionnaire de packages (apt) pour installer le package UFW à partir du référentiel Debian.

Vérifier l'installation d'UFW

Après avoir installé UFW, il est essentiel de vérifier que l’installation a réussi. Pour vérifier la version UFW installée, exécutez la commande suivante :

ufw version

Cette commande affichera la version UFW installée, indiquant une installation réussie.

Activer UFW

Il est maintenant temps d'activer UFW sur votre système. L'activation d'UFW activera le pare-feu et garantira qu'il démarre automatiquement au démarrage de votre serveur Debian. Pour activer UFW, utilisez la commande suivante :

sudo ufw enable

La commande invite UFW à démarrer et à configurer pour s'exécuter au démarrage du système. Après avoir exécuté cette commande, vous devriez voir un résultat similaire à celui-ci :

Le pare-feu est actif et activé au démarrage du système

Cette sortie confirme que UFW est actif et démarrera automatiquement au redémarrage de votre serveur Debian.

Créer une sauvegarde des paramètres Fail2ban

Après avoir installé Fail2Ban, il est essentiel de l'installer et de le configurer en fonction de votre environnement serveur. Fail2Ban est livré avec deux fichiers de configuration par défaut situés dans /etc/fail2ban/jail.conf et /etc/fail2ban/jail.d/defaults-debian.conf.

Remarque : Ne modifiez pas ces fichiers directement. Ce sont vos fichiers originaux et seront remplacés lors des futures mises à jour de Fail2Ban.

Pour conserver vos paramètres personnalisés, créez des copies des fichiers de configuration avec l'extension .local. Fail2Ban donnera la priorité à la lecture des fichiers .local plutôt qu'aux fichiers .conf. En créant des fichiers .local, vous vous assurez que vos paramètres ne seront pas perdus lors des mises à jour et vous disposerez toujours d'une nouvelle copie vers laquelle revenir en cas de mauvaise configuration.

Créer un fichier de configuration de sauvegarde (jail.local)

Exécutez la commande suivante pour créer une copie du fichier jail.conf :

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

Cette commande utilise la commande cp (copy) pour créer un duplicata du fichier jail.conf nommé jail.local dans le même répertoire. Le préfixe sudo accorde les autorisations nécessaires pour effectuer cette action.

Vous disposez désormais d'une sauvegarde de votre fichier de configuration d'origine et vous pouvez personnaliser en toute sécurité les paramètres de Fail2Ban en modifiant le fichier jail.local sans craindre de perdre vos modifications lors des futures mises à jour.

Configurer les paramètres Fail2Ban

Après avoir créé une sauvegarde du fichier de configuration d'origine, il est temps d'ajuster les paramètres dans jail.local pour répondre aux exigences de sécurité spécifiques de votre serveur.

Voici quelques exemples, mais n'oubliez pas que chaque serveur a des exigences uniques. Les exemples fournis servent de discussion introductive. Surveillez constamment les journaux et vérifiez toute règle Fail2ban que vous implémentez ; sinon, vous pourriez rencontrer des problèmes importants.

Modification du fichier de configuration

Pour modifier le fichier jail.local à l'aide de l'éditeur nano, exécutez la commande suivante :

sudo nano /etc/fail2ban/jail.local

Cette commande ouvre le fichier jail.local dans l'éditeur de texte nano avec des privilèges administratifs, vous permettant de modifier son contenu.

Incrément de durée d'interdiction

Activez le paramètre Ban Time Increment pour augmenter la durée de l’interdiction pour les récidivistes. Par exemple, si la durée d'interdiction par défaut est d'une heure, vous pouvez l'augmenter à cinq heures après cinq interdictions répétées.

Pour ce faire, vous devez définir un multiplicateur pour la logique d'augmentation du bannissement.

Exemple:

## Multiplicateurs de temps d'interdiction # bantime.increment = true # bantime.factor = 2 # bantime.formula = ban.Time * (1<<(ban.Count si ban.Count<20 sinon 20)) * banFactor

Dans cet exemple, la durée du bannissement sera doublée pour chaque bannissement ultérieur. Vous souhaiterez peut-être activer cette fonctionnalité pour décourager les attaquants persistants en augmentant la durée de l'interdiction à chaque fois qu'ils sont bannis.

Liste blanche des adresses IP dans Fail2Ban

Pour ajouter des adresses IP spécifiques à la liste blanche, décommentez la ligne ignoreip et ajoutez les adresses IP souhaitées, séparées par des espaces ou des virgules. Les plages IP peuvent également être ajoutées à la liste blanche.

Exemple:

ignoreip = 127.0.0.1/8 ::1 180.53.31.33 (exemple d'adresse IP)

Dans cet exemple, l'adresse IP 180.53.31.33 est sur liste blanche. Vous souhaiterez peut-être mettre sur liste blanche les adresses IP appartenant à des utilisateurs ou à des services de confiance pour éviter les interdictions accidentelles.

Configuration du temps d'interdiction par défaut

Par défaut, Fail2Ban bannit un attaquant pendant 10 minutes après cinq tentatives infructueuses dans une fenêtre de 10 minutes. Vous pouvez ajuster ces paramètres par défaut, mais il est recommandé de définir des durées d'interdiction personnalisées et des limites de tentatives pour différentes prisons.

Exemple:

[DEFAULT] # "bantime" est le nombre de secondes pendant lesquelles un hôte est banni. bantime = 10m # Un hôte est banni s'il a généré "maxretry" lors des dernières secondes de "findtime". findtime = 10m # "maxretry" est le nombre d'échecs avant qu'un hôte ne soit banni. tentative maximale = 5

Dans cet exemple, les paramètres par défaut interdisent un attaquant pendant 10 minutes après cinq tentatives infructueuses dans une fenêtre de 10 minutes. Vous souhaiterez peut-être modifier ces paramètres pour mieux répondre aux exigences de sécurité de votre serveur.

Configurez Fail2Ban pour utiliser UFW au lieu d'IPTables

Pour configurer Fail2Ban afin d'utiliser UFW comme action d'interdiction par défaut au lieu d'IPTables, mettez à jour la ligne banaction dans la section [DEFAULT].

Exemple:

[DEFAULT] banaction = ufw

En changeant la valeur de banaction en ufw, Fail2Ban utilisera UFW pour gérer les bans au lieu des IPTables. Ceci est utile si vous utilisez déjà UFW comme pare-feu principal de votre serveur et que vous souhaitez maintenir un système de gestion cohérent.

Alertes/notifications par courrier électronique

Configurez Fail2Ban pour envoyer des notifications par e-mail avec des rapports whois à une adresse e-mail spécifiée. Vous pouvez également configurer différentes options de reporting, telles que l'envoi d'e-mails aux fournisseurs de liste noire ou au FAI de l'attaquant.

Exemple:

estemail = admin@example.com expéditeur = fail2ban@example.com

Dans cet exemple, admin@example.com est l'adresse e-mail qui recevra les notifications et fail2ban@example.com est l'adresse e-mail qui enverra les notifications. Vous souhaiterez peut-être activer les alertes par e-mail pour rester informé des incidents de sécurité et prendre les mesures appropriées si nécessaire.

Prisons Fail2Ban

Les prisons contiennent des filtres et des actions prédéfinis pour diverses applications serveur. Vous pouvez activer, désactiver ou personnaliser les prisons en fonction des besoins de votre serveur.

Pour activer une prison, ajoutez « activé = true » dans la section prison correspondante.

Exemple:

[apache-badbots] activé = vrai port = http,https logpath = %(apache_access_log)s bantime = 48h maxretry = 1

Dans cet exemple, la prison apache-badbots est activée pour protéger un serveur Web Apache contre les mauvais robots. La prison interdira aux contrevenants pendant 48 heures après une seule tentative infructueuse. Vous souhaiterez peut-être activer des prisons spécifiques en fonction des services exécutés sur votre serveur et des risques de sécurité associés.

Vous pouvez également ajouter des actions personnalisées ou utiliser des actions du répertoire action.d en mettant à jour la ligne de banaction dans la section jail.

Exemple:

[Apache-botsearch] activé = vrai port = http,https logpath = %(apache_error_log)s banaction = action_mw cloudflare bantime = 72h maxretry = 1

Dans cet exemple, la prison apache-botsearch est activée pour protéger contre les attaques de recherche de robots sur le serveur Web Apache. La banaction personnalisée est configurée pour utiliser les actions action_mw et cloudflare. Vous souhaiterez peut-être ajouter des actions personnalisées pour améliorer la sécurité ou intégrer Fail2Ban à d'autres outils et services de sécurité.

Redémarrer le service Fail2Ban

Une fois que vous avez terminé de configurer Fail2Ban, redémarrez le service pour appliquer vos modifications :

sudo systemctl restart fail2ban

Interdire et débloquer via les commandes Fail2Ban

Une fois Fail2Ban configuré, vous pouvez gérer les interdictions IP à l'aide de la commande fail2ban-client. Vous aurez peut-être besoin des privilèges sudo, en fonction de votre configuration.

Bannir une adresse IP via Fail2ban

Pour bannir manuellement une adresse IP pour une prison spécifique (par exemple, apache-botsearch), utilisez la commande suivante :

sudo fail2ban-client set apache-botsearch banip <ip address>

Cette commande ajoute l'adresse IP spécifiée à la liste des adresses IP interdites pour la prison Apache-botsearch. En conséquence, l’adresse IP ne pourra pas accéder à votre serveur en fonction des règles définies dans la prison.

Débannir une adresse IP via Fail2ban

Pour débannir une adresse IP pour une prison spécifique (par exemple, apache-botsearch), utilisez la commande suivante :

sudo fail2ban-client set apache-botsearch unbanip <ip address>

Cette commande supprime l'interdiction pour l'adresse IP spécifiée, lui permettant d'accéder à nouveau à votre serveur, en supposant qu'elle soit conforme aux règles de la prison Apache-botsearch.

Accéder au menu Aide via Fail2ban

Pour accéder au menu d'aide et afficher des paramètres ou des commandes supplémentaires, utilisez la commande suivante :

sudo fail2ban-client -h 

Cette commande affiche un menu d'aide avec diverses options et commandes pour gérer Fail2Ban.

Plus d'exemples avec Fail2ban

Vérifiez le statut d'une prison spécifique :

sudo fail2ban-client status apache-botsearch

Cette commande fournit des informations sur la prison Apache-botsearch, telles que son état actuel et le nombre d'adresses IP interdites.

Rechargez la configuration sans redémarrer le service Fail2Ban :

sudo fail2ban-client reload

Cette commande recharge la configuration de Fail2Ban, en appliquant toutes les modifications que vous avez apportées sans redémarrer le service.

Vérifiez la liste des adresses IP actuellement interdites pour une prison spécifique :

sudo fail2ban-client get apache-botsearch banned

Cette commande répertorie toutes les adresses IP actuellement interdites par la prison apache-botsearch.

Définissez une durée d'interdiction personnalisée pour une adresse IP spécifique dans une prison :

sudo fail2ban-client set apache-botsearch bantime <time_in_seconds> --banip <ip_address>

Cette commande interdit l'adresse IP spécifiée pendant une durée personnalisée (en secondes) dans la prison Apache-botsearch.

Ces commandes fournissent les outils pour gérer efficacement les interdictions IP à l'aide de Fail2Ban. N'oubliez pas de remplacer avec l'adresse IP réelle que vous souhaitez bannir ou annuler, et remplacez apache-botsearch par le nom de prison approprié en fonction de votre configuration.

Vérifier et surveiller les journaux Fail2Ban

Il est crucial de surveiller et d'examiner les journaux Fail2Ban pour garantir que vos prisons fonctionnent correctement. Par défaut, les journaux Fail2Ban se trouvent dans /var/log/fail2ban.log.

Surveillance des journaux Fail2ban en temps réel

Pour regarder les journaux en direct et détecter tout problème lorsque vous travaillez sur votre serveur, utilisez la commande « tail -f » :

tail -f /var/log/fail2ban.log

Cette commande vous permet de surveiller les modifications du journal en temps réel. Vous verrez de nouvelles entrées au fur et à mesure qu'elles seront ajoutées au fichier journal, vous aidant à identifier les activités ou erreurs inhabituelles.

Recherche de journaux pour des informations spécifiques

Vous pouvez également utiliser la commande grep pour rechercher des informations spécifiques dans les journaux, telles que des adresses IP, des agents utilisateurs ou des erreurs. La commande grep filtre le fichier journal et affiche uniquement les lignes contenant le mot-clé spécifié.

Exemple d'agent utilisateur :

grep "Bing" /var/log/fail2ban.log

Cette commande recherche toutes les entrées de journal contenant le mot « Bing », ce qui peut vous aider à identifier les activités de robots ou les agents utilisateurs indésirables.

Exemple d'erreur :

grep "error" /var/log/fail2ban.log

Cette commande recherche les entrées de journal contenant le mot « erreur », vous aidant à détecter tout problème lié au fonctionnement de Fail2Ban.

Exemple d'adresse IP :

grep "123.123.123.1" /var/log/fail2ban.log

Cette commande recherche les entrées de journal contenant l'adresse IP spécifiée, vous permettant de suivre l'activité d'une adresse IP spécifique ou de déterminer si elle a été interdite.

Ces exemples montrent différentes manières de filtrer et de rechercher vos journaux à l'aide des commandes de terminal. L'examen régulier de vos journaux Fail2Ban vous aidera à maintenir la sécurité de votre serveur et à garantir que vos prisons fonctionnent comme prévu.

Supprimer Fail2Ban via les commandes du terminal

Si vous décidez de supprimer Fail2Ban de votre système, vous pouvez facilement le désinstaller en suivant ces étapes :

Arrêtez et désactivez le service Fail2Ban

Si le service Fail2Ban est toujours actif, désactivez-le d'abord pour garantir un processus de désinstallation fluide. La désactivation du service l'empêche de s'exécuter en arrière-plan et d'interférer avec la suppression.

Utilisez la commande suivante pour désactiver le service Fail2Ban et empêcher son exécution :

sudo systemctl disable fail2ban --now

Cette commande désactive immédiatement le service Fail2Ban (indicateur –now) et garantit qu'il ne démarrera pas automatiquement lors des prochains redémarrages du système.

Supprimer Fail2Ban

Après avoir désactivé le service, vous pouvez désinstaller Fail2Ban à l'aide de la commande suivante :

sudo apt remove fail2ban

Cette commande supprimera Fail2Ban ainsi que ses dépendances système et les données associées.

Conclusion

Avec Fail2Ban installé et configuré sur votre système Debian, vous bénéficiez d'un outil puissant pour vous défendre contre les accès non autorisés et autres menaces de sécurité. La flexibilité de Fail2Ban vous permet de personnaliser son comportement en fonction de vos besoins spécifiques, tandis que la surveillance régulière des journaux et le contrôle manuel des interdictions IP garantissent le maintien d'un environnement sécurisé. En tirant parti de ces fonctionnalités, vous pouvez améliorer considérablement la sécurité de votre serveur Debian.

Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)

3 réflexions au sujet de “How to Install Fail2ban on Debian 12 or 11”

Laissez un commentaire