GNU/Linux >> Tutoriels Linux >  >> Debian

Installer et configurer Fail2ban sur Debian 10

Tous les serveurs accessibles depuis Internet sont exposés au risque d'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 des services à la recherche d'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 en utilisant le 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.

Installer Fail2ban sur Debian #

Le package Fail2ban est inclus dans les dépôts Debian 10 par défaut. Pour l'installer, exécutez la commande suivante en tant qu'utilisateur root ou utilisateur avec les privilèges sudo :

sudo apt updatesudo apt install fail2ban

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

sudo systemctl status fail2ban

La sortie ressemblera à ceci :

● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-03-10 18:57:32 UTC; 47s ago
...

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

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 le fichier remplace les paramètres de .conf fichier :

  • /etc/fail2ban/jail.conf
  • /etc/fail2ban/jail.d/*.conf
  • /etc/fail2ban/jail.local
  • /etc/fail2ban/jail.d/*.local

La façon la plus simple de configurer Fail2ban est de copier le jail.conf vers jail.local et modifier le .local dossier. Les utilisateurs plus avancés peuvent créer un .local fichier de configuration à partir de zéro. Le .local le fichier n'a pas besoin d'inclure tous les paramètres du .conf correspondant fichier, uniquement ceux que vous souhaitez remplacer.

Créer un .local fichier de configuration en copiant le fichier par défaut jail.conf fichier :

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

Pour commencer à configurer le serveur Fail2ban, ouvrez le jail.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.

Adresses IP sur liste blanche #

Les adresses IP, les plages d'adresses IP ou les hôtes que vous souhaitez exclure du bannissement peuvent être ajoutés au ignoreip 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 ignoreip 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 #

bantime , findtime , et maxretry les options définissent l'heure et les conditions d'interdiction.

bantime est la durée pendant laquelle l'adresse IP est interdite. Lorsqu'aucun suffixe n'est spécifié, la valeur par défaut est secondes. Par défaut, le bantime 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 convenance :

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

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

findtime est la durée entre le nombre d'échecs avant qu'une interdiction ne soit définie. Par exemple, si Fail2ban est paramétré pour bannir une IP après cinq échecs (maxretry , voir ci-dessous), ces échecs doivent se produire dans le findtime durée.

/etc/fail2ban/jail.local
findtime  = 10m

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

/etc/fail2ban/jail.local
maxretry = 5

Numéro de notification par e-mail

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

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

%(action_mw)s interdit 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]

sender = [email protected]

Jails Fail2ban #

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 jail ssh est activée.

Pour activer une prison, vous devez ajouter enabled = true 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.log

Les paramètres dont nous avons discuté 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.d 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 restart fail2ban

Numéro de client Fail2ban

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

Pour afficher toutes les options disponibles, invoquez la commande avec le -h choix :

fail2ban-client -h

Cet outil peut être utilisé pour interdire/annuler l'interdiction des adresses IP, modifier les paramètres, redémarrer le service, etc. Voici quelques exemples :

  • Obtenez l'état actuel du serveur :

    sudo fail2ban-client status
  • Vérifiez l'état de la prison :

    sudo fail2ban-client status sshd
  • Débannir une IP :

    sudo fail2ban-client set sshd unbanip 11.22.33.44
  • Bannir une IP :

    sudo fail2ban-client set sshd banip 11.22.33.44

Debian
  1. Comment installer et configurer Fail2ban sur Ubuntu 20.04

  2. Comment installer et configurer docker sur Debian 11

  3. Comment installer et configurer Mariadb 10 dans Debian 11

  4. Comment installer et configurer MongoDB 5 sur Debian 11

  5. Comment installer et configurer Redis 6 sur Debian 11

Comment installer et configurer RabbitMQ sur Debian 11

Installer et configurer Fail2ban sur Ubuntu 20.04

Comment installer et configurer Git dans Debian 11

Comment installer et configurer Fail2ban sur Debian 11

Comment installer et configurer Apache sur Debian 11 ?

Installer et configurer Fail2ban sur Debian 11