You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Modsecurity DetectionOnly模式下识别将被拦截的可疑请求

解决ModSecurity DetectionOnly模式下识别潜在拦截请求的方法
  • 检查审计日志的规则匹配记录
    在DetectionOnly模式下,拦截类规则(比如OWASP CRS里的block规则)触发时,不会输出Access denied日志,但会保留规则的id、msg等核心信息。确保你的SecAuditLogParts配置包含E部分(记录规则匹配细节),示例配置:

    SecAuditLogParts ABCEFHJKZ
    

    之后在审计日志中搜索带有规则ID(如[id "942100"])和拦截类描述(如SQL Injection Detected)的条目,这些就是实际拦截模式下会被阻止的请求。

  • 把ModSecurity规则信息写入Nginx访问日志
    修改Nginx的日志格式,加入$modsecurity_rule_message变量,直接在访问日志中展示触发的规则内容。示例配置:

    log_format modsec_log '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$modsecurity_rule_message"';
    
    server {
        # 其他配置...
        access_log /var/log/nginx/modsec_access.log modsec_log;
    }
    

    配置完成后,所有触发拦截类规则的请求,都会在Nginx访问日志中显示对应的规则描述,直接筛选这些日志条目即可。

  • 利用异常分数标记潜在拦截请求(适用于OWASP CRS)
    如果使用OWASP核心规则集,可通过异常分数(ANOMALY_SCORE)判断请求是否会被拦截。添加自定义规则标记这类请求:

    SecRule TX:ANOMALY_SCORE "@gt 5" "phase:5,t:none,nolog,pass,setvar:tx.potential_block=1"
    

    这里的5是示例阈值(可根据你的CRS配置调整),之后在审计日志中检查是否存在[tx.potential_block "1"]的标记,即可识别会被拦截的请求。

内容的提问来源于stack exchange,提问作者sk2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 12:57:51