使用前须知

众所周知,宝塔的nginx防火墙是付费的,但正如linux面板的nginx一样,宝塔其实内置了一套免费的lua防火墙,只是默认是关闭的,本文就是教你怎么开启它的。

部分Windows且使用nginx的用户,有使用免费WAF的需求,但现在的WAF类产品很少有针对Windows的nginx进行适配的,而宝塔官方WAF则需要付费,因此,本教程可解决此问题。

安装教程

1、下载lua防火墙配置文件并安装

下载地址:

下载后上传到宝塔nginx安装目录,并解压。

2.在宝塔安装目录下conf文件夹内新建luawaf.conf文件,并编辑文件为:

lua_package_path "/BtSoft/nginx/waf/?.lua";
lua_shared_dict limit 10m;
init_by_lua_file  /BtSoft/nginx/waf/init.lua; 
access_by_lua_file /BtSoft/nginx/waf/waf.lua;

保存。

3.找到nginx配置文件,找到#include luawaf.conf;删除前面的#号,保存。

重启nginx,在你的域名后面输入/?id=../etc/passwd ,如出现以下界面,代表lua防火墙已成功开启。

配置修改

lua防火墙可自行修改参数;

进入waf文件夹,里面的config.lua是防火墙的主配置参数:

RulePath = "C:/BtSoft/nginx/waf/wafconf/"   --waf 详细规则存放目录(一般无需修改,如路径不同,请修改为正确路径)
attacklog = "on"                                --是否开启攻击日志记录(on 代表开启,off 代表关闭。下同)
logdir = "C:/BtSoft/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 次则拉黑

在该目录下的wafconf目录下,可以看到具体的防护规则,如您不了解正则表达式,请不要随意修改这些文件,保持默认即可。

总结一些,通过这些步骤操作之后,我们就成功开启了nginx防火墙,在遇到渗透与扫描的时候,可以对黑客行为进行缓解。

网络安全无小事,特别是网络安全法和网站安全负责人负责制建立以后,每个人都要对网站安全负起责任来,单纯的使用防火墙、依靠安全软件堆积无法真正解决安全问题,人工加固,定期巡检,保持程序更新,及时修复安全漏洞才是关键。

常见问题

1.为什么没有拦截日志?
答:请手动在/BtSoft/wwwlogs/下创建waf文件夹。

2.误报怎么办?
答:查看拦截日志,找到误报的那一条,查看是哪条规则误报,删除那条规则即可。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。