3

我正在使用具有最新核心规则的 mod_security。

每当我使用查询字符串时,它都会在我的所有页面上触发..即。

www.mypage.com/index.php?querystring=1

我收到警告说它超过了允许的最大争论数,但是基本配置将 max_numb_args 定义为 = 255,当然它不会超过。

任何想法为什么?

基本配置:

SecRuleEngine On
SecAuditEngine RelevantOnly
SecAuditLog /var/log/apache2/modsec_audit.log
SecDebugLog /var/log/apache2/modsec_debug_log
SecDebugLogLevel 3
SecDefaultAction "phase:2,pass,log,status:500"
SecRule REMOTE_ADDR "^127.0.0.1$" nolog ,allow
SecRequestBodyAccess On
SecResponseBodyAccess On
SecResponseBodyMimeType (null) text/html text/plain text/xml
SecResponseBodyLimit 2621440
SecServerSignature Apache
SecUploadDir /tmp
SecUploadKeepFiles Off
SecAuditLogParts ABIFHZ
SecArgumentSeparator "&"
SecCookieFormat 0
SecRequestBodyInMemoryLimit
/tmpData
SecTmpDir /tmp
SecAuditLogStorageDir /var/log/apache2/audit
SecResponseBodyLimitAction ProcessPartial
SecAction "phase:1,t:none,nolog,pass,setvar:tx.max_num_args=255"

触发规则:

# Maximum number of arguments in request limited  
SecRule &TX:MAX_NUM_ARGS "@eq 1" "chain,phase:2,t:none,pass,nolog,auditlog,msg:'Maximum number of arguments in request reached',id:'960335',severity:'4',rev:'2.0.7'"
    SecRule &ARGS "@gt %{tx.max_num_args}" "t:none,setvar:'tx.msg=%{rule.msg}',setvar:tx.anomaly_score=+%{tx.notice_anomaly_score},setvar:tx.policy_score=+%{tx.notice_anomaly_score},setvar:tx.%{rule.id}-POLICY/SIZE_LIMIT-%{matched_var_name}=%{matched_var}"

和日志输出:

--ad5dc005-C-- queryString=2 --ad5dc005-F-- HTTP/1.1 200 OK
X-Powered-By: PHP/5.3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no- store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: SESSION=ak19oq36gpi94rco2qbi6j2k20; 路径 =/
变化:接受编码
内容编码:gzip
内容长度:1272
保持活动:超时 = 15,最大 = 99
连接:保持活动
内容类型:文本/html;字符集=utf-8

--ad5dc005-H--
消息:操作员 GT 在 ARGS 匹配 0。[file "/etc/apache2/conf/modsecurity_crs/base_rules/modsecurity_crs_23_request_limits.conf"] [line "30"] [id "960335"] [rev "2.0.7"] [msg "Maximum number of arguments in request" ] [严重性“警告”]
消息:操作员 GE 在 TX:anomaly_score 匹配 0。[file "/etc/apache2/conf/modsecurity_crs/base_rules/modsecurity_crs_49_inbound_blocking.conf"] [line "18"] [msg "Inbound Anomaly Score Exceeded (Total Score: 5, SQLi=, XSS=): 参数的最大数量请求已达到”]
消息:警告。运营商 GE 在 TX:inbound_anomaly_score 匹配 0。[file "/etc/apache2/conf/modsecurity_crs/base_rules/modsecurity_crs_60_correlation.conf"] [line "35"] [msg "Inbound Anomaly Score Exceeded (Total Inbound Score: 5, SQLi=, XSS=): 最大参数数达到请求”]
Apache-Handler:application/x-httpd-php
秒表:1279667800315092 76979 (1546* 7522 72931)
生产者:ModSeurity for Apache/2.5.11 ( http://www.modsecurity.org/ );核心规则集/2.0.7。服务器:阿帕奇

4

1 回答 1

3

我使用的是来自 Ubuntu 的 lib .. 有 .11 版本。我卸载了它,从源代码 .12 版本编译,现在它还活着,又踢又叫!

最新的 CSR 规则需要 .12 版本。干杯。

于 2010-07-21T04:52:02.897 回答