本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS WAF 中的智能威胁缓解最佳实践
请遵循本节中的最佳实践,以最有效、最具成本效益的方式实施智能威胁缓解功能。
-
实施 JavaScript 和移动应用程序集成软件开发工具包 – 实施应用程序集成,以尽可能有效的方式启用全套 ACFP、ATP 或机器人控制功能。托管规则组使用软件开发工具包提供的令牌在会话级别将合法的客户端流量与不需要的流量区分开来。应用程序集成软件开发工具包可确保这些令牌始终可用。有关详细信息,请参阅:
使用集成在您的客户端中实施质询,对于 JavaScript,可以自定义向最终用户展示验证码拼图的方式。有关详细信息,请参阅中的客户端应用程序集成 AWS WAF。
如果您使用 JavaScript API 自定义验证码拼图,并且在 Web ACL 中的任何位置使用 CAPTCHA 规则操作,请按照客户端中处理 AWS WAF 验证码响应的指南进行操作,网址为 处理来自 AWS WAF 的验证码响应。本指南适用于使用该 CAPTCHA 操作的任何规则,包括 ACFP 托管规则组中的规则和机器人控制功能托管规则组的目标保护级别。
-
限制您发送到 ACFP、ATP 和机器人控制功能规则组的请求 – 使用智能威胁缓解 AWS 托管规则组会产生额外费用。ACFP 规则组检查向您指定的账户注册和创建端点发出的请求。ATP 规则组检查发往您指定的登录端点的请求。机器人控制功能规则组会在 Web ACL 评估中检查到达它的每个请求。
请考虑以下方法来减少对这些规则组的使用:
-
使用托管规则组语句中的范围缩小语句将请求排除在检查范围之外。您可以用任何可嵌套的语句来做到这一点。有关信息,请参阅在 AWS WAF 中使用范围缩小语句。
-
通过在规则组之前添加规则,将请求排除在检查范围之外。对于不能在范围缩小语句中使用的规则以及更复杂的情况(例如标签后进行标签匹配),您可能需要添加在规则组之前运行的规则。有关信息,请参阅 在 AWS WAF 中使用范围缩小语句 和 在 AWS WAF 中使用规则语句。
-
按照成本较低的规则运行规则组。如果您有其他标准 AWS WAF 规则出于任何原因阻止请求,请在这些付费规则组之前运行它们。有关规则和规则管理的更多信息,请参阅 在 AWS WAF 中使用规则语句。
-
如果您使用多个智能威胁缓解托管规则组,请按以下顺序运行这些规则组以降低成本:机器人控制功能、ATP、ACFP。
有关详细定价信息,请参阅 AWS WAF 定价
。 -
-
在正常 Web 流量期间启用机器人控制功能规则组的目标保护级别 – 某些目标保护级别的规则需要一段时间来建立正常流量模式的基准,然后才能识别和响应不规则或恶意的流量模式。例如,
TGT_ML_*
规则最长需要 24 小时才能预热。当您没有遇到攻击时,可以添加这些保护,让他们有时间确定基准,然后再期望他们对攻击做出适当的反应。如果您在攻击期间添加这些规则,则在攻击消退后,由于攻击流量会增加偏差,因此建立基准的时间通常是正常所需时间的两倍到三倍。有关规则及其所需的任何预热时间的更多信息,请参阅 规则列表。
-
要获得分布式拒绝服务 (DDoS) 防护,请使用 Shield Advanced 自动应用程序层 DDoS 缓解 – 智能威胁缓解规则组不提供 DDoS 保护。ACFP 可防止有人尝试在您的应用程序的注册页面上创建欺诈账户。ATP 可防止有人企图盗用您的登录页面。机器人控制功能侧重于使用令牌强制执行类似人类的访问模式,并对客户端会话进行动态速率限制。
当您使用启用了自动应用程序层 DDoS 缓解功能的 Shield Advanced 时,Shield Advanced 会通过代表您创建、评估和部署自定义 AWS WAF 缓解来自动响应检测到的 DDoS 攻击。有关 Shield Advanced 的更多信息,请参阅 AWS Shield Advanced 概述 和 使用 AWS Shield Advanced 和 AWS WAF 保护应用程序层(第 7 层)。
-
调整和配置令牌处理 – 调整 Web ACL 的令牌处理以获得最佳用户体验。
-
要降低运营成本并改善最终用户的体验,请将令牌管理免疫时间调整为安全要求允许的最长时间。这样可以最大限度地减少使用验证码拼图和静默质询。有关信息,请参阅在 AWS WAF 中设置时间戳过期和令牌免疫时间。
-
要在受保护的应用程序之间启用令牌共享,请为您的 Web ACL 配置令牌域列表。有关信息,请参阅在 AWS WAF 中指定令牌域和域列表。
-
-
拒绝具有任意主机规格的请求 – 将您的受保护资源配置为要求 Web 请求中的
Host
标头与目标资源匹配。您可以接受一个值或一组特定的值,例如myExampleHost.com
和www.myExampleHost.com
,但不接受主机的任意值。 -
对于作为 CloudFront 分配源的应用程序负载均衡器,请配置 CloudFront 和 AWS WAF,以进行适当的令牌处理 – 如果您将 Web ACL 关联到应用程序负载均衡器,并将应用程序负载均衡器部署为 CloudFront 分配源,请参阅 源于 CloudFront 的应用程序负载均衡器的必需配置。
-
部署前进行测试和调整 – 在对 Web ACL 进行任何更改之前,请按照本指南中的测试和调整程序进行操作,以确保获得预期的行为。这对于这些付费功能特别重要。有关一般指导,请参阅 测试和调整您的 AWS WAF 保护。有关付费托管规则组的特定信息,请参阅 测试和部署 ACFP、测试和部署 ATP 和 测试和部署 AWS WAF 机器人控制功能。