Comment installer et configurer Fail2ban sur Centos 8

Comment installer et configurer Fail2ban sur Centos 8

Ce tutoriel vous aidera à installer et à configurer Fail2ban sur vos systèmes CentOS et RHEL 8 et Fedora. Dans cet article, vous apprendrez également à ajouter un service spécifique à surveiller sous Fail2ban.

Étape 1 - Installer Fail2ban sur Centos 8

Tout d'abord, installer EPEL-libération Package pour configurer le référentiel Epel Yum sur votre système CentOS 8. Après cela, installez le package de RPM Fail2Ban en utilisant les commandes suivantes.

sudo dnf install epel-libérer sudo dnf install fail2ban 

Étape 2 - Configurer Fail2ban

Fail2ban garde les fichiers de configuration sous / etc / fail2ban annuaire. mais nous devons créer une copie de ce fichier comme prison.local.

Sudo CP / etc / fail2ban / prison.conf / etc / fail2ban / prison.Sudo VI / etc / fail2ban local / prison.local 

Maintenant, nous devons apporter les modifications nécessaires dans prison.local dossier pour créer des règles d'interdiction. Modifier ce fichier dans votre éditeur préféré et apporter des modifications dans [DÉFAUT] section.

[Par défaut] # "ignoreip" peut être une liste d'adresses IP, de masques CIDR ou d'hôtes DNS. Fail2ban # n'interdit pas un hôte qui correspond à une adresse dans cette liste. Plusieurs adresses # peuvent être définies à l'aide du séparateur d'espace (et / ou de virgule). Ignoreip = 127.0.0.1/8 192.168.1.0/24 # "Bantime" est le nombre de secondes qu'un hôte est banni. bantime = 60m # Un hôte est banni s'il a généré "maxretry" pendant les dernières secondes "findtime". Selon les paramètres inférieurs à #, 2 minutes findtime = 5m # "Maxretry" est le nombre d'échecs avant qu'un hôte ne soit banni. maxretry = 5
12345678910111213141516[Par défaut] # "ignoreip" peut être une liste d'adresses IP, de masques CIDR ou d'hôtes DNS. Fail2ban # n'interdit pas un hôte qui correspond à une adresse dans cette liste. Plusieurs adresses # peuvent être définies à l'aide du séparateur d'espace (et / ou de virgule).Ignoreip = 127.0.0.1/8 192.168.1.0/24 # "Bantime" est le nombre de secondes qu'un hôte est banni.bantime = 60m # Un hôte est banni s'il a généré "maxretry" pendant les dernières secondes "findtime". Selon les paramètres inférieurs à #, 2 MinutesFindTime = 5m # "Maxretry" est le nombre d'échecs avant qu'un hôte ne soit banni.maxretry = 5

Étape 3 - Protéger SSH / SFTP

Après avoir terminé la configuration par défaut, descendez dans le même fichier de prison.local et mis à jour [ssh-ipables] Section comme ci-dessous.

[ssh-iptables] activé = true filter = sshd action = iptables [name = ssh, port = 22, protocole = tcp] sendmail-whois [name = ssh, dest = root, [e-mail protégé], sendername = "fail2ban"] logPath = / var / log / sécurisé maxretry = 3 

Étape 4 - Protéger FTP

Protégeons votre serveur FTP (VSFTPD), recherchez l'entrée ci-dessous de [vSftpd-iptables] section et apporter des modifications comme ci-dessous. Si vous n'utilisez pas VSFTPD, vous pouvez ignorer cette section.

[vsftpd-iptables] activé = true filter = vsftpd action = iptables [name = vsftpd, port = 21, protocole = tcp] sendmail-whois [name = vsftpd, [e-mail protégé]] logpath = / var / log / vsftpd.journal maxretry = 5 bantime = 1800 

Étape 5 - Redémarrer le service et le test

Après avoir apporté toutes les modifications, enregistrez votre fichier et redémarrez le service Fail2ban en utilisant la commande suivante.

sudo systemctl start fail2ban.Service sudo systemctl Activer Fail2ban.service 

À des fins de test, j'ai essayé SSH avec les mauvaises références d'une autre machine. Après trois mauvaises tentatives, Fail2ban a bloqué cette IP via iptables avec rejeter ICMP. Vous pouvez voir les règles en iptables après avoir bloqué l'adresse IP comme ci-dessous. Pour les systèmes SSH uniquement, assurez-vous d'avoir un accès SSH à partir d'une autre IP avant de passer ces tests.