欢迎来到代码驿站!

Nginx

当前位置:首页 > 服务器 > Nginx

对nginx-naxsi白名单规则详解

时间:2020-11-12 07:58:55|栏目:Nginx|点击:

白名单规则语法:

BasicRule wl:ID [negative] [mz:[$URL:target_url]|[match_zone]|[$ARGS_VAR:varname]|[$BODY_VARS:varname]|[$HEADERS_VAR:varname]|[NAME]]

wl:ID (White List ID) 哪些拦截规则会进入白名单
wl:0 把所有拦截规则加入白名单
wl:42 把ID为42的拦截规则加入白名单
wl:42,41,43 把ID为42, 41和43的拦截规则加入白名单
wl:-42 把所有拦截规则加入白名单,除了ID为42的拦截规则

mz:(Match Zones)

ARGS GET的整个参数,如: foo=bar&in=%20
$ARGS_VAR GET参数的参数名, 如:foo=bar&in=%20中的foo和in
$ARGS_VAR_X 正则匹配的GET参数的参数名
HEADERS 整个HTTP协议头
$HEADERS_VAR HTTP协议头的名字
$HEADERS_VAR_X 正则匹配的HTTP协议头的名字
BODY POST的整个参数内容
$BODY_VAR POST参数的参数名
$BODY_VAR_X 正则匹配的POST参数的参数名
URL URL(?前的)
URL_X 正则匹配的URL(?前的)
FILE_EXT 文件名 (POST上传文件时上传的文件名)

白名单配置示例

以规则#1000为例:规则#1000是过滤包含select、update、delete、insert等SQL关键字的规则

规则 说明
BasicRule wl:1000; 在本子规则中完全禁用拦截规则#1000。因为没有指定区域,所以全部加入白名单。
BasicRule wl:1000 "mz:$ARGS_VAR:foo";

在全部GET参数名为foo的值中禁用拦截规则#1000

类似http://mike.hi-linux.com/?foo=select * from demo这样的请示就不会被过滤。

BasicRule wl:1000 "mz:$URL:/bar|ARGS";

在URL为/bar的GET请求中的参数禁用拦截规则#1000

以下类似请求,均不会过滤:

http://mike.hi-linux.com/bar?my=select * from demohttp://mike.hi-linux.com/bar?from=weibo

BasicRule wl:1000 "mz:ARGS|NAME";

在全部GET请求中对所有参数名(只是名,不包含参数值)中禁用拦截规则#1000

以下请求不会过滤:

http://mike.hi-linux.com/bar?from=weibo

以下请求会过滤:

http://mike.hi-linux.com/bar?foo=select

因为select属于参数值,不在白名单范围内。

BasicRule wl:0 "mz:$URL_X:^/upload/(.*).(.*)$|URL";

在全部请求中对符合^/upload/(.*).(.*)$正则规则的URL禁用全部拦截规则

类似http://mike.hi-linux.com/upload/select.db请求不会被过滤(原本会触发#1000拦截规则)。

实战用的白名单规则
# vi naxsi_BasicRule.conf
BasicRule wl:1010,1011 "mz:$ARGS_VAR:rd";
BasicRule wl:1015,1315 "mz:$HEADERS_VAR:cookie";

上一篇:Nginx中IF语句实现数学比较功能

栏    目:Nginx

下一篇:web压力测试工具_动力节点Java 学院整理

本文标题:对nginx-naxsi白名单规则详解

本文地址:http://www.codeinn.net/misctech/21627.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有