Ce tutoriel vous aidera à installer et configurer Fail2ban sur vos systèmes CentOS et RHEL 8 et Fedora. Dans cet article, vous apprendrez également comment ajouter un service spécifique à surveiller sous fail2ban.
Étape 1 - Installer Fail2ban sur CentOS 8
Tout d'abord, installez epel-release package pour configurer le référentiel EPEL yum sur votre système CentOS 8. Après cela, installez le package RPM Fail2ban à l'aide des commandes suivantes.
sudo dnf install epel-release sudo dnf install fail2ban
Étape 2 - Configurer Fail2ban
Fail2ban conserve les fichiers de configuration sous /etc/fail2ban annuaire. mais nous devons créer une copie de ce fichier en tant que jail.local .
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo vi /etc/fail2ban/jail.local
Nous devons maintenant apporter les modifications nécessaires dans jail.local fichier pour créer des règles d'interdiction. Modifiez ce fichier dans votre éditeur préféré et apportez des modifications dans [DEFAULT] rubrique.
Shell
12345678910111213141516 | [DEFAULT] # "ignoreip" peut être une liste d'adresses IP, de masques CIDR ou d'hôtes DNS. Fail2ban# ne bannira pas un hôte qui correspond à une adresse de cette liste. Plusieurs adresses# peuvent être définies en utilisant un espace (et/ou une virgule) separator.ignoreip =127.0.0.1/8 192.168.1.0/24 # "bantime" est le nombre de secondes pendant lesquelles un hôte est banni.bantime =60m # Un hôte est banni s'il a généré "maxretry" pendant les dernières "findtime" secondes. selon les paramètres ci-dessous#, 2 minutesfindtime =5m # "maxretry" est le nombre d'échecs avant qu'un hôte ne soit banni.maxretry =5 |
Étape 3 :Protégez SSH/SFTP
Après avoir terminé la configuration par défaut, descendez dans le même fichier jail.local et mettez à jour [ssh-iptables] ci-dessous.
[ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=22, protocol=tcp] sendmail-whois[name=SSH, dest=root, [email protected], sendername="Fail2Ban"] logpath = /var/log/secure maxretry = 3
Étape 4 - Protégez le FTP
Protégeons votre serveur FTP (vsFTPd), trouvez l'entrée ci-dessous de [vsftpd-iptables] section et apportez les modifications comme ci-dessous. Si vous n'utilisez pas vsFTPd, vous pouvez ignorer cette section.
[vsftpd-iptables] enabled = true filter = vsftpd action = iptables[name=VSFTPD, port=21, protocol=tcp] sendmail-whois[name=VSFTPD, [email protected]] logpath = /var/log/vsftpd.log maxretry = 5 bantime = 1800
Étape 5 - Redémarrez le service et testez
Après avoir apporté toutes les modifications, enregistrez votre fichier et redémarrez le service Fail2ban à l'aide de la commande suivante.
sudo systemctl start fail2ban.service sudo systemctl enable fail2ban.service
À des fins de test, j'ai essayé SSH avec les mauvaises informations d'identification d'une autre machine. Après trois tentatives erronées, Fail2ban a bloqué cette IP via iptables avec rejet ICMP. Vous pouvez voir les règles dans 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 depuis une autre IP avant de faire ces tests.