Nginx开启自带免费waf防火墙

CC攻击攻击者通过模拟大量用户访问,制造高并发请求,从而消耗掉服务器CPU、带宽等资源,最终导致服务器瘫痪,目标网站或应用无法正常提供服务,破坏性非常大。这点相信不少伙伴都深有体会。

宝塔面板在6.x版本之前的版本中自带了Nginx防火墙功能,到了6.x之后,为了推广收费版的防火墙插件,官方把这个免费的防火墙入口给隐藏了。不过,也可以开启。


大约在NGINX配制文件第17行左右

一、开启luawaf防火墙

http
{
include mime.types;
#include luawaf.conf;

去掉#include luawaf.conf的“#”号注释。

二、保存设置并重启 Nginx

三、重新加载nginx,即开启了WAF防火墙


四、配制WAF拦截规则

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

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

args –GET 参数拦截规则

blockip –无作用

cookie –Cookie拦截规则

denycc –无作用

post –POST 参数拦截规则

returnhtml –被拦截后的提示页面(HTML)

url –url 拦截规则

user-agent –UA 拦截规则

whiteip –无作用

whiteurl –白名单网址

五、完成上述waf防火墙拦截修改后,重启Nginx设置

注意事项:

1、文件中除 returnhtml(拦截提示页面)以外,其它的内容都是正则规则,除非对正则规则的写法比较熟悉,否则就不要随便更改。

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

至于第三方的免费防火墙插件,登陆面板安装就可以使用,你可以试试。这一种方式是开启被隐藏的nginx防火墙模块。


#现在前往

精选留言

Nginx,开启,自带,免费
sample
2021-02-04
写留言
签到
投稿
QQ咨询
返回顶部