对nginx-naxsi白名单规则详解

 更新时间:2019年08月30日 11:40:52   作者:qq_28710983  
今天小编就为大家分享一篇对nginx-naxsi白名单规则详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

白名单规则语法:

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-naxsi白名单规则详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解ngx_cache_purge _proxy_cache指令使用

    详解ngx_cache_purge _proxy_cache指令使用

    本文主要介绍了详解ngx_cache_purge _proxy_cache指令使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Nginx反代Mogilefs分布式储存示例详解

    Nginx反代Mogilefs分布式储存示例详解

    这篇文章主要给大家介绍了关于Nginx反代Mogilefs分布式储存的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Nginx限制IP访问某些页面的操作

    Nginx限制IP访问某些页面的操作

    这篇文章主要介绍了Nginx限制IP访问某些页面的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Nginx 禁止IP访问 只允许域名访问

    Nginx 禁止IP访问 只允许域名访问

    今天要在Nginx上设置禁止通过IP访问服务器,只能通过域名访问,这样做是为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,从网络上搜到以下解决方案
    2016-09-09
  • 一篇文章读懂nginx的gzip_static模块

    一篇文章读懂nginx的gzip_static模块

    gzip是针对于请求实时进行压缩,cpu开销大,gzip_static 完全可以在编译后使用压缩工具搞出来,下面这篇文章主要给大家介绍了如何通过一篇文章读懂nginx的gzip_static模块,需要的朋友可以参考下
    2022-05-05
  • 关于Nginx动静分离详解以及配置

    关于Nginx动静分离详解以及配置

    这篇文章主要介绍了关于Nginx动静分离详解以及配置,动静分离是通过中间件将动态请求和静态请求进行分离,分离资源,减少不必要的请求消耗,减少请求延时,需要的朋友可以参考下
    2023-04-04
  • 利用Nginx反向代理解决跨域问题详解

    利用Nginx反向代理解决跨域问题详解

    这篇文章主要介绍了利用Nginx反向代理解决跨域问题详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • nginx如何搭建前后端分离架构

    nginx如何搭建前后端分离架构

    本文介绍了如何使用Vue-cli搭建前端开发环境,并详细讲解了nginx、webpack-devserver和Postman的使用方法,此外,还介绍了API基本设计规范,包括HTTP状态码、数据格式和接口设计
    2025-01-01
  • Nginx中Location配置超详细讲解

    Nginx中Location配置超详细讲解

    最近一直在做location 配置,遇到优先级别问题(如果配置不当可能存在安全隐患哦),下面这篇文章主要给大家介绍了关于Nginx中Location配置的相关资料,需要的朋友可以参考下
    2023-01-01
  • Nginx安装及具体应用小结

    Nginx安装及具体应用小结

    Nginx 动静分离简单来说就是把动态请求跟静态请求分开,Nginx 处理静态请求,Tomcat处理动态请求,这篇文章主要介绍了Nginx安装及具体应用小结,需要的朋友可以参考下
    2024-02-02

最新评论