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

OWASP CRS 3.3.2规则920100触发CONNECT方法无效HTTP请求行告警如何解决

问题根因

CRS 3.3.2版本内置的920100规则(HTTP请求行合法性校验)的正则表达式存在设计缺陷:其中针对CONNECT方法的匹配分支仅支持IP格式的目标主机,未兼容域名形式的CONNECT目标,因此会对符合RFC规范的域名代理CONNECT请求产生误告警,该问题和你已经配置的允许CONNECT方法的参数无关。

解决方案

推荐方案:自定义白名单规则(不修改CRS原生规则,兼容后续版本升级)

在CRS配置加载链的自定义规则段(通常是crs-setup.conf之后,原生CRS规则加载之前的配置文件)添加如下规则,仅对符合RFC规范的合法CONNECT请求跳过920100规则校验:

# 放行合法域名格式的CONNECT请求,排除920100误报
SecRule REQUEST_METHOD "@streq CONNECT" \
    "id:10001,\
    phase:1,\
    pass,\
    nolog,\
    ctl:ruleRemoveById=920100,\
    chain"
    SecRule REQUEST_LINE "@rx ^CONNECT\s+[\w\-\.]+(:\d{1,5})?\s+HTTP/\d\.\d$" \
        "t:none"

如果需要进一步缩小白名单范围,比如只允许指定域名的CONNECT请求,可以在第二条链规则里添加域名匹配逻辑,避免白名单范围过大引入安全风险。

备选方案:修改原生920100规则的正则表达式

不推荐该方案,CRS版本升级时修改会被覆盖。操作方式为打开REQUEST-920-PROTOCOL-ENFORCEMENT.conf文件,找到920100规则的正则部分,将其中CONNECT对应的匹配分支:
connect (?:\d{1,3}\.){3}\d{1,3}\.?(?::\d+)?
修改为支持域名的格式:
connect (?:(?:\d{1,3}\.){3}\d{1,3}|[\w\-\.]+)(?::\d+)?
修改完成后重启httpd服务即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:54:02