1.下载源码包:
[root@localhostlocal]源码包下载地址:
https://codeload.github.com/fail2ban/fail2ban/tar.gz/0.8.14spm=a2c4e.11153940.blogcont195078.15.19df49734mpYvn&file=0.8.14
2.解压编译安装
[root@localhost local]# tar -zxvf fail2ban-0.8.14.tar.gz
[root@localhost local]# cd fail2ban-0.8.14
[root@localhost fail2ban-0.8.14]#python setup.py install
3.手动生成启动脚本
[root@localhost fail2ban-0.8.14]#cp files/redhat-initd /etc/init.d/fail2ban
[root@localhost fail2ban-0.8.14]#chkconfig --add fail2ban
[root@localhost fail2ban-0.8.14]#chkconfig --list fail2ban
4.修改/etc/fail2ban/jail.conf 文件实现防护规则配置
[root@localhost fail2ban-0.8.14]#vim /etc/fail2ban/jail.conf
[DEFAULT] #全局设置
ignoreip = 127.0.0.1/8 #忽略的IP列表,不受设置限制
bantime = 600#屏蔽时间,单位:秒
findtime = 600 #这个时间段内超过规定次数会被ban掉
maxretry = 3 #最大尝试次数
backend = auto #日志修改检测机制(gamin、polling和auto这三种)
然后是sshd程序防护设置
[ssh-iptables]
enabled = true #启用配置
filter = sshd #规律规则名,对应filter.d目录下的sshd.conf
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/secure #检测的系统的登陆日志文件。这里要写sshd服务日志文件
bantime = 3600 #禁止用户IP访问主机1小时
findtime = 300 #在5分钟内内出现规定次数就开始工作
maxretry = 3 #3次密码验证失败
5.防火墙加入相关规则并重启
[root@localhost fail2ban-0.8.14]#iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name ROUTER-SSH --update --seconds 1800 --hitcount 5 -j DROP
[root@localhost fail2ban-0.8.14]#iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name ROUTER-SSH --set -j ACCEPT
[root@localhost fail2ban-0.8.14]#service iptables restart
6.启动fail2ban服务
先创建日志文件
[root@localhost fail2ban-0.8.14]#touch /var/log/sshd.log
[root@localhost fail2ban-0.8.14]#service fail2ban restart
原文地址:https://www.cnblogs.com/jasmine-Jobs/p/5927968.html