意:如下方法适用于CentOS,并须要配合iptables才能运行-《iptables防火墙的基本应用》
html
wget http://soft.kwx.gd/security/fail2ban-0.8.4.tar.bz2
SSH执行以上命令,下载Fail2Ban 0.8.4版本。python
tar -xjvf fail2ban-0.8.4.tar.bz2
SSH执行以上命令,解压fail2ban-0.8.4.tar.bz2。bash
cd fail2ban-0.8.4
SSH执行以上命令,进入fail2ban-0.8.4文件夹。ssh
python setup.py install
cd files #
cp ./redhat-initd /etc/init.d/fail2ban
chkconfig --add fail2ban service fail2ban start 行
SSH执行以上逐行命令,安装Fail2Ban并添加到开机启动项中。tcp
3、修改配置文件ide
cd /etc/fail2ban
#此ip或者ip段为例外,不受如下条件影响
ignoreip = 127.0.0.1
# 封锁时间(如一天为:86400)
bantime = 600
# 在多长时间之内达到条件则开始执行封锁,如600秒达到3次则执行。 # 单位:秒
findtime = 600
# 在以上条件的出错次数,如600秒达到3次则执行。
# 单位:次
maxretry = 3
[ssh-iptables]
enabled = false #是否开启,开启则为true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp] #post为端口号
sendmail-whois[name=SSH, dest=you@mail.com, sender=fail2ban@mail.com]
#上方红色字-you@mail.com,则为您的邮箱地址和发送人地址(建议同样)
#发信须要sendmail服务的支持,若是没有此服务或不须要发信可在sendmail前加#号注释掉。
logpath = /var/log/sshd.log #相应错误日志,通常为:/var/log/secure
maxretry = 5 #尝试错误次数
[proftpd-iptables]
enabled = false #是否开启,开启则为true
filter = proftpd
action = iptables[name=ProFTPD, port=ftp, protocol=tcp]
sendmail-whois[name=ProFTPD, dest=you@mail.com]
#上方红色字同上SSH设置同样。
logpath = /var/log/proftpd/proftpd.log #相应错误日志
maxretry = 6 #尝试错误次数
注意,以上“相应错误日志”文件必须于实际相匹配,不然Fail2Ban也没法正常工做。post
service fail2ban restart #重启fail2ban
chkconfig fail2ban on #设置为开机自动启动
fail2ban-client status
SSH执行以上命令,查看fail2ban开启的监控状态是否运行,但不能看到实际效果。spa