fail2ban是由Python语言开发监控软件,通过监控系统日志的登录信息来调用iptables屏蔽相应登录IP,以阻止某个IP(fail2ban读对应日志文件,Debian/Ubuntu:/var/log/auth.log、CentOS/Redhat:/var/log/secure)不停尝试密码。fail2ban在防御对SSH服务器的暴力密码破解上非常有用。经过网友强烈要求,已经集成到《OneinStack》
安装配置Fail2ban
使用《OneinStack》,内置fail2ban,一键安装并设置好即可
- wget mirrors.linuxeye.com/oneinstack.tar.gz
- pushd oneinstack
- ./addons.sh #选择8,安装fail2ban
Fail2ban配置文件说明
- [root@OneinStack ~]# cat /etc/fail2ban/jail.local
- [DEFAULT]
- ignoreip = 127.0.0.1/8 #指定哪些地址可以忽略 fail2ban 防御
- bantime = 86400 #客户端主机被禁止的时长(秒)
- findtime = 600 #查找失败次数的时长(秒)
- maxretry = 5 #客户端主机被禁止前允许失败的次数
- [ssh-iptables]
- enabled = true
- filter = sshd
- action = iptables[name=SSH, port=22, protocol=tcp]
- logpath = /var/log/secure
fail2ban会自动禁止在最近10分钟内有超过5次访问尝试失败的任意IP地址。这个IP地址将会在24小时内一直被禁止访问SSH服务。安装设置启用后,Fail2ban会在iptables添加相关规则,如下:
fail2ban测试
ssh 你的服务器IP,输错密码5次以上,查看日志/var/log/fail2ban.log [ssh-iptables] Ban 91.195.103.166即被禁用
fail2ban状态
- /usr/local/python/bin/fail2ban-client status ssh-iptables
显示出被禁止IP地址列表
fail2ban解锁IP
为了解锁特定的IP地址命令:
- /usr/local/python/bin/fail2ban-client set ssh-iptables unbanip 91.195.103.166
Fri Mar 3 15:49:43 CST 2017
1F
看到更新支持Fail2ban,还以为重点是做系统监测,原来还有这个大作用,看来该升级升级阿里云的镜像去了。
另外这个评论功能的QQ自动输入功能不错,赞一个。
2F
这是要再下载一遍安装包?不能wget到scr里嘛?
沙发233
B1
@ 禅猫 可以
3F
我今天把自己ban了2次
4F
马上装了一个试试
5F
cat /var/log/fail2ban.log发现有错误发生,
具体为:iptables -w -I INPUT -p tcp –dport 22 -j f2b-SSH — stdout: ”,因此开始翻阅资料,
发现是因为iptables 1.4.0版以后去掉的-w参数,所以需要编辑/etc/fail2ban/action.d/iptables-common.conf
lockingopt = -w 修改为 #lockingopt = -w
iptables = iptables 修改为 iptables = iptables
查找了半天,终于找到了这个解决办法。
B1
@ CN_Lin 已经修正
6F
那 pureftp 怎么保护呢
B1
@ 请输入您的QQ号 可参考:https://www.fail2ban.org/wiki/index.php/Pure-FTPd
7F
已经尝试了禁封手机ip和解禁,好强大。感谢!