宝塔面板在8月份发生了一起严重的PMA数据库泄露事件,现在想起来,这个漏洞的严重性还是很大的,宝塔官方也在事件发生后,连夜紧急应急处理,紧接着对事件过程进行了全面的梳理和跟踪,并对外发布了一篇公开信,公布了对应的应对措施,避免类似情况的再次发生。
官方对待问题的态度还是很迅速的,当然,我们在平时的使用过程中,也不能忽视安全问题,基本的waf防护是必须要有的。
通过对市面一些waf防护的产品对比来看,公有云的费用还是很高的,起步就是上千块钱一个月的价格。
可能大部分小站长的服务器一年都不到一千块钱,这样的防护价格是很难接受的。
宝塔面板官方也提供waf安全防护插件,如果不差钱的话,这个还是不错的选择,门槛低,上手快。
如果口袋紧张的话,宝塔还有一个隐藏的选择,就是手动打开ngx_lua_waf防护功能,一样可以达到防护作用,具体操作流程如下:
1、进入宝塔面板,打开 软件管理 > Nginx > 设置 > 配置修改;
2、找到大约在第 13 行的 #include luawaf.conf;,去掉前面的 # 符号(“#”代表注释),保存并重启 Nginx。
3、恭喜你,已经成功开启了防火墙!
这时候,我们来拼接一个可疑的参数,访问看看效果:
如果出现上图提示,说明已经正确设置!
默认的配置效果已经能满足基础的防护功能了,无需做更多配置了,如果要查看拦截记录,可访问:/www/wwwlogs/waf目录查看即可。
如果你想做其他更高级的配置,可参见:/www/server/nginx/waf 目录,里面的 config.lua 文件就是防火墙的配置文件。每一项的具体含义如下所示:
RulePath = "/www/server/panel/vhost/wafconf/" --waf 详细规则存放目录(一般无需修改)
attacklog = "on" --是否开启攻击日志记录(on 代表开启,off 代表关闭。下同)
logdir = "/www/wwwlogs/waf/" --攻击日志文件存放目录(一般无需修改)
UrlDeny="on" --是否开启恶意 url 拦截
Redirect="on" --拦截后是否重定向
CookieMatch="off" --是否开启恶意 Cookie 拦截
postMatch="off" --是否开启 POST 攻击拦截
whiteModule="on" --是否开启 url 白名单
black_fileExt={"php","jsp"} --文件后缀名上传黑名单,如有多个则用英文逗号分隔。如:{"后缀名1","后缀名2","后缀名3"……}
ipWhitelist={"127.0.0.1"} --白名单 IP,如有多个则用英文逗号分隔。如:{"127.0.0.1","127.0.0.2","127.0.0.3"……} 下同
ipBlocklist={"1.0.0.1"} --黑名单 IP
CCDeny="off" --是否开启 CC 攻击拦截
CCrate="300/60" --CC 攻击拦截阈值,单位为秒。"300/60" 代表 60 秒内如果同一个 IP 访问了 300 次则拉黑
注:postMatch开关打开后,有可能出现文章发布等功能被拦截的情况
领取专属 10元无门槛券
私享最新 技术干货