默认的宝塔面板是安装了ngx_lua_waf模块的,在5.9版本中面板集成了这个简易waf,所以我们可以在5.9版本的nginx中看到过滤器这个功能,并且可以设置。

可惜在6.X版本中,宝塔面板阉割了很多功能,包括好用的过滤器,等等。但是宝塔面板还是编译了ngx_lua_waf模块,我们今天看看如何在宝塔面板6.X中开启隐藏的nginx防火墙。

第一:NGINX配置修改

1、打开 软件管理 > Nginx > 设置 > 配置修改

2、找到大约在第 13 行的 #include luawaf.conf;,去掉前面的 # 符号(“#”代表注释),保存并重启 Nginx。如图:

宝塔面板6.X开启隐藏的 waf nginx防火墙的方法-1

3、恭喜你,已经成功开启了防火墙!可以试着访问 http://你的网址/?id=../etc/passwd,页面会弹出拦截提示。

第二:配置规则

既然,已经开启了防火墙,那么规则在哪里?

打开面板的文件管理,进入 /www/server/nginx/waf 目录,里面的 config.lua 文件就是防火墙的配置文件。每一项的具体含义如下所示:

宝塔面板6.X开启隐藏的 waf nginx防火墙的方法-2

配置文件中,RulePath 项对应的文件夹里存放的是具体的拦截规则。打开这个文件夹,可以看到里面有一些无后缀名的规则文件。其中每一个文件的作用如下:

宝塔面板6.X开启隐藏的 waf nginx防火墙的方法-3

这些文件里,除了 returnhtml(拦截提示页面)以外,其它的内容都最好不要改动,除非你正则学的比较好……否则很容易改出问题来。如图:

宝塔面板6.X开启隐藏的 waf nginx防火墙的方法-4

如果改动了其中的内容,记得要重启 Nginx 才会生效哦!!!!

发表回复