4

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 文件就是防火墙的配置文件。

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 次则拉黑

记得:将自己本地IP加到白名单里,不然会无法上传图片和修改CSS等;如:ipWhitelist={"127.0.0.1","127.0.0.2"}

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

转自:孟坤博客

欢迎评论