在 AWS WAF 中配置保护 - AWS WAF、AWS Firewall Manager、AWS Shield Advanced 和 AWS Shield 网络安全分析器

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

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

在 AWS WAF 中配置保护

本节介绍保护包(web ACL)及其工作方式。

保护包(web ACL)可让您对受保护资源响应的所有 HTTP(S) web 请求进行精细控制。您可以保护 Amazon CloudFront、Amazon API Gateway、应用程序负载均衡器、AWS AppSync、Amazon Cognito、AWS App Runner、AWS Amplify、Amazon CloudWatch 和 AWS Verified Access 资源。

您可以使用如下条件来允许或阻止请求:

  • 请求的 IP 地址源

  • 请求的源国家/地区

  • 部分请求中的字符串匹配或正则表达式匹配

  • 请求特定部分的大小

  • 检测恶意 SQL 代码或脚本

您还可以针对这些条件的任何组合进行测试。您可以阻止或统计不仅满足指定条件,还在一分钟内超过指定请求数的 web 请求。您可以使用逻辑运算符组合条件。您还可以根据请求运行验证码拼图和静默客户端会话质询。

在 AWS WAF 规则语句中,可以提供匹配条件和对匹配项采取的操作。您可以直接在保护包(web ACL)中定义规则语句,也可以在可重复使用的规则组(您在保护包(web ACL)中使用的规则组)中进行定义。有关选项的完整列表,请参阅 在 AWS WAF 中使用规则语句在 AWS WAF 中使用规则操作

创建保护包(web ACL)时,您可以指定要使用它的资源类型。有关信息,请参阅 在 AWS WAF 中创建保护包(web ACL)。定义保护包(web ACL)后,您可以将其与资源相关联,以开始为资源提供保护。有关更多信息,请参阅 将保护与 AWS 资源关联或取消关联

注意

在某些情况下,AWS WAF 可能会遇到内部错误,该错误会延迟对关联 AWS 资源有关允许还是阻止请求的响应。在这些情况下,CloudFront 通常会允许请求或提供内容,而区域服务通常会拒绝请求并且不提供内容。

生产流量风险

在保护包(web ACL)中为生产流量部署更改之前,请在暂存或测试环境中对其进行测试和调整,直到您对流量可能产生的影响感到满意。然后,在启用之前,在计数模式下使用生产流量对更新后的规则进行测试和调整。有关指南,请参阅测试和调整您的 AWS WAF 保护

注意

在保护包(web ACL)中使用超过 1500 个 WCU 所产生的成本超出了基本保护包(web ACL)的价格。有关更多信息,请参阅 AWS WAF 中的 Web ACL 容量单位(WCU)数AWS WAF 定价

更新期间暂时出现不一致

创建或更改保护包(web ACL)或其他 AWS WAF 资源时,更改只需很短的时间即可传播到存储资源的所有区域。传播时间可以从几秒钟到几分钟不等。

以下示例是更改传播过程中可能暂时出现的不一致:

  • 创建保护包(web ACL)后,如果您尝试将其与资源关联,则可能会出现异常,指示保护包(web ACL)不可用。

  • 将规则组添加到保护包(web ACL)后,新的规则组规则可能在某个使用保护包(web ACL)的区域生效,而在另一个区域不生效。

  • 更改规则操作设置后,可能会在某些位置显示旧操作而在另一些位置显示新操作。

  • 将 IP 地址添加到阻止规则中使用的 IP 集后,新地址可能会在一个区域中被阻止,而在另一个区域中仍然允许。