StreamNative Cloud 与 StreamNative Platform 针对 Log4j 漏洞解决方案

215 阅读3分钟

12 月 10 日(上周五),Apache 开源项目 Log4j 的远程代码执行漏洞细节被公开,由于 Log4j 的广泛使用,该漏洞一旦被攻击者利用会造成严重危害,包含 Apache Pulsar 在内的多个应用都受到该漏洞的影响。此漏洞被追踪为 CVE-2021-44228,也称为 Log4Shell。

StreamNative 和 Apache Pulsar 社区致力于保证用户的数据安全,我们正在努力确保该漏洞的尽快解决。在本文内,我们将为 StreamNative 产品的客户提供产品漏洞解决方案,并向 Apache Pulsar 社区用户分享开源版本的解决方案。(有关该漏洞的更多详细信息,请参阅 Log4j 社区博客。)

Apache Pulsar 社区用户解决方案

虽然此漏洞很严重,并且有可能导致远程代码执行 (RCE) 漏洞被利用,但目前 Pulsar 中尚未发现任何已知的会导致 RCE 的攻击向量。然而,例如环境变量的泄露等其他攻击也可能利用此漏洞对系统进行安全攻击。可以通过以下两种机制之一来缓解漏洞造成的风险:

  1. 将 Log4j 升级至 2.15.0 版本;
  2. 对于 Log4j 2.10.0 或更高版本,在 Log4j 配置中添加 formatMsgNoLookups

StreamNative 产品用户解决方案

对于 StreamNative 产品,您可以查看以下解决方案并采取对应措施。

StreamNative Cloud Hosted

我们已在太平洋时间 12 月 10 日晚上 8:00(北京时间 12 月 11 日上午 11:00)之前,通过配置 formatMsgNoLookups 属性缓解 StreamNative Cloud Hosted 中的所有集群。在本周内我们将升级所有集群使用 Log4j 2.15.0 版本。

如果您是 StreamNative Cloud Hosted 用户,无需手动采取任何措施。目前,未有任何证据表明使用此漏洞会暴露 StreamNative Cloud Hosted 客户数据。

StreamNative Cloud Managed

StreamNative Cloud Managed 集群中的缓解工作正在进行中。非特殊说明,则所有客户 Pulsar 集群都已经通过部署 formatMsgNoLookups 更改来缓解该漏洞。额外组件(例如 Pulsar Functions 和 StreamNative Console)的缓解工作正在进行中。我们正在优先解决具有公共端点的集群安全漏洞。截至此时,包括升级 Pulsar 来捆绑更新的 Log4j 2.15.0 版本等所有缓解措施已完成。

对于使用 Pulsar Functions 的客户,可能需要您进行一些操作来重新部署该功能。如有需要,StreamNative 团队会联系这些客户。如没有来自 StreamNative 的联系,则不需要其他操作。

目前,未有任何证据表明使用此漏洞会暴露 StreamNative Cloud Managed 客户数据。

提示:对于某些客户,此重新启动可能发生在预定的维护时段之外。

StreamNative Platform

我们建议 StreamNative Platform 客户将 StreamNative Platform 升级到 2.8.1.28 版本,可以通过覆盖所有使用 streamnative/sn-platform 镜像的镜像 tag 属性来完成。此版本包含 Log4j 升级后的 2.15.0 版本。

对此新镜像版本的默认 chart 更改将在 24 小时内完成部署。

如果您的生产环境不适合将其升级,还可以通过将 -Dlog4j2.formatMsgNoLookups=true 添加到 helm 值文件中 broker、BookKeeper、ZooKeeper 相关组件 configData 部分中的 PUSLAR_EXTRA_OPTS 来缓解该漏洞。

客户支持

对于 self-managed 类型的客户,唯一的方案是配置 formatMsgNoLookups 。有关如何添加该配置值的说明,请参阅 (Apache Pulsar 针对 Log4j2 漏洞 (CVE-2021-44228) 的解决方案)。

我们看到 Apache Pulsar 社区近期会加速发布包含升级依赖项的 Apache Pulsar 开源版本。

如果您对环境中的此漏洞利用或缓解有任何问题或疑虑,请联系 StreamNative 售后,我们将积极与您以最快的速度解决该问题。