我已经安装了几个月的ModSecurity和Core OWASP规则集ver.2.2.5,但网站上的JSON端点最近停止响应,并且Apache日志获得以下内容:
[Tue Jul 21 10:41:12 2015] [错误] [client 194.54.11.146] ModSecurity: 警告。匹配" streq%{SESSION.IP_HASH}"反对" TX:ip_hash" 需要。 [文件 " /etc/modsecurity/activated_rules/modsecurity_crs_16_session_hijacking.conf"] [line" 35"] [id" 981059"] [msg"警告 - Sticky SessionID数据 已更改 - IP地址不匹配。"] [主机名" ************"] [uri " / api / campaigns / d3c735cb-0773-11e4-98bd-02f651afdab5"] [unique_id " Va4hyKwfKiYAAAYSLigAAAAJ"]
[Tue Jul 21 10:41:12 2015] [错误] [client 194.54.11.146] ModSecurity: 警告。匹配" streq%{SESSION.UA_HASH}"反对" TX:ua_hash" 需要。 [文件 " /etc/modsecurity/activated_rules/modsecurity_crs_16_session_hijacking.conf"] [line" 36"] [id" 981060"] [msg"警告 - Sticky SessionID数据 已更改 - 用户代理不匹配。"] [主机名" ************"] [uri " / api / campaigns / d3c735cb-0773-11e4-98bd-02f651afdab5"] [unique_id " Va4hyKwfKiYAAAYSLigAAAAJ"]
[Tue Jul 21 10:41:12 2015] [错误] [client 194.54.11.146] ModSecurity: 警告。运营商EQ在TX处匹配2:sticky_session_anomaly。 [文件 " /etc/modsecurity/activated_rules/modsecurity_crs_16_session_hijacking.conf"] [line" 37"] [id" 981061"] [msg"可能的会话劫持 - IP 地址和用户代理不匹配。"] [主机名" ************"] [uri " / api / campaigns / d3c735cb-0773-11e4-98bd-02f651afdab5"] [unique_id " Va4hyKwfKiYAAAYSLigAAAAJ"]
[Tue Jul 21 10:41:12 2015] [错误] [client 194.54.11.146] ModSecurity: 警告。匹配" rx ^%{tx.allowed_request_content_type} $"反对 " TX:0"需要。 [文件 " /etc/modsecurity/activated_rules/modsecurity_crs_30_http_policy.conf"] [line" 64"] [id" 960010"] [msg"不允许请求内容类型 policy"] [data" application / json"] [severity" WARNING"] [tag " POLICY / ENCODING_NOT_ALLOWED"] [tag" WASCTC / WASC-20"] [tag " OWASP_TOP_10 / A1"] [tag" OWASP_AppSensor / EE2"] [tag" PCI / 12.1"] [主机名" ************"] [uri " / api / campaigns / d3c735cb-0773-11e4-98bd-02f651afdab5"] [unique_id " Va4hyKwfKiYAAAYSLigAAAAJ"]
我是mod_security和OWASP规则的新手(我基本上遵循了指南here),但据我了解,规则得分,如果请求超过了阈值,则会对其进行核查。我认为这就是我在这里看到的。
最后一个是关注我的那个 - " application / json"当然应该被允许。从/etc/modsecurity/modsecurity_crs_10_setup.conf
看,我看到了:
setvar:'tx.allowed_request_content_type=application/x-www-form-urlencoded|multipart/form-data|text/xml|application/xml|application/x-amf'
我的问题是: 1.我可以在这里添加application / json以使错误消失吗? 这是正确的方法吗?
答案 0 :(得分:2)
是的你可以这样读:
setvar:'tx.allowed_request_content_type=application/x-www-form-urlencoded|multipart/form-data|text/xml|application/xml|application/x-amf|application/json'
是的,这是正确的方法。