Linux

Installer et configurer Fail2ban sur Debian 10

Installer et configurer Fail2ban sur Debian 10

Tous les serveurs accessibles depuis Internet sont exposés à des attaques de logiciels malveillants. Par exemple, si vous avez une application accessible depuis le réseau public, les attaquants peuvent utiliser des tentatives de force brute pour accéder à l'application.

Fail2ban est un outil qui aide à protéger votre machine Linux contre la force brute et d'autres attaques automatisées en surveillant les journaux de services pour les activités malveillantes. Il utilise des expressions régulières pour analyser les fichiers journaux. Toutes les entrées correspondant aux modèles sont comptées et lorsque leur nombre atteint un certain seuil prédéfini, Fail2ban interdit l'IP incriminée à l'aide du pare-feu du système pendant une durée spécifique. Lorsque la période d'interdiction expire, l'adresse IP est supprimée de la liste d'interdiction.

Cet article explique comment installer et configurer Fail2ban sur Debian 10.

Installation de Fail2ban sur Debian #

Le paquet Fail2ban est inclus dans les référentiels Debian 10 par défaut. Pour l'installer, exécutez la commande suivante en tant que root ou utilisateur avec les privilèges sudo :

mise à jour sudo aptsudo apt installer fail2ban

Une fois terminé, le service Fail2ban démarrera automatiquement. Vous pouvez le vérifier en vérifiant l'état du service :

statut sudo systemctl fail2ban

La sortie ressemblera à ceci :

● fail2ban.service - Service Fail2Ban chargé : chargé (/lib/systemd/system/fail2ban.un service; activée; préréglage du fournisseur : activé) Actif : actif (en cours d'exécution) depuis le mercredi 10/03/2021 18:57:32 UTC ; il y a 47s… 

C'est ça. À ce stade, vous avez Fail2Ban en cours d'exécution sur votre serveur Debian.

# de configuration Fail2ban

L'installation par défaut de Fail2ban est livrée avec deux fichiers de configuration, /etc/fail2ban/jail.conf et /etc/fail2ban/jail.d/defaults-debian.conf. Vous ne devez pas modifier ces fichiers car ils peuvent être écrasés lors de la mise à jour du package.

Fail2ban lit les fichiers de configuration dans l'ordre suivant. Chaque .local fichier remplace les paramètres du .conf déposer:

Le moyen le plus simple de configurer Fail2ban est de copier le geôle.conf à geôle.local et modifier le .local déposer. Les utilisateurs plus avancés peuvent créer un .local fichier de configuration à partir de zéro. le .local ne doit pas nécessairement inclure tous les paramètres du fichier correspondant .conf fichier, uniquement ceux que vous souhaitez remplacer.

Créer un .local fichier de configuration en copiant la valeur par défaut geôle.conf déposer:

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

Pour commencer à configurer le serveur Fail2ban ouvert, le geôle.local fichier avec votre éditeur de texte :

sudo nano /etc/fail2ban/jail.local

Le fichier comprend des commentaires décrivant ce que fait chaque option de configuration. Dans cet exemple, nous allons modifier les paramètres de base.

Liste blanche des adresses IP #

Les adresses IP, les plages d'adresses IP ou les hôtes que vous souhaitez exclure de l'interdiction peuvent être ajoutés au ignorer directif. Ici, vous devez ajouter l'adresse IP de votre PC local et toutes les autres machines que vous souhaitez ajouter à la liste blanche.

Décommentez la ligne commençant par ignorer et ajoutez vos adresses IP séparées par un espace :

/etc/fail2ban/jail.local
ignoreip = 127.0.0.1/8 ::1 123.123.123.123 192.168.1.0/24 

Paramètres d'interdiction #

l'heure du ban, trouver le temps, et essai max les options définissent le temps d'interdiction et les conditions d'interdiction.

l'heure du ban est la durée pendant laquelle l'IP est interdite. Lorsqu'aucun suffixe n'est spécifié, la valeur par défaut est de secondes. Par défaut, le l'heure du ban la valeur est fixée à 10 minutes. La plupart des utilisateurs préfèrent définir une durée d'interdiction plus longue. Modifiez la valeur à votre guise :

/etc/fail2ban/jail.local
bantime = 1j 

Pour bannir définitivement l'IP, utilisez un nombre négatif.

trouver le temps est la durée entre le nombre d'échecs avant qu'une interdiction soit définie. Par exemple, si Fail2ban est configuré pour interdire une adresse IP après cinq échecs (essai max, voir ci-dessous), ces défaillances doivent se produire dans le trouver le temps durée.

/etc/fail2ban/jail.local
temps de recherche = 10m 

essai max est le nombre d'échecs avant qu'une IP soit bannie. La valeur par défaut est définie sur cinq, ce qui devrait convenir à la plupart des utilisateurs.

/etc/fail2ban/jail.local
essai max = 5 

Notifications par email #

Fail2ban peut envoyer des alertes par e-mail lorsqu'une IP a été bannie. Pour recevoir des e-mails, vous devez avoir un SMTP installé sur votre serveur et modifier l'action par défaut, qui interdit uniquement l'IP à %(action_mw)s, comme indiqué ci-dessous:

/etc/fail2ban/jail.local
action = %(action_mw)s 

%(action_mw)s bannit l'adresse IP incriminée et envoie un e-mail avec un rapport whois. Si vous souhaitez inclure les journaux pertinents dans l'e-mail, définissez l'action sur %(action_mwl)s.

Vous pouvez également modifier les adresses e-mail d'envoi et de réception :

/etc/fail2ban/jail.local
destemail = [email protected]éditeur com = [email protected] 

Fail2ban Prisons #

Fail2ban utilise le concept de prisons. Une prison décrit un service et inclut des filtres et des actions. Les entrées de journal correspondant au modèle de recherche sont comptées et lorsqu'une condition prédéfinie est remplie, les actions correspondantes sont exécutées.

Fail2ban est livré avec un certain nombre de prisons pour différents services. Vous pouvez également créer vos propres configurations de prison. Par défaut, seule la prison ssh est activée.

Pour activer une prison, vous devez ajouter activé = vrai après le titre de prison. L'exemple suivant montre comment activer la prison postfix :

/etc/fail2ban/jail.local
[postfix] enabled = true port = smtp, ssmtp filter = postfix logpath = /var/log/mail.Journal 

Les paramètres dont nous avons parlé dans la section précédente peuvent être définis par prison. Voici un exemple:

/etc/fail2ban/jail.local
[sshd] enabled = true maxretry = 3 findtime = 1d bantime = 4w ignoreip = 127.0.0.1/8 11.22.33.44 

Les filtres sont situés dans le /etc/fail2ban/filter.ré répertoire, stocké dans un fichier portant le même nom que la prison. Si vous avez une configuration personnalisée et une expérience avec les expressions régulières, vous pouvez affiner les filtres.

Chaque fois que le fichier de configuration est modifié, le service Fail2ban doit être redémarré pour que les modifications prennent effet :

sudo systemctl redémarrer fail2ban

# de client Fail2ban

Fail2ban est livré avec un outil de ligne de commande nommé fail2ban-client que vous pouvez utiliser pour interagir avec le service Fail2ban.

Pour afficher toutes les options disponibles, appelez la commande avec le -h option:

fail2ban-client -h

Cet outil peut être utilisé pour bannir/débannir les adresses IP, modifier les paramètres, redémarrer le service, etc. Voici quelques exemples:

Conclusion #

Nous vous avons montré comment installer et configurer Fail2ban sur Debian 10.

Pour plus d'informations sur ce sujet, consultez la documentation Fail2ban .

Si vous avez des questions, n'hésitez pas à laisser un commentaire ci-dessous.

Comment inverser le sens de défilement de la souris et des pavés tactiles dans Windows 10
Souris et Pavé tactiles rendent non seulement l'informatique facile, mais plus efficace et moins chronophage. Nous ne pouvons pas imaginer une vie san...
Comment changer la taille, la couleur et le schéma du pointeur et du curseur de la souris sous Windows 10
Le pointeur et le curseur de la souris dans Windows 10 sont des aspects très importants du système d'exploitation. Cela peut également être dit pour d...
Moteurs de jeux gratuits et open source pour le développement de jeux Linux
Cet article couvrira une liste de moteurs de jeux gratuits et open source qui peuvent être utilisés pour développer des jeux 2D et 3D sur Linux. Il ex...