在 AWS WAF 中使用 Web ACL
本页介绍了什么是 Web 访问控制列表 (Web ACL) 及其工作方式。
Web ACL 可让您对受保护资源响应的所有 HTTP(S) Web 请求进行精细控制。您可以保护 Amazon CloudFront、Amazon API Gateway、应用程序负载均衡器 AWS AppSync、Amazon Cognito AWS App Runner 和 AWS Verified Access 资源。
您可以使用如下条件来允许或阻止请求:
-
请求的 IP 地址源
请求的源国家/地区
部分请求中的字符串匹配或正则表达式匹配
-
请求特定部分的大小
-
检测恶意 SQL 代码或脚本
您还可以针对这些条件的任何组合进行测试。您可以阻止或统计不仅满足指定条件,还在一分钟内超过指定请求数的 Web 请求。您可以使用逻辑运算符组合条件。您还可以根据请求运行验证码拼图和静默客户端会话质询。
在 AWS WAF 规则语句中,可以提供匹配条件和对匹配项采取的操作。您可以直接在 Web ACL 中定义规则语句,也可以在可重复使用的规则组(您在 Web ACL 中使用的)中进行定义。有关选项的完整列表,请参阅 在 AWS WAF 中使用规则语句 和 在 AWS WAF 中使用规则操作。
创建 Web ACL 时,您可以指定要使用它的资源类型。有关信息,请参阅在 AWS WAF 中创建 Web ACL。定义 Web ACL 后,您可以将其与资源相关联,以开始为资源提供保护。有关更多信息,请参阅 将 Web ACL 与 AWS 资源关联或取消关联。
注意
在某些情况下,AWS WAF 可能会遇到内部错误,该错误会延迟对关联 AWS 资源有关允许还是阻止请求的响应。在这些情况下,CloudFront 通常会允许请求或提供内容,而区域服务通常会拒绝请求并且不提供内容。
生产流量风险
在 Web ACL 中为生产流量部署更改之前,请在暂存或测试环境中对其进行测试和调整,直到您对流量可能产生的影响感到满意。然后,在启用之前,在计数模式下使用生产流量对更新后的规则进行测试和调整。有关操作指南,请参阅 测试和调整您的 AWS WAF 保护。
注意
在 Web ACL 中使用超过 1,500 个 WCU 所产生的成本超出了基本 Web ACL 的价格。有关更多信息,请参阅 了解 AWS WAF 中的 Web ACL 容量单位 (WCU) 和 AWS WAF 定价
更新期间暂时出现不一致
创建或更改 Web ACL 或其他 AWS WAF 资源时,更改只需很短的时间即可传播到存储资源的所有区域。传播时间可以从几秒钟到几分钟不等。
以下示例是更改传播过程中可能暂时出现的不一致:
创建 Web ACL 后,如果您尝试将其与资源关联,则可能会出现异常,指示 Web ACL 不可用。
将规则组添加到 Web ACL 后,新的规则组规则可能在某个使用 Web ACL 的区域生效,而在另一个区域不生效。
更改规则操作设置后,可能会在某些位置显示旧操作而在另一些位置显示新操作。
将 IP 地址添加到阻止规则中使用的 IP 集后,新地址可能会在一个区域中被阻止,而在另一个区域中仍然允许。