【问题标题】:Log4j Vulnerability (CVE-2021-44228) on Google Cloud Platform and PCFGoogle Cloud Platform 和 PCF 上的 Log4j 漏洞 (CVE-2021-44228)
【发布时间】:2022-01-17 03:54:10
【问题描述】:

目前已经发布了很多建议步骤,用于从依赖项中排除 log4j-core 库或根据 Spring Blog 升级到最新(version 2.15 以上)版本。是否有任何推荐的工具可用于保护部署在 Google App Engine 或 Pivotal Cloud Foundry (PCF) 中的 Spring 应用程序,以保护而不是修补它们以便重新部署?

另一个必要的问题是,如果我的应用程序(微服务 Spring 应用程序)依赖于另一个微服务并且该微服务已经使用易受攻击的 log4j-core 版本,它是否会使我的应用程序(微服务 Spring 应用程序)对其某些服务使用另一个微服务?

【问题讨论】:

    标签: spring-boot google-app-engine log4j pcf


    【解决方案1】:

    关于您的第一个问题,您可以设置一个环境变量以禁用 log4j 中的替换查找:

    LOG4J_FORMAT_MSG_NO_LOOKUPS=true
    

    请注意,这只适用于 log4j >= 2.10。

    我相信您可以在 PCF 中设置环境变量而无需重新部署服务(当然,需要重新启动),因此不需要新版本。请参阅:https://docs.pivotal.io/pivotalcf/2-3/devguide/deploy-apps/environment-variable.htmlhttps://cli.cloudfoundry.org/en-US/v6/set-env.html

    为了查看您的 spring-boot 应用程序是否容易受到攻击,您可以使用我为此目的创建的 spring-boot 测试:https://github.com/chilit-nl/log4shell-example - 您可以使用或不使用环境变量来测试您的应用程序,以看看它是否有任何影响(假设您的应用程序当前存在漏洞)。

    【讨论】:

    • 非常感谢,我会试一试并告诉你。
    • 非常感谢您的帮助和指导。它有帮助!
    【解决方案2】:

    您的第一个问题的简短答案是可能。您可以通过使用 WAF 中的规则丢弃 ${jndi://ldap 模式来保护您的应用程序/服务。但是,它有很多突变(base64 编码等),它不会是万无一失的。如果您担心依赖关系,您应该设置 JVM 参数并重新部署您的应用程序以防止查找作为解决方法。

    关于您的第二个问题 - 如果第二个微服务正在传递相同的输入并且它正在记录,那么答案是肯定的。

    【讨论】:

      猜你喜欢
      • 2022-01-16
      • 2022-01-15
      • 2022-01-18
      • 2022-01-17
      • 2022-01-17
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 2022-01-15
      相关资源
      最近更新 更多