在 AWS WAF 中设置 Web ACL 默认操作 - AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced

在 AWS WAF 中设置 Web ACL 默认操作

本节介绍了 Web ACL 默认操作的工作方式。

当您创建和配置 Web ACL 时,必须设置 Web ACL 的默认操作。AWS WAF 将此操作应用于通过所有 Web ACL 规则评估但未应用终止操作的任何 Web 请求。终止操作会停止对请求的 Web ACL 评估,要么允许请求继续访问受保护的应用程序,要么将其阻止。有关规则操作的信息,请参阅 在 AWS WAF 中使用规则操作

Web ACL 默认操作必须确定 Web 请求的最终处置,因此这是一个终止操作:

  • Allow – 如果要允许大多数用户访问您的网站,但是阻止其请求源自指定 IP 地址或其请求表现为包含恶意 SQL 代码或指定值的攻击者进行访问,请选择 Allow 作为默认操作。然后,向 Web ACL 添加规则时,请添加标识并阻止要阻止的特定请求的规则。在此操作中,您可以在请求中插入自定义标头,然后再将其转发到受保护的资源。

  • Block – 如果要阻止大多数准用户访问您的网站,但是允许其请求源自指定 IP 地址或其请求包含指定值的用户进行访问,请选择 Block 作为默认操作。然后,向 Web ACL 添加规则时,请添加标识并允许要允许的特定请求的规则。默认情况下,对于 Block 操作,AWS 资源以 HTTP 403 (Forbidden) 状态代码进行响应,但您也可以自定义响应。

有关自定义请求和响应的信息,请参阅 在 AWS WAF 中添加自定义 Web 请求和响应

您自己的规则和规则组的配置部分取决于您是允许还是阻止大多数 Web 请求。例如,如果您希望允许大多数请求,应将 Web ACL 默认操作设置为 Allow,然后添加标识要阻止的 Web 请求的规则,例如:

  • 源自进行数量不合理的请求的 IP 地址的请求

  • 源自您不在其中开展业务或是频繁攻击源的国家/地区的请求

  • User-agent 标头中包含伪造值的请求

  • 表现为包含恶意 SQL 代码的请求

托管规则组规则通常使用 Block 操作,但并非所有规则都使用该操作。例如,某些用于机器人控制功能的规则使用 CAPTCHA 和 Challenge 操作设置。有关托管规则组的信息,请参阅在 AWS WAF 使用托管规则组