宝塔面板最新版7.0.2集成了一个神器Fail2ban防爆破1.1,大鸟在前面的教程来也说过,fail2ban对于简单的防cc效果还是不错的。
宝塔面板虽然阉割了5.9的nginx防火墙,但是这次更新主动添加了一个Fail2ban防爆破1.1也算是对用户的一种诚意了吧。这篇文章我们就来说说如何安装启用这个插件,实现对网站的保护。之前的文章:
宝塔双11活动
安装
这个教程是基于宝塔面板来讲,我们在软件商店→宝塔插件中可以找到Fail2ban防爆破插件,如图:
我们点击安装好即可。
配置插件
配置插件分为2部,一个是简单防cc和防止恶意扫描,我们先谈谈如何简单防cc。
1、防cc
Fail2ban可以防止恶意主机爆破服务、站点简单防cc等,我们点开插件开始配置。先创建一个服务。如图:
这里大鸟用了默认配置,如果你觉得不合适,可以修改了禁止时间可以改大点或者小点……。设置好我们保存即可。
2、测试效果
现在开始来测试效果,大鸟的这个配置是300秒内刷新了30次就会被封禁600秒,测试如图:
图上已经被封禁了ip,所以打不开网站,等了5分钟,我们看图:
5分钟之后网站被解封,在看看fail2ban的日志,如图:
日志还是很简单,你在这里可以删除被ban的ip。如果误封,可以在这里删除掉ip,解除封禁就可以打开网站了。
3、端口服务保护
这可以对于扫描爆破22端口比较好用,所以还是提示要修改默认的22端口,如何设置看图
这里可以保护sshd、mysql端口等等,大鸟设置了sshd,如图:
这里就可以设置一个陷阱,保护自己的22端口。
4、ip白名单
默认还可以设置ip白名单,可以单个设置也可以成段设置ip,如图:
5、站点防扫描
这个功能是和简单防cc在一起的,因为查看网站日志的时候,总会有一些恶意扫描程序扫描我们的网站路径,因为这个功能用的不太多,大鸟这里就简单说下。如图:
6、总结
Fail2ban防爆破这个插件比较好用,而且,从测试来看应对简单的cc效果还是不错的,起码你的网站不会被人刷新就搞死。
防止ssh端口爆破也很不错,这下你就不用怕被暴力扫描破解了,原本fai2ban要使用的的话还是有点难度的,现在我们直接在后台点击安装就可以搞定。
宝塔出这个插件的难道是应对一些潜在的竞争对手的么,比如说小皮面板?
1F
还是那句老话说的好,攻击就是一个伤敌一千自损八百的事,谁钱多谁赢。
B1
@ 猫叔 软件防御么,服务器的配置还得上去,不然也是扯。
2F
很实用的文章,收藏了
3F
大鸟前辈,Fail2ban防爆破我宝塔安装好后无法启动.! 这个是什么原因您遇到过吗? 7.0.3 最新版的!
B1
@ 墨轩 卸载重装,或者加我微信截图给我看看。
4F
和上面一位朋友一样,无法启动,看来不是一个人的问题啊,请大鸟排查一下。感谢!
我是安装好了后一切正常,重启服务器后,就无法再启动,卸载重装后又正常,重启后又无法启动……
5F
为什么安装完之后无法打开这个程序的,而且创建的时候还会显示:
抱歉,出错了:
Traceback (most recent call last):
File “class/panelPlugin.py”, line 1675, in a
return eval(execStr)
File “”, line 1, in
File “plugin/fail2ban/fail2ban_main.py”, line 429, in set_anti
return self.set_cc_anti(values)
File “plugin/fail2ban/fail2ban_main.py”, line 370, in set_cc_anti
self._check_conf_exist(conf, values[“mode”])
File “plugin/fail2ban/fail2ban_main.py”, line 178, in _check_conf_exist
if ‘[{}]’.format(mode) in jail_conf:
TypeError: argument of type ‘NoneType’ is not iterable
请问为什么会这样呢?
B1
@ kopp 卸载重装呢?或者修复下面板。
B2
@ 大鸟 重装很多次,还是这样。
修复面板后也是。
这是有什么错误配置吗?
6F
fail2ban.sqlite的logs表里没ssh的,不知道为什么,jail.local都配置好了的