Chinaunix首页 | 论坛 | 博客
  • 博客访问: 89789
  • 博文数量: 28
  • 博客积分: 1401
  • 博客等级: 上尉
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-22 20:40
文章分类

全部博文(28)

文章存档

2011年(1)

2009年(1)

2008年(26)

我的朋友

分类: 网络与安全

2008-11-13 23:47:38

Variables
    以下都是ModSecurity 2.x中支持的变量

ARGS
    ARGS是一个集合,可以作为静态参数(以名称匹配论点)方式或以正则表达式(以正则表达式匹配的所有匹配的论点名称)方式用于它自身(意思为POST负载中的所有论点),

    一些变量是事实上的集合,在运行时可以扩展更多的变量,下述例子会测试所有的请求论点。

SecRule ARGS dirty
    不过有些时候你只想看看集合的一部分,可以通过selection操作(colon)得到完美的帮助,下述例子仅提供查看名为p的变量(值得注意的是,通常行情况下,请求可以包含多个同名的变量)
SecRule ARGS:p dirty

    它也可以指定排除方式,下面的例子将仔细检查所有的请求参数是否有单词dirty,除了名字为z的参数(再则,z参数可以为0个,也可以是多个)
SecRule ARGS|!ARGS:z dirty

    这儿用了一个特殊的操作符,允许你统计一个集合中有多少个变量。如果一个请求中使用了0个以上的参数,下面的规则就会有效果(暂时忽视了第二个参数)。
SecRule &ARGS !^0$

    还有些时候你需要查看一个参数数组,每个名字只有稍微不同,这种情况下,你可以为集合操作符自己指定一个正则表达式,下面的规则就是查阅所有以id_打头的参数名字。
SecRule ARGS:/^id_/ dirty

注意:
    如果参数p不存在,则使用ARGS:p不会对操作符调用起到任何作用。

    在ModSecurity 1.x时,ARGS变量代表 QUERY_STRING + POST_PAYLOAD,但是现在已经扩展成独立的变量了。


ARGS_COMBINED_SIZE
    此变量相比apache的LimitRequest指令允许你更有针对性的设置Arguments的总大小。如你可以创建一条规则确保参数数据的部大小小于一个特定的阈值(帮助防止缓存溢出问题)。例:如果参数的大小超过25个字符就阻断它。
SecRule REQUEST_FILENAME "^/cgi-bin/login\.php" \
    "chain,log,deny,phase:2,t:none,t:lowercase,t:normalisePath"
SecRule ARGS_COMBINED_SIZE "@gt 25"


ARGS_NAMES
    是参数名的集合,你可以搜索你想阻断的特定的参数名,在一个积极策略情况下,你也可以仅仅使用白名单(使用!可以反转规则)来审计参数名。例:下例规则仅允许规则名为p和a的两个参数,如果有其他参数名字在其中,就会被阻断。
SecRule REQUEST_FILENAME "/index.php" \
    "chain,log,deny,status:403,phase:2,t:none,t:lowercase,t:normalisePath"
SecRule ARGS_NAMES "!^(p|a)$" "t:none,t:lowercase"


ARGS_GET
ARGS_GET类似于ARGS,但仅针对于查询字符串中包含的参数。


ARGS_GET_NAMES
ARGS_GET_NAMES类似于ARGS_NAMES,但仅针对于查询字符串中包含的参数。


ARGS_POST
ARGS_POST类似于ARGS,但仅针对于POST字符串中包含的参数。


ARGS_POST_NAMES
ARGS_POST_NAMES类似于ARGS_NAMES,但仅针对于POST字符串中包含的参数。


AUTH_TYPE
    这个变量保存认证方法用于验证一个用户,例:
注意
    这个数据在使用非本地认证的代理模式部署时不可用,在代理模式部署下,你需要检查REQUEST_HEADERS认证头。


ENV
    是个集合,规则一个单独的参数(在colon之后),ENV变量通过setenv设置,不提供CGI环境变量的访问,例如:
SecRule REQUEST_FILENAME "printenv" pass,setenv:tag=suspicious
SecRule ENV:tag "suspicious"

阅读(2165) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~