我正在使用 Cloud Armor 部署 WAF,我意识到可以在“仅限预览”模式下创建规则,并且 Cloud Logging 中有 Cloud Armor 条目。
问题是,当我创建“仅限预览”规则并且该规则与某些请求匹配时,我无法在日志中区分与某些特定规则匹配的请求和/或正常的普通请求。它们看起来都差不多。
在这些情况下,当请求匹配特定规则时,是否有任何日志记录属性仅存在(或具有特定值)?因为我发现明确检查某些请求匹配的规则的唯一方法是取消选中“仅预览”标志,并且在测试时对生产不利。
我正在使用 Cloud Armor 部署 WAF,我意识到可以在“仅限预览”模式下创建规则,并且 Cloud Logging 中有 Cloud Armor 条目。
问题是,当我创建“仅限预览”规则并且该规则与某些请求匹配时,我无法在日志中区分与某些特定规则匹配的请求和/或正常的普通请求。它们看起来都差不多。
在这些情况下,当请求匹配特定规则时,是否有任何日志记录属性仅存在(或具有特定值)?因为我发现明确检查某些请求匹配的规则的唯一方法是取消选中“仅预览”标志,并且在测试时对生产不利。
当您将 Cloud Armor 中配置的规则设置为“预览”时,Cloud Logging 将记录该规则在启用后会执行的操作。
此 Cloud Logging 过滤器将向您显示被 Cloud Armor 拒绝的条目:
resource.type="http_load_balancer"
jsonPayload.statusDetails="denied_by_security_policy"
此 Cloud Logging 过滤器将向您显示 Cloud Armor 拒绝的条目:
resource.type="http_load_balancer"
jsonPayload.previewSecurityPolicy.outcome="DENY"
在 Cloud Logging 中,将 resource.type 设置为“http_load_balancer”并删除第二个过滤器行以查看所有条目。
展开其中一项:
寻找“jsonPayload.enforcedSecurityPolicy”。这是 Cloud Armor 政策。
寻找“jsonPayload.previewSecurityPolicy”。这提供了有关规则优先级的详细信息,如果规则不在预览中,它会告诉您规则和结果。
示例截图: