宝塔面板新版本6.X开启隐藏的 waf nginx简易版防火墙的方法

这篇文章完全是偶然间生产出的 出于官方论坛上的一个提问

虽然互联网上很大大佬博客已经公开了这个方案 但是不知道的还是不知道 所以我发出来

以下全部照搬  我把废话剔除 只留着有用的 一针见血

默认的宝塔面板是安装了ngx_lua_waf模块(nginx简易版web防火墙)的,在5.9版本中面板集成了这个简易waf,所以我们可以在5.9版本的nginx中看到过滤器这个功能,并且可以设置。可惜在新版本 6.X版本中,宝塔面板阉割了这个好用的过滤器。但是宝塔面板还是编译了ngx_lua_waf模块,今天研究下 如何在宝塔面板6.X中开启隐藏的nginx防火墙。 本文系精华博文

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

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

其实到这里已经开启了 具体的访问一个有问题的链接 出现拦截说明开启成功 下面还需要配置 具体就一个文件 里面很多参数

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

  1. RulePath = “/www/server/panel/vhost/wafconf/” waf 详细规则存放目录(一般无需修改)

  2. attacklog = “on” –是否开启攻击日志记录(on 代表开启,off 代表关闭。下同)

  3. logdir = “/www/wwwlogs/waf/” –攻击日志文件存放目录(一般无需修改)

  4. UrlDeny=“on” –是否开启恶意 url 拦截

  5. Redirect=“on” –拦截后是否重定向

  6. CookieMatch=“off” –是否开启恶意 Cookie 拦截

  7. postMatch=“off” –是否开启 POST 攻击拦截

  8. whiteModule=“on” –是否开启 url 白名单

  9. black_fileExt={“php”,“jsp”} –文件后缀名上传黑名单,如有多个则用英文逗号分隔。如:{“后缀名1”,“后缀名2”,“后缀名3”……}

  10. ipWhitelist={“127.0.0.1”} –白名单 IP,如有多个则用英文逗号分隔。如:{“127.0.0.1”,“127.0.0.2”,“127.0.0.3”……} 下同

  11. ipBlocklist={“1.0.0.1”} –黑名单 IP

  12. CCDeny=“off” –是否开启 CC 攻击拦截

  13. CCrate=“300/60” CC 攻击拦截阈值,单位为秒。“300/60” 代表 60 秒内如果同一个 IP 访问了300 次则拉黑

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

  1. args GET 参数拦截规则

  2. blockip –无作用

  3. cookie Cookie 拦截规则

  4. denycc –无作用

  5. post POST 参数拦截规则

  6. returnhtml –被拦截后的提示页面(HTML

  7. url url 拦截规则

  8. useragent UA 拦截规则

  9. whiteip –无作用

  10. whiteurl –白名单网址

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

改完记得重启nginx

就这么多 自己看吧   更专业的自己搜索