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

全部博文(28)

文章存档

2011年(1)

2009年(1)

2008年(26)

我的朋友

分类: 网络与安全

2008-11-02 23:49:03

SecDefaultAction
描述:定义匹配规则后的默认动作
语法:SecDefaultAction action1,action2,action3
示例:SecDefaultAction log,auditlog,deny,status:403,phase:2
阶段:Any
范围:Any
版本:2.0.0
备注:SecDefaultAction指令后的规则都继承这一设置,除非为某条规则指定了一个特定的动作,或者指定了新的SecDefaultAction。特别注意到,未经处理的disruptive动作是不允许的,但是在SecDefautlAction中一不小心就会继承了使用disruptive动作。

默认值勤是minimal(和以前的版本不同)
SecDefaultAction phase:2,log,auditlog,pass
注意:
SecDefaultAction必须指定一个disruptive动作和处理阶段,而且不能包含元数据动作。
警告:
SecDefaultAction不继承交叉配置的内容。(举个例子,这或许让你感到疑惑,请阅读ModSecurity Blog条目:http://blog.modsecurity.org/2008/07/modsecurity-tri.html)。


SecGeoLookupDb
描述:定义地理数据文件路径
语法:SecGeoLookupDb /path/to/db
示例:SecGeoLookupDb /usr/local/geo/data/GeoLiteCity.dat
阶段:N/A
范围:Any
版本:2.5.0
备注:从maxmind.com提取的免费数据文件


SecGuardianLog
描述:配置使用httpd-guardian脚本来监视拒绝服务攻击(DoS)的指令
语法:SecGuardianLog |/path/to/httpd-guardian
示例:SecGuardianLog |/usr/local/apache/bin/httpd-guardian
阶段:N/A
范围:Main
版本:2.0.0
备注:使用默认的httpd-guardian可以防止客户端在1分钟内请求120次或5分钟内请求360次。

从1.9版本后,ModSecurity支持一个新的指令,SecGuardianLog,设计此指令用于把所有允许数据通过管理日志功能发送到另一个程序。自从apache部署成典型的多进程方式,信息共享变得困难了,这一想法就是部署一个独立的外部进程使用状态机的方式去观察所有的请求,提供额外的保护。

随着ModSecurity发布,开发一个先进的外部保护工具将是一个重点。然而一个完整功能的工具已经可以做为apache httpd工具项目的一部分,工具名为httpd-guardian,它能用于防御DoS,使用黑名单列表(同一个项目中)和基于iptables(linux)或者基于pf(*BSD)的防火墙协同工作,动态的过滤黑名单中的恶意IP地址。也可以和SnortSam协同工作()。如果已经配置过httpd-guardian(具体介绍请查看源代码)你只需要在apache配置中添加一行就可以部署它:
SecGuardianLog |/path/to/httpd-guardian


SecMarker
描述:在规则集中增加一个固定规则marker,可用于skipAfter动作。SecMarker指令本质上是创建了一条规则,这条规则什么也不做,其目的只是占用一个ID号
语法:SecMarker ID
示例:SecMarker 9999
阶段:Any
范围:Any
版本:2.5.0
备注:None

SecRule REQUEST_URI "^/$" \
    "chain,t:none,t:urlDecode,t:lowercase,t:normalisePath,skipAfter:99"
SecRule REMOTE_ADDR "^127\.0\.0\.1$" "chain"
SecRule REQUEST_HEADERS:User-Agent \
    "^Apache \(internal dummy connection\)$" "t:none"  
SecRule &REQUEST_HEADERS:Host "@eq 0" \
    "deny,log,status:400,id:08,severity:4,msg:'Missing a Host Header'"
SecRule &REQUEST_HEADERS:Accept "@eq 0" \
    "log,deny,log,status:400,id:15,msg:'Request Missing an Accept Header'"

SecMarker 99

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