Fail2ban是对你非常有用的应用程序,如果你正在管理服务器安全性,或者您运行的是自己的VPS服务器或物理服务器。在系统创建Fail2ban扫描日志文件,并有能力禁止其中发现恶意bassed上配置IPS规则。我们可以用它来监控各种系统服务的日志,比如Apache,SSH和博客这些试图破坏系统的安全性的IPS。
第1步:安装EPEL RPM库
Fail2ban在EPEL仓库中,因此,请确保您已在系统中安装了EPEL软件库,也可以使用
这些说明来安装它。
第2步:安装Fail2ban包
使用yum存储库安装Fail2ban rpm包。
# yum install fail2ban
第3步:设置Fail2ban默认配置
Fail2ban提供了自己的安全配置文件
/etc/fail2ban/jail.conf,但我们需要创建这个文件作为
jail.local的副本。
# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
现在,我们需要在jail.local文件创建禁止规则。编辑这个文件,在编辑器,并在
[DEFAULT]部分进行修改。
# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will use as always allowed,
# so add your system ip to protect your ip from banned.
ignoreip = 127.0.0.1/8 192.168.1.0/24 11.22.33.44
# "bantime" is the total number of seconds that a host is banned (3600sec = 1 Hour ).
bantime = 3600
# A host is banned if it has generated "maxretry" during the last "findtime" seconds. as per below
# settings, 2 minutes
findtime = 120
# "maxretry" is the number of failures before a host get banned.
maxretry = 3
第4步:保护SSH/SFTP
默认情况下完成配置后,再往在同一个文件jail.local中,如下更新
[SSH-iptables]部分。
enabled = true
filter = sshd
action = iptables[name=SSH, port=22, protocol=tcp]
sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com, sendername="Fail2Ban"]
logpath = /var/log/secure
maxretry = 3
第5步:保护FTP(vsFTPd)服务器
让我们保护你的FTP(vsFTPd)服务器,找到
[vsftpd-iptables]部分的条目下方并进行更改如下。如果你不使用vsFTPd,你可以跳过这一节。
[vsftpd-iptables]
enabled = true
filter = vsftpd
action = iptables[name=VSFTPD, port=21, protocol=tcp]
sendmail-whois[name=VSFTPD, dest=you@example.com]
logpath = /var/log/vsftpd.log
maxretry = 5
bantime = 1800
第6步:重新启动Fail2ban服务
完成所有变更保存文件,然后使用以下命令重新启动Fail2ban服务。
# service fail2ban restart
# chkconfig fail2ban on