Linux 宝塔面板免费版开启 waf 防火墙

宝塔面板在 6.x 之前的版本中自带了 Nginx 防火墙功能(Nginx管理 > 过滤器),但是到了6.x 之后,为了推收费版的防火墙插件,宝塔官方就把这个免费的防火墙入口给隐藏了。这就引起了不少免费用户的高度不适,于是今天,我们就来说说如何开启这个隐藏的 Nginx 防火墙!

警告:以下内容在改动前一定要备份原文件!否则……

1、进入宝塔面板,打开 软件管理 > Nginx > 设置 > 配置修改

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

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

那么问题来了:该怎么自定义这个防火墙的防护规则呢?别急,请跟我一起来!

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

Shell

  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 项对应的文件夹里存放的是具体的拦截规则。打开这个文件夹,可以看到里面有一些无后缀名的规则文件。其中每一个文件的作用如下:

Shell

  1. args --GET 参数拦截规则
  2. blockip --无作用
  3. cookie --Cookie 拦截规则
  4. denycc --无作用
  5. post --POST 参数拦截规则
  6. returnhtml --被拦截后的提示页面(HTML
  7. url --url 拦截规则
  8. user-agent --UA 拦截规则
  9. whiteip --无作用
  10. whiteurl --白名单网址

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

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

【轉自孟坤博客/2019-1-6】

暂无评论

发表评论

相关推荐

wordpress文章部分内容加密功能的实现方法

目前wordpress文章的可见性可以设置全部公开,也可以设置密码保护。但是如果是想实现文章的一部分内容加密,需要输入密码才能全部可见的话又如何实现呢? 最简单的方法莫过于使用短代码,网上很多要求关注公众号 ...

筹码力度副图及选股公式

副图指标 DRAWGBK(CLOSE>OPEN,RGB(40,40,40),RGB(40,40,40),1,2,1); NOTEXT箱底:LLV(MA((LOW+HIGH+CLOSE+OPEN)/4,6),88),COLORGREEN,LINETHICK2; X_1:=EMA((HIGH+LOW+CLOSE)/3*(HHV(HIGH,10)-CLOSE)/(HHV(HIG ...

通达信主力控盘主图指标源码

主力控盘主图指标 {阻力支撑线} V1:=ABS((2*CLOSE+HIGH+LOW)/4-EMA(CLOSE,20))/EMA(CLOSE,20); V2:=(1-7/100)*(DMA(CLOSE,V1)); V3:=(1+7/100)*(DMA(CLOSE,V1)); V5:=EMA((LOW+HIGH+CLOSE)/3,5); 支撑:REFDATE(V ...

小米ax3600官方固件安装adguardhome

小米ax3600路由器開啟SSH權限後就可以安裝插件了,目前使用最多的莫過於于shellclash+adguardhome,第一個shellclash安裝過於簡單,就一行代碼的事情,這裡就不過多贅述。adguardhome是一款非常好用的去廣告程序 ...