【问题标题】:Cloud Armor logs aren't very clear when rule is set as "Preview only"当规则设置为“仅预览”时,Cloud Armor 日志不是很清楚
【发布时间】:2021-08-10 06:03:29
【问题描述】:

我正在使用 Cloud Armor 部署 WAF,我意识到可以在“仅限预览”模式下创建规则,并且 Cloud Logging 中有 Cloud Armor 条目。

问题是,当我创建“仅预览”规则并且该规则与某些请求匹配时,我无法在日志中区分与某些特定规则匹配的请求和/或正常的普通请求。它们看起来都差不多。

在这些情况下,当请求匹配特定规则时,是否有任何日志记录属性仅存在(或具有特定值)?因为我发现明确检查某些请求匹配的规则的唯一方法是取消选中“Preview only”标志,并且在测试时不适合生产。

【问题讨论】:

    标签: google-cloud-platform google-cloud-logging web-application-firewall google-cloud-armor


    【解决方案1】:

    当您将 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”。这提供了有关规则优先级的详细信息,如果该规则不在预览中,它会告诉您规则和结果。

    示例截图:

    【讨论】:

    • 谢谢,现在我明白了。你帮了我很大的忙,再次感谢。
    • @deniable_encryption - Cloud Armor 是一项功能强大的服务,易于部署和配置。
    • 有什么地方可以看到请求正文吗? Cloud Logging 只向我显示路径、用户代理、IP、引用者和类似的东西,我想看看正文。
    • @deniable_encryption - Cloud Logging 不记录请求正文。这将要求您将日志记录代码添加到您的应用程序中。
    • 非常感谢。就是这样了?除非我更改后端代码以显式记录每个请求,否则我没有其他方法可以查看 Cloud Armor 阻止的请求的正文?
    猜你喜欢
    • 2020-06-09
    • 2020-10-09
    • 2022-10-06
    • 1970-01-01
    • 2020-12-02
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 2015-06-10
    相关资源
    最近更新 更多