【问题标题】:Extra sensitive Mod Security rules giving 403 forbidden error额外敏感的 Mod 安全规则给出 403 禁止错误
【发布时间】:2015-11-12 16:24:45
【问题描述】:

我刚刚在我们的 Centos5 服务器上启用了 Mod Security,我们现在在 error_log 中得到以下内容:

[Thu Nov 12 16:20:19 2015] [error] [client 88.15.76.8] ModSecurity: Access denied with code 403 (phase 2). Pattern match "([\\\\~\\\\!\\\\@\\\\#\\\\$\\\\%\\\\^\\\\&\\\\*\\\\(\\\\)\\\\-\\\\+\\\\=\\\\{\\\\}\\\\[\\\\]\\\\|\\\\:\\\\;\\"\\\\'\\\\\\xc2\\xb4\\\\\\xe2\\x80\\x99\\\\\\xe2\\x80\\x98\\\\`\\\\<\\\\>].*){8,}" at REQUEST_COOKIES:_eventqueue. [file "/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line "169"] [id "981172"] [rev "2.2.5"] [msg "Restricted SQL Character Anomaly Detection Alert - Total # of special characters exceeded"] [data "}"] [hostname "www.mydomain.com"] [uri "/company/geodis-uk-limited/general-maintenance-assistant-1485.html"] [unique_id "UbGaGB-esj8AAAa98bEAAAAn"]

阻止这种情况发生的最好方法是什么?

【问题讨论】:

    标签: apache security mod-security


    【解决方案1】:

    ModSecurity 规则需要针对您的特定站点进行调整和调整,然后才能发挥作用。您安装的 OWASP 核心规则集非常有用,但会显示误报并阻止所有网站的合法流量,但最简单的网站除外。

    因此,首先您应该在DetectionOnly 模式下运行几个月,然后再开启完全阻止。在此期间,您应该定期检查警报并微调规则以解决任何误报。 DetectionOnly 模式通过在您的配置中使用以下命令启用(目前可能设置为 On 而不是 DetectionOnly):

    SecRuleEngine DetectionOnly
    

    现在来看看你的具体失败。这是由于规则 981172 阻止了任何带有 8 个或更多“特殊字符”的请求,因为它们通常是 SQL 注入攻击的经典示例(或者更具体地说是试图掩盖 SQL 注入攻击)。

    此规则已阻止 cookie _eventqueue。所以第一个问题是:你认识那个 cookie,它是否经常连续有超过 8 个特殊字符?即使对于合法流量,某些字段和 cookie 也会违反此规则。例如,当前规则不包括检查任何以 __utm 或 _pk_ref(由 Analytics 软件使用)开头的 cookie,因为它们经常错误地标记。

    假设这是合法流量,最简单的选择是通过添加此配置来关闭此字段的此规则:

    SecRuleUpdateTargetById 981172 !ARGS:'_eventqueue'
    

    请注意,此配置必须在配置中在它禁用的规则之后。 在定义规则之前可能需要其他表达此规则的方式。所以我通常会添加一个“0_exceptions_before.conf”文件和一个9999_exceptions_after.conf”文件,并将异常填写到这些文件中。

    添加这样的例外比在 modsecurity_crs_41_sql_injection_attacks.conf 文件中编辑实际规则本身要好得多,因为这样您就可以轻松地将规则升级到最新版本,同时仍然保留您的例外。

    谈到升级,我注意到您使用的是核心规则集的 2.2.5 版本,而 v2 系列中的最新版本是 2.2.9,因此如果重新开始,您可能应该升级到最新版本。 CRS 的第 3 版现在是首选版本,但它改变了很多东西(包括规则 ID),因此升级到它需要一些时间。你应该改用那个,但可能要先习惯 2.2.9,因为你已经开始了。

    ModSecurity 一开始可能会非常复杂。我强烈推荐由 ModSecurity 的原作者编写的ModSecurity Handbook。它有点过时了,但刚刚出版了第二版,让它再次更新。它有助于解释程序以及您需要调整它的方式和原因。如果您想尝试,第一章(关于安装)是免费的。该书还包含参考手册also available online for free。最后,mod-security-users 电子邮件组和owasp-modsecurity-core-rule-set 电子邮件组也是获得帮助的好地方,因为 StackOverflow 上关于该主题的内容并不多。

    【讨论】:

      猜你喜欢
      • 2020-01-10
      • 2013-08-29
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 2021-09-04
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      相关资源
      最近更新 更多