如何在CentOS/RHEL使用Fail2ban保护SSH/FTP

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
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏