在Apache的Modsecurity中通过ID禁用规则

时间:2018-07-17 10:27:43

标签: apache ubuntu-16.04 mod-security

我将ModSecurity用于Web服务器并正常工作。但是在某些情况下,它阻止并显示了Access Denied页。下面显示了读取日志文件后从中获取的不需要的规则ID。

950109 950901 958291 960024 973338 981172 981173 981231 981242 981243 981245 981246 981248 981257 981260 981318 981319 981320

有些文章说这些ID是frequent false positives。所以我想禁用这些ID。

2 个答案:

答案 0 :(得分:1)

这是一种有效的方法,但有点粗糙。 https://netnea.com/apache-tutorials上的教程介绍了详细信息。

此外,您使用的是核心规则集的过时版本。您应该去看看https://coreruleset.org。更新到CRS3,您90%的误报将消失。

答案 1 :(得分:0)

搜索后,我找到了禁用这些规则ID的解决方案。这就是我禁用这些ID的方式。

将此内容添加到/etc/apache2/mods-available/security2.conf

的末尾

<IfModule mod_security2.c> SecRuleRemoveById 950109 SecRuleRemoveById 950901 SecRuleRemoveById 958291 SecRuleRemoveById 960024 SecRuleRemoveById 973338 SecRuleRemoveById 981172 SecRuleRemoveById 981173 SecRuleRemoveById 981231 SecRuleRemoveById 981242 SecRuleRemoveById 981243 SecRuleRemoveById 981245 SecRuleRemoveById 981246 SecRuleRemoveById 981248 SecRuleRemoveById 981257 SecRuleRemoveById 981260 SecRuleRemoveById 981318 SecRuleRemoveById 981319 SecRuleRemoveById 981320 </IfModule>

然后重新启动apache。 service apache2 restart。现在可以正常工作了。

这也可以输入一行。

<IfModule mod_security2.c> SecRuleRemoveById 950109 950901 958291 960024 973338 981172 981173 981231 981242 981243 981245 981246 981248 981257 981260 981318 981319 981320 </IfModule>