详细内容
ModSecurity for Apache2[四十三]
发布日期:2010-07-22     点击:1895     字体:[ ]
REMOTE_PORT
这个变量保存客户端连接Web服务器的源端口。例如在下面这个例子里,我们正检查REMOTE_PORT是否小于1024,如果是那么即表明这个用户是特权用户。


SecRule REMOTE_PORT "@lt 1024" phase:1,log,pass,setenv:remote_port=privileged
 
 
REMOTE_USER
这个变量保存的是授权用户的用户名。如果没有密码(基本|摘要)访问控制措施,那么,这个变量将是空的。例如:


SecRule REMOTE_USER "admin"
 

注意:

此数据在代理模式不可用因为不是本地授权。

REQBODY_PROCESSOR
内置处理器是URLLENCODED,MULTIPART和XML。例如:


SecRule REQBODY_PROCESSOR "^XML$ chain
SecRule XML "@validateDTD /opt/apache-frontend/conf/xml.dtd"
 

REQBODY_PROCESSOR_ERROR
可选值是0(没有错误)或1(错误)。当不能恰当地解析一个请求时,这个变量将由请求体处理器设置(通常是multipart/request-data解析器或 XML解析器)。

例如:

 
SecRule REQBODY_PROCESSOR_ERROR "@eq 1" deny,phase:2
 


注意
你的策略必须有一个规则在第二阶段开始检查REQBODY_PROCESSOR_ERROR。不这样做将开启阻抗不匹配攻击的大门,例如,一个加载不能被ModSecurity解析但能被其他更宽泛的解析器解析。如果你的策略设定拦截,那么当检测到错误你应该拒绝该请求。在只读模式运行时当请求体处理失败你应该提高警惕。

用户评论
昵称 
内容  *
验证码   
   
Copyright © 2010 zdbase.com All Rights Reserved. 苏ICP备15039389号 可人软件设计