owasp规则的语法错误

时间:2015-02-06 22:05:03

标签: apache syntax mod-security

编辑:我的最后一步是删除空格和其他一些修改。仍然没有结果

我为modsecurity-crs规则创建了一个whitelist.conf。

我把那个简单的代码

<LocationMatch "/"> </LocationMatch>

结果是

  

httpd:/usr/local/apache/conf/httpd.conf第420行的语法错误:/usr/local/apache/conf.d/mod_security.conf第14行的语法错误:第1行语法错误/usr/local/apache/modsecurity-crs/activated_rules/whitelist.conf:/usr/local/apache/modsecurity-crs/activated_rules/whitelist.conf:1:未关闭。                                                              [FAILED]

怎么会出现语法错误? 我真的很喜欢那个。

注意:如果我把一个空的失败,不要fai和obviosly什么也不做。 如果失败的放置</LocationMatch>未检测到<LocationMatch>开启标记。

似乎完全不承认</LocationMatch>。 这里的示例https://wordpress.org/support/topic/disable-mod-security

更新: 我真的认为捆绑(在一些主机包中我不会提及)CSR确实包含了一些错误,因为我使用它而根本没有修改它,所以,从一开始就出现了问题。在阅读之后没有任何内容使它成功,所以我只是放弃了主机软件提供的功能。我不会期望最新的CSR的奇怪行为,而不是自定义调整。感谢。

1 个答案:

答案 0 :(得分:3)

首先,您必须找到阻止您的脚本的规则。

您可以在文件&#34; modsec_audit.log&#34;上找到错误和规则ID。

记录触发ModSecurity事件(检测到的)或serer错误的所有请求(&#34; RelevantOnly&#34;)都会记录到此文件中。

此文件必须位于/usr/local/apache/logs/modsec_audit.log或/var/log/httpd/modsec_audit.log

打开文件:/usr/local/apache/modsecurity-crs/activated_rules/whitelist.conf

因此,您可以使用以下代码禁用该文件或文件的规则:

<LocationMatch "/patchtofile">
    SecRuleRemoveById 000000
</LocationMatch>

你必须替换patchtofile&gt;文件你在modsec_audit.log上有错误,你需要用你在日志文件上找到的规则ID替换000000。你必须为每个文件和你找到的错误。

您还可以禁用所需的整个目录的规则:

<LocationMatch "/patchtodir">
    SecRuleRemoveById 000000
</LocationMatch>

将patchtodir替换为目录补丁并替换规则Id