宝塔面板开启隐藏的 waf 防火墙的方法

时间:2021-05-02

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

在6.X版本中,宝塔面板还是编译了ngx_lua_waf模块,该如何在宝塔面板6.X中开启隐藏的nginx防火墙。

部分源代码:

  • http
  • {
  • includemime.types;
  • #includeluawaf.conf;
  • 对宝塔面板注释了#include luawaf.conf,只需要去掉#即可开启隐藏的防火墙。

    第一:NGINX配置修改

    1、打开(软件管理 > Nginx > 设置 > 配置修改) 2、在源码中找到如下内容:#include luawaf.conf;

    去掉前面的 # 符号(“#”代表注释),保存并重启 Nginx。如图:

    3、重新加载nginx,即可开启WAF防火墙。

    进行访问测试http://你的网址/?id=…/etc/passwd,页面会弹出拦截提示,如下图:

    第二:配置规则

    打开面板的文件管理,进入 /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次则拉黑

    配置文件中,RulePath 项对应的文件夹里存放的是具体的拦截规则。文件夹下有着相关的规则文件。作用解析如下:

    args --GET 参数拦截规则 blockip --无作用 cookie --Cookie拦截规则 denycc --无作用 post --POST 参数拦截规则 returnhtml --被拦截后的提示页面(HTML) url --url 拦截规则 user-agent --UA 拦截规则 whiteip --无作用 whiteurl --白名单网址

    文件中除 returnhtml(拦截提示页面)以外,其它的内容都是正则规则的,除非正则比较好,否则就不要随便更改。如图:

    修改内容必须,重新加载 Nginx。

    备注信息: 1、其实这个“免费”的防火墙就是大名鼎鼎的 ngx_lua_waf。非宝塔面板用户也可以自己动手安装。详情请参阅:https://github.com/loveshell/ngx_lua_waf

    2、宝塔面板那个收费的防火墙跟这个还是完全不一样的。功能上更加完善,使用起来更加方便。如果你有钱,也可以直接买个收费版~

    原文地址:https://blog.csdn.net/zhuxiongyin/article/details/98174377

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章