【发布时间】:2012-02-21 14:14:07
【问题描述】:
我正在使用 mod_security 2.6.3,我希望能够根据规则严重性级别执行 shell 脚本。我正在使用核心规则集 (CRS),它在检测到攻击时将严重性级别设置为 2(表示“严重”)。
我想在严重性足够高时执行我的脚本。
我尝试使用SecDefaultAction设置,如:
SecDefaultAction "phase:2,log,deny,status:403,exec:/path/to/my/script"
但由于“执行”操作是“非破坏性”操作,因此无论触发关键规则还是非关键规则,它总是会被执行。
我可以浏览每个重要的 SecRule 并在其旁边添加“exec”,但这会很乏味(而且重复,而且丑陋)。
我想我可以这样做:
SecRule ENV:SEVERITY "@lt 4" "exec:/path/to/my/script"
但不知何故,它永远不会被执行,可能是因为关键规则有一个阻止或拒绝语句来停止规则处理(因为被认为是破坏性的)。
我也尝试过使用 CRS 异常评分功能,如下所示:
SecRule TX:ANOMALY_SCORE "@ge 4" "exec:/path/to/my/script"
但它仍然没有得到处理。 知道我该怎么做吗?
【问题讨论】:
标签: mod-security mod-security2