【问题标题】:WAF is blocking ASP.NET website due to Scriptresource.axd由于 Scriptresource.axd,WAF 正在阻止 ASP.NET 网站
【发布时间】:2019-02-11 18:51:11
【问题描述】:

带有 Ajax 控制工具包的 ASP.NET (Framework 3.5, IIS 8.5, windows server 2012R2) 被 WAF (Web Applications 防火墙)。以下是WAF的截图

这些是来自 WAF 的签名

我尝试在网页上禁用 ajax 组件,但仍然得到 同样的问题。

有什么建议吗??

【问题讨论】:

    标签: asp.net ajaxcontroltoolkit web-application-firewall


    【解决方案1】:

    许多托管公司使用 Plesk 控制面板,该面板默认实施 ModSecurity Web 应用程序防火墙 (WAF)。虽然您可以在 Plesk 上完全关闭 Web 应用程序防火墙 (WAF),但这不是一个好主意,因为 WAF 的目的是帮助保护您的网站免受各种攻击。相反,只关闭导致问题的特定规则 ID。

    在这种情况下,WAF 是 AJAX 调用所必需的块 .axd 文件。因此,您需要在您的网站上允许 .axd 文件,即“Scriptresource.axd”和“WebResource.axd”。

    1. 通过打开 Plesk WAF 页面上的“ModSecurity 日志文件”来识别违反的特定规则 ID。

    2. 在日志文件中搜索 403 Access Denied 消息,然后查找类似于 [id "942440"] 的子字符串。这是被违反的规则 ID。对于 ModSecurity 2.9,942440 规则是阻止 .axd 文件的规则。

    3. 通过在 Plesk WAF 页面的“关闭安全规则”部分中键入 ID 号,关闭适用于此问题的“安全规则”。在本例中,您只需在文本框中键入数字“920440”。

    【讨论】:

      【解决方案2】:

      它引用了一个评级为“HIGH”的 ASP.NET 填充攻击向量。根据您的 WAF,这可能是阻止您的应用程序的预构建签名,并且可能与 Ajax 控件没有直接关系。

      CVE-2010-3332

      有几条路线可供选择:

      1. 确定您是否确实在解密期间暴露了敏感的 IIS 错误代码并在代码中解析。这是一个旧的 CVE,所以最新的 ASP.NET 将减轻它所能做的。其余的由开发者决定。
      2. 验证您的系统是最新的补丁(ASP 更新、Windows 更新、任何更新)。 Microsoft 漏洞已在补丁 MS10-070 中修复。
      3. 如果这实际上是一个真正的误报,则需要训练 WAF 以将此代码和应用程​​序行为视为可接受的。如果您已用尽代码和修补程序并确定这不是导致签名块的 CVE,这是最后的手段。

      Web 应用程序防火墙与传统防火墙(或 NG)的不同之处在于,它们需要针对特定​​应用程序进行定制才能正常工作。这很痛苦,但需要正确保护单个应用程序。

      您的 WAF 应该能够在学习透明模式下运行,以了解可接受的行为并围绕默认应用程序行为创建策略。学习过程完成后,您可以打开强制行为并警告错误。然后修复 WAF 或应用程序中的错误。一旦完成,您就可以强制执行并阻止错误。如何实现这一点取决于 WAF 供应商。

      由于这是一个 CVE 签名块,您可能需要更深入地了解 .Net 如何处理 URL。

      【讨论】:

        猜你喜欢
        • 2020-03-13
        • 2021-01-01
        • 1970-01-01
        • 2018-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多