Recherche de site Web

Comment installer Fail2Ban pour protéger SSH sur CentOS/RHEL 8


Fail2ban est un outil de prévention des intrusions gratuit, open source et largement utilisé qui analyse les fichiers journaux à la recherche d'adresses IP présentant des signes malveillants tels qu'un trop grand nombre d'échecs de mot de passe, et bien plus encore, et les interdit (met à jour le pare-feu règles pour rejeter les adresses IP). Par défaut, il est livré avec des filtres pour divers services, notamment sshd.

Lire aussi : Configuration initiale du serveur avec CentOS/RHEL 8

Dans cet article, nous expliquerons comment installer et configurer fail2ban pour protéger SSH et améliorer la sécurité du serveur SSH contre les attaques par force brute sur CentOS/RHEL 8.

Installation de Fail2ban sur CentOS/RHEL 8

Le package fail2ban n'est pas dans les dépôts officiels mais il est disponible dans le dépôt EPEL. Après vous être connecté à votre système, accédez à une interface de ligne de commande, puis activez le référentiel EPEL sur votre système comme indiqué.

dnf install epel-release
OR
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Ensuite, installez le package Fail2ban en exécutant la commande suivante.

dnf install fail2ban

Configuration de Fail2ban pour protéger SSH

Les fichiers de configuration fail2ban se trouvent dans le répertoire /etc/fail2ban/ et les filtres sont stockés dans le répertoire /etc/fail2ban/filter.d/ répertoire (le fichier de filtre pour sshd est /etc/fail2ban/filter.d/sshd.conf).

Le fichier de configuration global du serveur fail2ban est /etc/fail2ban/jail.conf, cependant, il n'est pas recommandé de modifier ce fichier directement, car il sera probablement écrasé ou amélioré en cas de package. mise à niveau à l'avenir.

Comme alternative, il est recommandé de créer et d'ajouter vos configurations dans un fichier jail.local ou dans des fichiers .conf séparés sous /etc/fail2ban/jail. d/ répertoire. Notez que les paramètres de configuration définis dans jail.local remplaceront tout ce qui est défini dans jail.conf.

Pour cet article, nous allons créer un fichier séparé appelé jail.local dans le répertoire /etc/fail2ban/ comme indiqué.

vi /etc/fail2ban/jail.local

Une fois le fichier ouvert, copiez et collez-y la configuration suivante. Le [DEFAULT] la section contient les options globales et [sshd] contient les paramètres pour la prison sshd.


[DEFAULT] 
ignoreip = 192.168.56.2/24
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd

[sshd] 
enabled = true

Expliquons brièvement les options de la configuration ci-dessus :

  • ignoreip : spécifie la liste des adresses IP ou des noms d'hôtes à ne pas bannir.
  • bantime : spécifie le nombre de secondes pendant lesquelles un hôte est banni (c'est-à-dire la durée effective de l'interdiction).
  • maxretry : spécifie le nombre d'échecs avant qu'un hôte ne soit banni.
  • findtime : fail2ban bannira un hôte s'il a généré "maxretry" au cours des dernières secondes de "findtime".
  • banaction : interdire l’action.
  • backend : spécifie le backend utilisé pour obtenir la modification du fichier journal.

La configuration ci-dessus signifie donc que si une adresse IP a échoué 3 fois au cours des 5 dernières minutes, bannissez-la pendant 6 heures et ignorez le Adresse IP 192.168.56.2.

Ensuite, démarrez et activez le service fail2ban pour le moment et vérifiez s'il est opérationnel à l'aide de la commande systemctl suivante.

systemctl start fail2ban
systemctl enable fail2ban
systemctl status fail2ban

Surveillance des adresses IP ayant échoué et interdites à l'aide de fail2ban-client

Après avoir configuré fail2ban pour sécuriser sshd, vous pouvez surveiller les adresses IP défaillantes et interdites à l'aide du fail2ban-client. Pour afficher l'état actuel du serveur fail2ban, exécutez la commande suivante.

fail2ban-client status

Pour surveiller la prison sshd, exécutez.

fail2ban-client status sshd

Pour débannir une adresse IP dans fail2ban (dans toutes les prisons et bases de données), exécutez la commande suivante.

fail2ban-client unban 192.168.56.1

Pour plus d'informations sur fail2ban, lisez les pages de manuel suivantes.

man jail.conf
man fail2ban-client

Voilà qui résume ce guide ! Si vous avez des questions ou des réflexions à partager sur ce sujet, n'hésitez pas à nous contacter via le formulaire de commentaires ci-dessous.