本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
测试和部署Amazon WAF机器人控制
本节提供配置和测试的一般指导Amazon WAF为您的网站实现机器人控制。您选择执行的具体步骤将取决于您的需求、资源和收到的 Web 请求。
Amazon托管规则旨在保护您免受常见的 Web 威胁的攻击。根据文档使用时,Amazon托管规则组为您的应用程序添加了另一层安全措施。但是,Amazon托管规则组并非用于取代您的安全责任,这些责任由Amazon您选择的资源。请参阅责任共担模式
在为生产流量部署 Bot Control 实现之前,请在暂存或测试环境中对其进行测试和调整,直到您对流量的潜在影响感到满意。然后,在启用规则之前,使用生产流量在计数模式下测试和调整规则。
本指南适用于大致了解如何创建和管理的用户Amazon WAFWeb ACL、规则和规则组。这些主题已在本指南的前面章节中介绍。
配置和测试 Bot Control 实现
首先在测试环境中执行这些步骤,然后在生产环境中执行这些步骤。
-
添加 Bot Control 托管规则组
注意 使用此托管规则组时,您需要支付额外费用。有关更多信息,请参阅 Amazon WAF 定价
。 添加被管理的Amazon规则组
AWSManagedRulesBotControlRuleSet到新的或现有的 Web ACL 并对其进行配置,使其不会改变当前 Web ACL 的行为。-
添加托管规则组时,对其进行编辑,然后在Rule窗格,打开将所有规则操作设置为计数切换。使用此配置,Amazon WAF根据规则组中的所有规则评估请求,仅计算该结果的匹配次数,同时仍为请求添加标签。有关更多信息,请参阅 将规则操作设置为在规则组中计入。
这允许您监控 Bot Control 规则的影响,以确定是否要添加例外,例如内部用例的例外情况或所需机器人的例外。
-
放置规则组,以便在 Web ACL 中最后对其进行评估,优先级设置在数字上高于您已经使用的任何其他规则或规则组。有关更多信息,请参阅 Web ACL 中规则和规则组的处理顺序。
这样,您当前的流量处理就不会中断。例如,如果您有检测恶意流量(例如 SQL 注入或跨站脚本)的规则,它们将继续检测并记录这些流量。或者,如果您有允许已知非恶意流量的规则,则这些规则可以继续允许该流量,而不会被 Bot Control 托管规则组阻止。在测试和调整活动期间,您可以决定调整处理顺序。
-
-
为 Web ACL 启用采样、记录和指标
根据需要,为 Web ACL 配置日志记录,并启用采样和 Amazon CloudWatch指标。这允许您监控 Bot Control 托管规则组与流量的交互情况。
-
有关配置和使用日志记录的信息,请参阅记录 Web ACL 流量.
-
有关亚马逊的信息 CloudWatch 指标,请参阅通过Amazon 监控 CloudWatch.
-
有关 Web 请求采样的信息,请参阅查看 Web 请求示例.
-
-
将 WebACL 与资源关联起来
如果 Web ACL 尚未与资源关联,请将其关联。有关信息,请参阅将 Web ACL 与 Web ACL 关联或取消关联Amazon资源。
-
监控流量和机器人控制规则匹配情况
确保流量正在流动,并且 Bot Control 托管规则组规则正在为匹配的 Web 请求添加标签。您可以在日志中看到标签,也可以在亚马逊上查看机器人和标签指标 CloudWatch 指标。在日志中,您设置为计入规则组的规则显示在下方
excludedRules在里面ruleGroupList.注意 Bot Control 托管规则组使用来自的 IP 地址来验证机器人Amazon WAF. 如果您使用 Bot Control 并且已经验证了通过代理或负载均衡器路由的机器人,则可能需要使用自定义规则明确允许它们。有关如何创建自定义规则的信息,请参阅转发的 IP 地址. 有关如何使用规则自定义 Bot Control Web 请求处理的信息,请参阅下一步。
-
自定义 Bot Control 网络请求处理
根据需要,添加您自己的明确允许或阻止请求的规则,以更改 Bot Control 规则处理请求的方式。
如何执行此操作取决于您的用例,但以下是常见的解决方案:
-
明确允许使用您在 Bot Control 托管规则组之前添加的规则的请求。这样,允许的请求就永远不会到达规则组进行评估。这有助于控制使用 Bot Control 托管规则组的成本。
-
在 Bot Control 托管规则组语句中使用范围缩小语句从 Bot Control 评估中排除请求。其功能与前面的选项相同。它可能有助于控制使用 Bot Control 托管规则组的成本,因为与范围缩小语句不匹配的请求永远不会达到规则组的评估。有关向下作用域语句的信息,请参见范围缩小语句.
有关示例,请参阅 从机器人管理中排除 IP 范围 和 允许来自你控制的机器人的流量。
-
在请求处理中使用 Bot Control 标签来允许或阻止请求。在 Bot Control 托管规则组后添加标签匹配规则,从想要阻止的已标记请求中筛选出要允许的已标记请求。测试后,将相关的 Bot Control 规则保持在计数模式下,并在自定义规则中维护请求处理决策。有关标签匹配语句的信息,请参阅标签匹配规则声明.
有关示例,请参阅 屏蔽经过验证的机器人、允许特定的被屏蔽机器人 和 为被封禁的用户代理创建例外。
有关其他示例,请参阅 Amazon WAF机器人控制示例。
-
-
根据需要,启用 Bot Control 托管规则组设置
根据你的情况,你可能已经决定将一些机器人控制规则保留在计数模式下。对于您希望在规则组内配置时运行的规则,请启用常规规则配置。为此,请在规则的 Web ACL 规则组配置中禁用计数模式。
-
监控和调整
为确保 Web 请求按照您的意愿得到处理,请在启用您打算使用的机器人控制功能后密切监视您的流量。使用规则组的规则数覆盖和您自己的规则,根据需要调整行为。