Comment installer Fail2ban sur Rocky Linux et Almalinux

Comment installer Fail2ban sur Rocky Linux et Almalinux

Écrit en Python, Fail2ban est une source libre et ouverte Système de prévention des intrusions (Ips) qui protège le serveur contre les attaques de force brute.

Après un nombre spécifié de tentatives de mot de passe incorrectes, l'adresse IP du client est interdite d'accéder au système pendant une période spécifiée ou jusqu'à ce que l'administrateur système le débroche. De cette façon, le système est sauvegardé à partir d'attaques de force brute répétées d'un seul hôte.

[Vous pourriez également aimer: comment sécuriser et durcir le serveur OpenSSH]

Fail2ban est hautement configurable et peut être configuré pour sécuriser une myriade de services tels que Ssh, vsftpd, Apache, et Webmin.

Dans ce guide, nous nous concentrons sur la façon dont vous pouvez installer et configurer Fail2ban sur Rocky Linux et Almalinux.

Étape 1: Assurez-vous que Firewalld est en cours d'exécution

Par défaut, Rocheux Livré avec la course à feu. Cependant, si ce n'est pas le cas sur votre système, commencez Pare-feu En exécutant:

$ sudo systemctl start Firewalld 

Ensuite, activez-le pour démarrer sur l'heure de démarrage:

$ sudo systemctl activer le pare-feu 

Vérifiez ensuite le statut du pare-feu

$ sudo systemctl status Firewalld 
Vérifiez le statut de Firewalld

De plus, vous pouvez confirmer tous les Pare-feu Les règles actuellement appliquées à l'aide de la commande:

$ sudo Firewall-Cmd --list-all 
Répertoriez les règles de tout le monde

Étape 2: Installez EPEL dans Rocky Linux

Comme exigence pour l'installation de fail2ban et d'autres packages requis, vous devez installer le Epel Référentiel qui fournit des packages supplémentaires de haute qualité pour les distributions basées sur RHEL.

$ sudo dnf installer EPEL-libération 
Installez EPEL dans Rocky Linux

Étape 3: Installer Fail2ban dans Rocky Linux

Avec Epel installé, procéder et installer fail2ban et le fail2ban-firewalld emballer.

$ sudo dnf install fail2ban fail2ban-firewalld 

Cela installe le serveur Fail2ban et le composant Firewalld ainsi que d'autres dépendances.

Installer Fail2ban dans Rocky Linux

Avec l'installation de Fail2ban Complete, démarrez le service Fail2ban.

$ sudo systemctl start fail2ban 

Et l'activer pour commencer l'heure de démarrage.

$ sudo systemctl activer fail2ban 

Vous pouvez vérifier l'état du service Fail2Ban en exécutant la commande:

$ sudo systemctl status fail2ban 

La sortie est une confirmation que Fail2ban fonctionne comme nous nous attendons.

Vérifier l'état de l'échec 2ban

Étape 4: Configuration de Fail2ban dans Rocky Linux

En continuant, nous devons configurer Fail2Ban pour qu'il fonctionne comme prévu. Idéalement, nous modifierions le fichier de configuration principal - / etc / fail2ban / prison.confli. Cependant, cela est découragé. En tant que solution de contournement, le contenu de la prison.Fichier de configuration de Conf à prison.local déposer.

$ sudo cp / etc / fail2ban / prison.conf / etc / fail2ban / prison.local 

Maintenant, ouvrez le prison.local fichier en utilisant votre éditeur préféré.

$ sudo vim / etc / fail2ban / prison.local 

Sous le [DÉFAUT] Section, assurez-vous que vous avez les paramètres suivants tels qu'ils apparaissent.

bantime = 1h findtime = 1h maxretry = 5 

Définissons les attributs:

  • Le bantile La directive spécifie la durée du temps où un client sera interdit à la suite de tentatives d'authentification ratées.
  • Le trouver le temps La directive est la durée ou la période dans laquelle Fail2ban envisagera lors de l'examen des tentatives de mot de passe incorrectes répétées.
  • Le maxret Le paramètre est le nombre maximum de tentatives de mot de passe incorrectes avant que le client distant ne soit empêché d'accès au serveur. Ici, le client sera verrouillé après 5 défaillances d'authentification.

Par défaut, Fail2ban fonctionne avec iptables. Cependant, cela a été obsolète en faveur du pare-feu. Nous devons configurer Fail2ban pour travailler aux côtés de Firewalld au lieu d'iptables.

Alors, exécutez avec la commande:

$ sudo mv / etc / fail2ban / prison.D / 00-Firewalld.conf / etc / fail2ban / prison.D / 00-Firewalld.local 

Pour appliquer les modifications, redémarrez Fail2ban:

$ sudo systemctl redémarrer fail2ban 

Étape 5: sécuriser le service SSH avec Fail2ban

Par défaut, Fail2ban ne bloque aucun hôte distant tant que vous n'aurez pas activé la configuration de la prison pour un service que vous souhaitez sécuriser. La configuration de la prison est spécifiée dans le / etc / fail2ban / prison.d chemin et remplacera la configuration spécifiée dans la prison.dossier local.

Dans cet exemple, nous créerons un fichier de configuration de prison pour protéger le service SSH. Par conséquent, créez le fichier de prison SSH.

$ sudo vim / etc / fail2ban / prison.d / sshd.local 

Ensuite, collez les lignes suivantes:

[sshd] activé = true # remplacer la configuration globale par défaut # pour une prison spécifique sshd bantime = 1d maxretry = 3 

Dans la configuration ci-dessus, un hôte distant sera interdit d'accéder au système pendant 1 jour après 3 tentatives de connexion SSH échouées. Enregistrez les modifications et redémarrez le service Fail2ban.

$ sudo systemctl redémarrer fail2ban 

Ensuite, vérifiez l'état de configuration de la prison à l'aide du fail2ban-client utilitaire de ligne de commande.

$ sudo fail2ban-client statut 

À partir de la sortie, nous pouvons voir que 1 prison est configurée pour un service appelé 'SSHD'.

Vérifier le statut de la prison de Fail2ban

De plus, vous pouvez confirmer le maxret Valeur de la prison SSHD en utilisant l'option Get.

$ sudo fail2ban-client get sshd maxretry 3 

La valeur imprimée 3 devrait correspondre à ce que vous avez spécifié dans le SSHD.local déposer.

Étape 6: Tester la configuration de Fail2ban

Après avoir configuré Fail2Ban et créé un fichier de configuration de la prison pour le service SSH, nous allons effectuer un essai exécuté et simuler 3 connexions ratées en spécifiant un mot de passe incorrect pour chaque invite de mot de passe.

Alors dirigez-vous vers un système Linux distant et essayez de vous connecter en utilisant le mauvais mot de passe. Après 3 tentatives infructueuses, la connexion sera abandonnée et toute tentative ultérieure de reconnexion sera bloquée jusqu'à ce que la durée de l'interdire s'écarte.

Tester Fail2ban dans Linux

Pour recueillir des informations sur les systèmes clients bloqués, vérifiez le statut de la prison.

$ sudo fail2ban client status sshd 
Vérifier l'état du bloc Fail2ban

Pour débanter ou supprimer le client de la prison, exécutez la commande:

$ sudo fail2ban-client Unban 192.168.2.102 

Encore une fois, vérifiez l'état de la prison pour vous assurer que le client n'est pas inclus dans la liste IP interdite.

$ sudo fail2ban client status sshd 
Vérifier la liste des blocs Fail2ban

Comme nous l'avons vu, Fail2ban est un outil très utile pour éloigner les intrus qui cherchent à violer votre système Linux. Il fonctionne en conjonction avec le pare-feu pour interdire les systèmes clients pendant une durée spécifiée après un nombre spécifique de tentatives de connexion ratées. Ce faisant, il offre une couche de protection supplémentaire pour votre serveur Linux.