我正在使用mod_security 2.6.3,我希望能够基于规则严重性级别执行shell脚本.我正在使用核心规则集(CRS),它在检测到攻击时将严重性级别设置为2(对于"严重").
我想在严重程度足够高时执行我的脚本.
我尝试使用该SecDefaultAction设置,例如:
SecDefaultAction "phase:2,log,deny,status:403,exec:/path/to/my/script"
Run Code Online (Sandbox Code Playgroud)
但是,由于'exec'动作是一种"非破坏性"动作,它总是会被执行,无论是关键规则还是非关键规则都是如此.
我可以通过每个批评SecRule并在它旁边添加"exec",但这将是乏味的(并且重复,丑陋).
我以为我可以这样做:
SecRule ENV:SEVERITY "@lt 4" "exec:/path/to/my/script"
Run Code Online (Sandbox Code Playgroud)
但不知怎的,它永远不会被执行,可能是因为关键规则有一个阻止或拒绝语句,它会停止规则处理(因为被认为具有破坏性).
我也尝试过使用CRS异常评分功能,如下所示:
SecRule TX:ANOMALY_SCORE "@ge 4" "exec:/path/to/my/script"
Run Code Online (Sandbox Code Playgroud)
但它仍然没有得到处理.有关如何做到这一点的任何想法?