我使用 AWS Firewall Manager 为我的网络访问控制列表 (Web ACL) 创建了 AWS WAF 策略。Web ACL 未正确关联到其资源,或者 Firewall Manager 策略处于不合规状态。
解决方法
Firewall Manager 中 AWS WAF 策略的 Web ACL 关联行为取决于以下设置:
- 如何配置自动修复
- Web ACL 是否已与您的范围内资源相关联
检查您的配置设置
要将 Web ACL 与您的范围内资源关联,请开启以下两项设置:
- 自动修复任何不合规的资源
- 将当前与范围内资源关联的 Web ACL 替换为使用此策略创建的 Web ACL
验证预期的 Web ACL 行为
当您关闭自动修复任何不合规的资源时,Web ACL 不会与范围内的资源关联。
当您仅启用自动修复任何不合规的资源时,Firewall Manager 会执行以下操作:
- 为策略范围内不合规的 AWS 账户创建 Web ACL。Web ACL 名称以 FMManagedWebACLV2 开头,并包含该策略定义的规则组。
- 将 Web ACL 与账户中所有尚未关联 Web ACL 的不合规资源进行关联。
当您同时启用自动修复和替换 Web ACL 时,Firewall Manager 会通过以下方式与 Web ACL 关联:
- 如果资源具有自定义的 AWS WAF Classic Web ACL,则 Firewall Manager Web ACL 会替换现有的 Web ACL。
- 对于具有自定义 AWS WAF Web ACL 的资源:如果该资源包含在 AWS WAF Classic 策略中,则 Firewall Manager Web ACL 不会替换现有的 Web ACL。如果该资源包含在 AWS WAF 策略中,则 Firewall Manager Web ACL 会替换现有的 Web ACL。
- Firewall Manager Web ACL 会替换资源上存在的 AWS WAF Web ACL 关联。这包括未启用自动缓解应用层时作为 Shield Advanced 策略的一部分关联的内容。
如果资源已启用 Shield Advanced 自动缓解应用层,则 Firewall Manager 无法替换包含 Shield 托管缓解规则组的现有 Web ACL。在这种情况下,Firewall Manager 会将该资源标记为不合规,并且在您禁用自动缓解应用层之前不会应用 AWS WAF 策略。
- Firewall Manager Web ACL 不会替换现有 Firewall Manager AWS WAF Classic 策略的 Web ACL。
- Firewall Manager Web ACL 不会替换现有 Firewall Manager AWS WAF 策略的 Web ACL。
要更改资源的策略,请检查 Firewall Manager Web ACL 是否会替换现有 Web ACL。如果不会替换现有 Web ACL,则必须先更新现有策略以排除该资源。
示例 1
您有适用于 AWS WAF Classic 的策略 A 和策略 B。两个策略都有资源。您有一个资源在策略 A 的范围内。您希望将其关联替换为策略 B 创建的 Web ACL。要替换关联,请编辑策略 A 的策略范围以排除该特定资源。排除该资源后,策略 A 会移除该 Web ACL 关联。如果该资源现在处于策略 B 的范围内,则策略 B 会将该资源与其 Web ACL 进行关联。
示例 2
您有适用于 AWS WAF 的策略 A 和策略 B。两个策略都有范围内的资源。为进行资源清理,您关闭了自动移除超出策略范围的资源保护。
会发生以下行为:
- 当资源超出策略范围时,策略 A 不会自动取消其创建的 Web ACL 与该资源的关联。
- 您创建了新的 AWS WAF 策略(策略 B),其中包含范围内的资源。新策略会替换之前的 AWS WAF 策略的 Web ACL。
- 您创建了新的 AWS WAF Classic 策略(策略 B),其中包含范围内的资源。新策略不会替换之前的 AWS WAF 策略的 Web ACL。
有关策略范围选项的更多信息,请参阅使用 AWS Firewall Manager 策略范围。
相关信息
为 AWS WAF Classic 创建 AWS Firewall Manager 策略
为 AWS WAF 创建 AWS Firewall Manager 策略
将自动应用层 DDoS 缓解与 Firewall Manager Shield Advanced 策略结合使用