钧言极客钧言极客

不因何事去制作
只因兴趣而创造

Liunx 宝塔6.x解锁nginx隐藏的waf防火墙插件

宝塔面板在5.9版本,自带Nginx防火墙过滤功能。可以对url post get等参数进行安全过滤,可以挡住大量的日常漏洞扫描,比如针对织梦的SQL注入漏洞扫描,非法写入漏洞扫描、屏蔽常见的扫描黑客工具等。这对初级用户来说,这非常重要,可以简单防御一些扫描和攻击等操作!

但是到了6.x版本后,宝塔可能为了推广自家的收费版增强版防火墙,取消了免费版的过滤器的设置入口!不过不用太担心,宝塔官方尚没有完全删除该功能,这是隐藏了开启入口。

宝塔6.x开启waf防火墙方法
  • 进入宝塔面板,打开软件管理 > Nginx > 设置 > 配置修改
  • 找到 #include.luawaf.conf; ,大概在17行 去掉前面的 # ,保存

Waf.png

  • 修改防火墙配置:/www/server/nginx/waf/config.lua
postMatch="off" 中的 off 改为 on
CookieMatch="off" 中的 off 改为 on
  • 重启Nginx,使配置生效

Nginx.png

  • 测试是否生效,可以试着访问 http://你的网址/?id=../etc/passwd 页面弹出截拦页面

截拦页面.png

WAF配置文件说明
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    --白名单网址
未经允许不得转载:钧言极客 » Liunx 宝塔6.x解锁nginx隐藏的waf防火墙插件

评论 抢沙发