如何检测 AWS 托管规则导致的误报并将其添加到安全列表?

上次更新时间:2020 年 6 月 11 日

AWS WAF 中的 AWS 托管规则 (AMR) 阻止了对我的应用程序的合法请求。如何检测 AMR 导致的误报并将其添加到安全列表?

解决方法

检测 AMR 导致的误报

  • 使用 curl。请务必将 [false positive] 替换为您的误报。响应是一个“403 禁止访问”错误。
$ curl -ikv http://example.com/[false positive]
  • 使用您的 Web 浏览器。例如,如果您要检查“example.com”域的误报“style==xxx”,则在 Web 浏览器中输入“example.com/style==xxx”。响应是一个“403 禁止访问”错误。
  • 在 AWS WAF 中查看您的采样请求。您也可使用 get-sampled-requests 命令来接收采样请求列表。在采样请求列表中检查您的误报。确保 Action Block
  • 检查您的 AWS WAF 日志以确认“terminatingRuleId”。有关更多详细信息,请检查日志的“terminatingRuleMatchDetails”部分。

将 AMR 导致的误报添加到安全列表

您可以使用以下两种方法将误报添加到安全列表:

  • 使用覆盖规则操作
  • 另外创建一个优先级更高的规则

要使用“覆盖规则操作”以允许合法的流量请求,请执行以下步骤:

  1. 打开 AWS WAF 控制台
  2. 选择您的 Web 访问控制列表 (Web ACL)。
  3. 选择规则选项卡。
  4. 选择正在阻止合法请求的 AMR 规则组。
  5. 选择编辑
  6. 在 AMR 规则组中的规则列表中,找到您已确定为误报的规则。然后,选择覆盖规则操作
  7. 选择保存规则

要另外创建一个优先级比触发误报的 AMR 更高的规则(称为“排除规则”),请执行以下步骤:

  1. 打开 AWS WAF 控制台
  2. 选择您的 Web 访问控制列表 (Web ACL)。
  3. 选择规则选项卡。
  4. 选择添加规则,然后选择添加我自己的规则和规则组
  5. 填写相关的字段,从而创建一个允许您的误报的规则。
  6. 选择保存规则
  7. 设置规则优先级,使新规则的优先级高于触发误报的 AMR。然后选择保存

现在,新的排除规则将会允许该流量请求。您可以通过检查您的采样请求或 AWS WAF 日志来确认这一点。有关如何检查这些请求的步骤,请参阅“检测 AMR 导致的误报”第 3 步和第 4 步。

注意:
建议首先在开发环境中测试排除规则,以确保其运行符合预期,然后才在生产环境中实施这些排除规则。


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?