2021 年 12 月 10 日,Apache 软件基金会发布了 Apache Log4j 2.0-2.14 的安全公告。此漏洞非常严重,在 CVSS 3.1 评分量表上的评分为 10 分(满分 10 分)。
1. 总结
在2021年12月10日,在Apache软件基金会发布的版本2.15.0 Log4j的Java日志库,修复CVE-2021-44228,影响的Log4j 2.0-2.14一个远程执行代码漏洞。攻击者可以利用此漏洞通过提交自定义请求来指示受影响的系统下载并执行恶意负载。此漏洞非常严重,在 CVSS 3.1 评分量表上的评分为 10 分(满分 10 分)。
2. Cloudera如何应对此漏洞?
我们行业和开源社区的软件和服务使用 Log4j 来处理日志消息。Cloudera 的安全和工程团队已确定此 CVE 对我们产品套件的影响,并且 Cloudera 客户已通过 Cloudera 的技术支持公告 (TSB) 和My Cloudera支持案例收到详细的更新。
3. 哪些 Cloudera 产品和版本受到影响?
多个 Cloudera 产品和开源项目使用 Log4j 来处理日志消息。Cloudera 支持团队已通过详细的 TSB 向我们的 Cloudera 客户提供了受影响产品和版本的列表。如果您不是 Cloudera 的现有客户,请转到此处。
4. Cloudera客户需要做什么来缓解这种 CVE?
我们鼓励客户查看我们的 TSB 中的详细信息并立即应用变通方法。同时,客户应计划升级到即将发布的 Cloudera 软件版本,其中包含针对此 CVE 的修复程序。
了解此漏洞不仅限于 Cloudera 产品也很重要。此漏洞可能会影响底层基础架构软件以及客户在 Cloudera 产品之上运行的工作负载,例如 Spark 作业或 Flink 应用程序。我们建议客户评估其整个环境以使用 Log4j 并尽快对其进行修复。
5. 客户应该等待新的 Cloudera 版本还是使用建议的补救措施?
情况危急,漏洞利用和绕过开始在互联网上传播。除非您知道您的环境受到补偿性控制的全面保护,否则我们建议客户立即通过建议的补救措施解决这种情况,并计划升级到即将发布的软件版本。
请通过My Cloudera创建支持案例以获取任何进一步的问题或说明。
6. log4j2 CVE-2021-44228 中针对 CDH、HDP、HDF 和 CDP 私有云和数据服务的严重漏洞的解决方案
6.1. 总结
本文档适用于 CDH、HDP、HDF 和 CDP 私有云和数据服务。
6.2. 症状
Apache 安全团队发布了针对影响 Apache Log4j2 的 CVE-2021-44228 的安全公告。恶意用户可以利用此漏洞以运行受影响软件的用户或服务帐户身份运行任意代码。使用 log4j 版本 2.0 到 2.14.1 的软件产品受到影响,而 log4j 1.x 不受影响。Cloudera 正在为受影响的软件提供短期解决方法,并且正在创建包含此 CVE 修复程序的新版本。
6.3. 指令
6.3.1. 短期解决方案
6.3.1.1. 脚本下载地址
从此处的 GitHub 存储库下载所有文件- https://github.com/cloudera/cloudera-scripts-for-log4j
您必须在所有受影响的集群节点上运行以下脚本。
注意:应用短期解决方案后,如果添加节点,则需要在新节点上再次重新应用短期解决方案。
脚本:run_log4j_patcher.sh [cdp|cdh|hdp|hdf]
功能: run_log4j_patcher.sh脚本扫描目录中的 jar 文件,并从它找到的文件中删除 JndiLookup.class。不要在下载的目录中运行任何其他脚本——它们会被 run_log4j_patcher.sh 自动调用。
1) 在执行脚本之前停止生产集群中所有正在运行的作业。
2) 从 GitHub 存储库下载所有文件并复制到集群的所有节点。
3) 在集群的所有节点上以 root 身份运行脚本。
1) 脚本将采用 1 个强制参数 (cdh|cdp|hdp)
2) 该脚本采用 2 个可选参数:要扫描的基本目录和备份目录。两者的默认值分别是 /opt/cloudera 和 /opt/cloudera/log4shell-backup。这些默认值适用于 CM/CDH 6 和 CDP 7。 HDP将需要更新不同的文件夹。
4) 确保脚本输出的最后一行指示“已完成”以验证作业是否已成功完成。如果命令退出失败,脚本将失败。
5) 重新启动 Cloudera Manager Server、所有集群以及所有正在运行的作业和查询。
6.3.1.2. 用法:$PROG(子命令)[选项]
子命令:
· Help 打印此消息
· cdh 扫描一个 CDH 集群节点
· cdp 扫描一个 CDP 集群节点
· hdp 扫描一个 HDP 集群节点
· hdf 扫描一个 HDF 集群节点
选项(仅限cdh和 cdp 子命令):
l -t <targetdir> 覆盖目标目录(默认值:特定于发行版)
l -b <backupdir> 覆盖备份目录(默认值:/opt/cloudera/log4shell-backup)
环境变量(仅限cdh和 cdp 子命令):仅当您再次运行脚本并想要跳过已经完成的阶段时,才应使用 SKIP_* 环境变量。
l SKIP_JAR 如果非空,跳过扫描和修补 .jar 文件
l SKIP_TGZ 如果非空,跳过扫描和修补 .tar.gz 文件
l SKIP_HDFS* 如果非空,跳过扫描和修补 HDFS 中的 .tar.gz 文件
l RUN_SCAN 如果非-空,对丢失的易受攻击的文件运行最终扫描。
这可能需要几个小时。
注意:CDH/CDP 包:该脚本从/opt/cloudera 下已安装的所有 CDH/CDP 包中删除受影响的类。在安装新的 Parcel 或升级到不包含长期修复的较新版本的 CDH/CDP 之后,需要重新运行此脚本。
6.3.1.3. 从 Oozie 共享库(CDH 和 CDP)中删除受影响的类
该漏洞影响 Cloudera Manager 上传到 HDFS 中的客户端库。该脚本负责处理 Tez 和 MapReduce 库,但需要手动更新 Oozie 库。以下部分仅适用于 CDH 和 CDP 版本。
按照以下说明保护 Oozie 共享库:
1) 在受影响的集群上执行run_log4j_patcher.sh。
2) 导航到 Cloudera Manager > Oozie > Actions -> “Install Oozie ShareLib”以从 Cloudera Manager 重新上传 HDFS 中的 Oozie 库。
重要提示:在执行命令之前确保 Oozie 服务正在运行。
6.3.2. 从 Oozie 共享库 (HDP) 中删除受影响的类
运行以下命令来更新 Oozie 共享库:
su oozie kinit oozie /usr/hdp/current/oozie-server/bin/oozie-setup.sh sharelib create -fs hdfs://ns1 oozie admin -oozie http(s)://<oozie-host/loadbalancer>: 11(000|443)/oozie-sharelibupdate
6.3.3. 已知限制:
l 尚不支持不安全(不使用 Kerberos)的集群。
l 此短期修复尚不支持使用包而不是包的 CDH 集群。
7. CDH、HDP、HDF、CDP私有云产品列表及适用的短期解决方案
产品 |
短期解决方案 |
CDH, HDP, and HDF |
|
Hortonworks Data Platform (HDP) |
Yes |
Ambari |
Yes |
AM2CM Tool |
Yes |
SmartSense |
没影响 |
Data Platform Search |
Yes |
Cloudera Cybersecurity Platform |
研究正在进行中 |
Cloudera Enterprise |
Yes |
Cloudera Manager |
Yes |
Cloudera Data Science Workbench (CDSW) |
Yes |
Hortonworks Data Flow (HDF) |
Yes |
Streams Messaging Manager (SMM) for HDF and HDP |
Yes |
Streams Replication Manager (SRM) for HDF and HDP |
Yes |
Cloudera Edge Management (CEM) |
Yes |
Hortonworks DataPlane Platform |
没影响 |
Data Lifecycle Manager (DLM) |
没影响 |
Data Steward Studio (DSS) |
没影响 |
Data Analytics Studio (DAS) |
Yes |
Arcadia Enterprise |
Yes |
CDP Private Cloud |
|
CDP Private Cloud Base |
Yes |
Cloudera Manager |
Yes |
Cloudera Data Warehouse (CDW) |
Yes |
Cloudera Machine Learning (CML) |
Yes |
Cloudera Data Engineering (CDE) |
Yes |
Management Console |
Yes |
Workload XM |
没影响 |
Cloudera Flow Management (CFM) |
研究正在进行中 |
Cloudera Streaming Analytics (CSA) |
研究正在进行中 |
Cloudera Edge Management (CEM) |
Not Impacted |
Cloudera Stream Processing (CSP) |
研究正在进行中 |
CDS 3 Powered by Apache Spark |
研究正在进行中 |
CDS 3.2 for GPUs |
研究正在进行中 |
请回头参考这篇文章,因为它会随着新信息的出现而不断更新。
原文链接:https://blog.cloudera.com/cloudera-response-to-cve-2021-4428