如何在CentOS 8和Fedora 31/30上安装Fail2Ban
时间:2019-05-29 14:47:30 来源:igfitidea点击:
本教程将在CentOS、RHEL 8和Fedora系统上安装和配置Fail2ban。
在本文中,我们还将了解如何在fail2ban下添加要监视的任何特定服务。
步骤1 -安装Fail2ban
首先,安装 epelrelease包, 以便在CentOS 8系统上配置EPEL yum存储库。
然后,使用以下命令安装Fail2ban rpm包。
sudo dnf install epel-release sudo dnf install fail2ban
第2步-配置Fail2ban
Fail2ban将配置文件保存在 /etc/fail2ban目录下。
但是我们需要创建这个文件的一个副本 jail.local。
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo vi /etc/fail2ban/jail.local
现在我们需要对jail.local进行修改以便创建禁止规则。
编辑此文件,并在 [DEFAULT]部分中进行更改。
[DEFAULT] # "ignoreip" can be a list of IP addresses, CIDR masks or DNS hosts. Fail2ban # will not ban a host which matches an address in this list. Several addresses # can be defined using space (and/or comma) separator. ignoreip = 127.0.0.1/8 192.168.1.0/24 # "bantime" is the number of seconds that a host is banned. bantime = 60m # A host is banned if it has generated "maxretry" during the last "findtime" seconds. as per below # settings, 2 minutes findtime = 5m # "maxretry" is the number of failures before a host get banned. maxretry = 5
步骤3 -保护SSH/SFTP
完成默认配置后,更新 [ssh-iptables]部分如下所示。
[ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=22, protocol=tcp] sendmail-whois[name=SSH, dest=root, Hyman@theitroad, sendername="Fail2Ban"] logpath = /var/log/secure maxretry = 3
步骤4 -保护FTP
让我们保护FTP (vsFTPd)服务器,找到以下 [vsftpd-iptables]部分,进行如下更改。
如果不使用vsFTPd,可以跳过此部分。
[vsftpd-iptables] enabled = true filter = vsftpd action = iptables[name=VSFTPD, port=21, protocol=tcp] sendmail-whois[name=VSFTPD, Hyman@theitroad] logpath = /var/log/vsftpd.log maxretry = 5 bantime = 1800
第5步-重启服务并测试
完成所有更改后,保存文件并使用以下命令重新启动Fail2ban服务。
sudo systemctl start fail2ban.service sudo systemctl enable fail2ban.service
出于测试目的,我尝试使用来自另一台机器的错误凭据进行SSH。
经过三次错误的尝试,Fail2ban通过iptables用拒绝该IP的ICMP。
对于仅使用SSH的系统,在进行这些测试之前,请确保从另一个IP进行SSH访问。