AWS WAF 中的智能威胁缓解最佳实践 - AWS WAF、AWS Firewall Manager、AWS Shield Advanced 和 AWS Shield 网络安全分析器

介绍 AWS WAF 的全新控制台体验

现在,您可以使用更新后的体验访问控制台中任意位置的 AWS WAF 功能。有关更多详细信息,请参阅 使用更新的控制台体验

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 定价

  • 不要限制发送到反 DDoS 规则组的请求:当您将该规则组配置为监控所有未明确允许通过的 web 流量时,该规则组的运行效果最佳。将该规则组放置在您的 web ACL 中,使其仅在使用 Allow 规则操作的规则之后及所有其他规则之前进行评估。

  • 要获得分布式阻断服务(DDoS)防护,请使用反 DDoS 或 Shield Advanced 自动应用程序层 DDoS 缓解措施:其他智能威胁缓解规则组不提供 DDoS 保护。ACFP 可防止有人尝试在您的应用程序的注册页面上创建欺诈账户。ATP 可防止有人企图盗用您的登录页面。机器人控制功能侧重于使用令牌强制执行类似人类的访问模式,并对客户端会话进行动态速率限制。

    借助反 DDoS,您可以监控和控制 DDoS 攻击,从而实现快速响应和威胁缓解。配备自动应用程序层 DDoS 缓解功能的 Shield Advanced,可代表您创建、评估和部署自定义 AWS WAF 缓解,以自动响应检测到的 DDoS 攻击。

    有关 Shield Advanced 的更多信息,请参阅 AWS Shield Advanced 概述使用 AWS Shield Advanced 和 AWS WAF 保护应用程序层(第 7 层)

    有关分布式阻断服务(DDoS)防护的更多信息,请参阅 反 DDoS 规则组分布式阻断服务(DDoS)防护

  • 在正常 web 流量期间启用反 DDoS 规则组和机器人控制功能规则组的目标防护级别:这些规则类别需要一段时间来建立正常流量的基准。

    在正常 web 流量期间启用机器人控制功能规则组的目标保护级别:某些目标保护级别的规则需要一段时间来建立正常流量模式的基准,然后才能识别和响应不规则或恶意的流量模式。例如,TGT_ML_* 规则最长需要 24 小时才能预热。

    当您没有遇到攻击时,可以添加这些保护,让他们有时间确定基准,然后再期望他们做出适当的反应。如果您在攻击期间添加这些规则,则需在计数模式下启用反 DDoS 规则组。攻击消退后,由于攻击流量会增加偏差,因此建立基准的时间通常是正常所需时间的两倍到三倍。有关规则及其所需的任何预热时间的更多信息,请参阅 规则列表

  • 要获得分布式拒绝服务 (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 层)

  • 为反 DDoS 规则组建立基准时使用生产流量负载:常见做法是使用人工测试流量来测试其他规则组。但是,在测试和建立反 DDoS 规则组的基准时,建议您使用反映生产环境负载的流量流。在生产环境中启用规则组时,使用典型流量建立反 DDoS 基准是确保资源得到保护的最佳方式。

  • 调整和配置令牌处理:调整保护包(web ACL)的令牌处理以获得最佳用户体验。

  • 拒绝具有任意主机规格的请求:将您的受保护资源配置为要求 web 请求中的 Host 标头与目标资源匹配。您可以接受一个值或一组特定的值,例如 myExampleHost.comwww.myExampleHost.com,但不接受主机的任意值。

  • 对于作为 CloudFront 分配源的应用程序负载均衡器,请配置 CloudFront 和 AWS WAF,以进行适当的令牌处理:如果您将 保护包(web ACL)关联到应用程序负载均衡器,并将应用程序负载均衡器部署为 CloudFront 分配源,请参阅 源于 CloudFront 的应用程序负载均衡器的必需配置

  • 部署前进行测试和调整:在对保护包(web ACL)进行任何更改之前,请按照本指南中的测试和调整程序进行操作,以确保获得预期的行为。这对于这些付费功能特别重要。有关一般指导,请参阅 测试和调整您的 AWS WAF 保护。有关付费托管规则组的特定信息,请参阅 测试和部署 ACFP测试和部署 ATP测试和部署 AWS WAF 机器人控制功能