解决 vCenter Server 和 vCenter Cloud Gateway 中的 CVE-2021-44228 的变通办法说明 87081

 目的
CVE-2021-44228已被确定通过其附带的Apache Log4j开源组件影响vCenter Server 7.0.x,vCenter 6.7.x和vCenter 6.5.x。以下 VMware 安全通报 (VMSA) 中记录了此漏洞及其对 VMware 产品的影响,请先查看本文档,然后再继续操作:
 影响/风险
  • 在执行本知识库文章中的步骤之前,需要删除 VCHA。
  • 具有外部 PSC 的环境需要在 vCenter 和 PSC 设备上执行步骤。
 分辨率
本文档中描述的解决方法仅是临时解决方案。
应应用上述通报中记录的升级来修正 CVE-2021-44228(如果可用)。
 解决方法
要将 CVE-2021-44228 的变通办法应用于 vCenter Server 7.x、vCenter 6.7.x 和 vCenter 6.5.x,可在 vCenter 设备上更新变通办法部分。
注: 对于 vCenter 云网关 ,只需要执行 vMon 服务和分析服务的步骤。

 


单击此处查看 vCenter Server Appliance 7.0.x 变通办法

单击此处查看 vCenter Server Appliance 6.7.x 变通办法

警告:已确认 vCenter Server 6.7.x 的变通办法仅部分解决 CVE-2021-44228。请订阅此知识库,以便在有完整的解决方法可用时收到警报。


单击此处获取 vCenter Server Appliance 6.5.x 解决方法

警告:已确认 vCenter Server 6.5 的变通办法仅部分解决 CVE-2021-44228。请订阅此知识库,以便在有完整的解决方法可用时收到警报。


vCenter Server Appliance 7.0.x 变通办法
vMON Service

  1. 备份现有的 java-wrapper-vmon 文件
cp -rfp /usr/lib/vmware-vmon/java-wrapper-vmon /usr/lib/vmware-vmon/java-wrapper-vmon.bak
  1. 使用文本编辑器(如vi)更新 java-wrapper-vmon 文件
vi /usr/lib/vmware-vmon/java-wrapper-vmon
  1. 在文件的最底部,将最后一行替换为 2 个新行
根据环境中运行的 vCenter 版本执行此步骤编号"3"。
注意 :- 以下更新(在步骤 3 中提到)仅适用于下面列出的 vCenter 版本:-
  • vCenter 7.0 更新 3、3a
  • vCenter 7.0 Update 2, 2a, 2b, 2c, 2d
Original
exec $java_start_bin $jvm_dynargs $security_dynargs $original_args
 
更新
log4j_arg="-Dlog4j2.formatMsgNoLookups=true"
exec $java_start_bin $jvm_dynargs $log 4j_arg $security_dynargs $original_args

注意 :- 以下更新(在步骤 3 中提到)仅适用于下面列出的 vCenter 版本:-
  • vCenter 7.0 GA, 7.0.0a, 7.0.0b, 7.0.0c, 7.0.0d
  • vCenter 7.0 Update 1, U1a, U1c, U1d
Original
exec $java_start_bin $jvm_dynargs "$@"

Update
log4j_arg="-Dlog4j2.formatMsgNoLookups=true"
exec $java_start_bin $jvm_dynargs $log 4j_arg "$@"
  1. 重新启动 vCenter 服务
服务控制 --停止 --
所有服务-控制 --启动 --所有
 

注意:如果服务未启动,请确保使用以下命令正确设置文件权限:

  • chown root:cis /usr/lib/vmware-vmon/java-wrapper-vmon
  • chmod 754 /usr/lib/vmware-vmon/java-wrapper-vmon

更新管理器服务

  1. 备份现有的启动.ini文件
cp -rfp /usr/lib/vmware-updatemgr/bin/jetty/start.ini /usr/lib/vmware-updatemgr/bin/jetty/start.ini.bak
  1. 更新开始.ini文件
vi /usr/lib/vmware-updatemgr/bin/jetty/start.ini
  1. 将以下行添加到文件末尾
-Dlog4j2.formatMsgNoLookups=true
  1. 重新启动更新管理器服务

service-control --restart vmware-updatemgr

分析服务

  1. 备份 log4j-core-2.8.2.jar 文件
cp -rfp /usr/lib/vmware/common-jars/log4j-core-2.8.2.jar /usr/lib/vmware/common-jars/log4j-core-2.8.2.jar.bak
  1. 运行 zip 命令以禁用类
zip -q -d /usr/lib/vmware/common-jars/log4j-core-2.8.2.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
  1. 重新启动分析服务
service-control --restart vmware-analytics
 

DBCC 实用程序

  1. 备份 log4j-core-2.8.2.jar 文件
cp /usr/lib/vmware-dbcc/lib/log4j-core-2.8.2.jar /usr/lib/vmware-dbcc/lib/log4j-core-2.8.2.jar.bak
  1. 运行 zip 命令以禁用类
zip -q -d /usr/lib/vmware-dbcc/lib/log4j-core-2.8.2.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
 
注意:此命令可能会失败,并显示"zip 错误:无事可做!"。如果是这样,请转到验证部分,以确保不需要该步骤。对于 DBCC,无需重新启动任何服务。
 

验证更改

完成所有部分后,请使用以下步骤确认它们是否已成功实现。
  1. 验证 vMon 服务是否使用新的-Dlog4j2.formatMsgNoLookups=true参数启动:
ps auxww | grep formatMsgNoLookups

检查进程是否包含-Dlog4j2.formatMsgNoLookups=true
  1. 验证更新管理器更改是否显示在以下两个命令输出的"系统属性"下:

cd
/usr/lib/vmware-updatemgr/bin/jetty/ java -jar start.jar --list-config



System Properties:


------------------ log4j2.formatMsgNoLookups = true (/usr/lib/vmware-updatemgr/bin/jetty/start.ini

  1. 验证分析服务更改:
grep -i jndilookup /usr/lib/vmware/common-jars/log4j-core-2.8.2.jar |厕所 -l
 

这应该返回 0 行

  1. 验证 DBCC 实用程序更改:
grep -i jndilookup /usr/lib/vmware-dbcc/lib/log4j-core-2.8.2.jar | wc -l

这应该返回 0 行
 

vCenter Server Appliance 6.7.x 变通办法

警告:已确认 vCenter Server 6.7.x 的变通办法仅部分解决 CVE-2021-44228。请订阅此知识库,以便在有完整的解决方法可用时收到警报。

需要同时应用于 vMON 服务和分析服务。

 

vMON 服务

  1. 备份现有的 java-wrapper-vmon 文件
cp -rfp /usr/lib/vmware-vmon/java-wrapper-vmon /usr/lib/vmware-vmon/java-wrapper-vmon.bak
  1. 使用文本编辑器(如vi)更新 java-wrapper-vmon 文件
vi /usr/lib/vmware-vmon/java-wrapper-vmon
  1. 在文件的最底部,将最后一行替换为 2 个新行
    • 源语言
      exec $java_start_bin $jvm_dynargs "$@"

      Update

      log4j_arg="-Dlog4j2.formatMsgNoLookups=true"

      exec $java_start_bin $jvm_dynargs $log 4j_arg "$@"

  2. 重新启动 vCenter 服务
服务控制 --停止 --所有
服务-控制 --启动 --所有
 

注意:如果服务未启动,请确保使用以下命令正确设置文件权限:

  • chown root:cis /usr/lib/vmware-vmon/java-wrapper-vmon
  • chmod 754 /usr/lib/vmware-vmon/java-wrapper-vmon

 

分析服务

注意:- 以下解决方法(分析服务)仅适用于 vCenter Server Appliance 6.7 Update 3o 及更早版本。JAR 在更高版本中已更新到 2.11。
  1. 备份 log4j-core-2.8.2.jar 文件
cp -rfp /usr/lib/vmware/common-jars/log4j-core-2.8.2.jar /usr/lib/vmware/common-jars/log4j-core-2.8.2.jar.bak
  1. 运行 zip 命令以禁用类
zip -q -d /usr/lib/vmware/common-jars/log4j-core-2.8.2.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
  1. 重新启动分析服务
service-control --restart vmware-analytics
 

CM 服务

  1. 备份 log4j-core.jar 文件
cp -rfp /usr/lib/vmware-cm/lib/log4j-core.jar /usr/lib/vmware-cm/lib/log4j-core.jar.bak
  1. 运行 zip 命令以禁用类
zip -q -d /usr/lib/vmware-cm/lib/log4j-core.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
  1. 重新启动 CM 服务
service-control --restart vmware-cm
 

验证更改

完成所有部分后,请使用以下步骤确认它们是否已成功实现。
  1. 验证 vMON 服务是否使用新的-Dlog4j2.formatMsgNoLookups=true参数启动:
ps auxww | grep formatMsgNoLookups

检查进程是否包含-Dlog4j2.formatMsgNoLookups=true
  1. 验证分析服务更改:
grep -i jndilookup /usr/lib/vmware/common-jars/log4j-core-2.8.2.jar |厕所 -l
 
这应该返回 0 行
  1. 验证 CM 服务更改:
grep -i jndilookup /usr/lib/vmware-cm/lib/log4j-core.jar | wc -l

这应该返回 0 行

vCenter Server Appliance 6.5.x 变通办法

警告:已确认 vCenter Server 6.5 的变通办法仅部分解决 CVE-2021-44228。请订阅此知识库,以便在有完整的解决方法可用时收到警报。 解决方法需要应用于 vMON 服务和 CM 服务
 

vMON 服务

  1. 备份现有的 java-wrapper-vmon 文件
cp -rfp /usr/lib/vmware-vmon/java-wrapper-vmon /usr/lib/vmware-vmon/java-wrapper-vmon.bak
  1. 使用文本编辑器(如vi)更新 java-wrapper-vmon 文件
vi /usr/lib/vmware-vmon/java-wrapper-vmon
  1. 在文件的最底部,将最后一行替换为 2 个新行
    • 源语言
      exec $java_start_bin $jvm_dynargs "$@"

      Update

      log4j_arg="-Dlog4j2.formatMsgNoLookups=true"

      exec $java_start_bin $jvm_dynargs $log 4j_arg "$@"

  2. 重新启动 vCenter 服务
服务控制 --停止 --所有
服务-控制 --启动 --所有
 

注意:如果服务未启动,请确保使用以下命令正确设置文件权限:

  • chown root:cis /usr/lib/vmware-vmon/java-wrapper-vmon
  • chmod 754 /usr/lib/vmware-vmon/java-wrapper-vmon

CM 服务

  1. 备份 log4j-core.jar 文件
cp -rfp /usr/lib/vmware-cm/lib/log4j-core.jar /usr/lib/vmware-cm/lib/log4j-core.jar.bak
  1. 运行 zip 命令以禁用类
zip -q -d /usr/lib/vmware-cm/lib/log4j-core.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
  1. 重新启动 CM 服务
service-control --restart vmware-cm
 

验证更改

完成所有部分后,请使用以下步骤确认它们是否已成功实现。
  1. 验证 vMON 服务是否使用新的-Dlog4j2.formatMsgNoLookups=true参数启动:
ps auxww | grep formatMsgNoLookups

检查进程是否包含-Dlog4j2.formatMsgNoLookups=true
  1. 验证 CM 服务更改:
grep -i jndilookup /usr/lib/vmware-cm/lib/log4j-core.jar | wc -l

这应该返回 0 行
 


 

 相关信息
要还原变通办法,请将修改后的文件替换为在每个步骤中创建的备份。
在执行此知识库中的步骤之前,需要禁用 VCHA。


 
  • 2021 年 12 月 12 日 - 太平洋标准时间 11:20:更新了知识库文章,其中提供了有关 6.5/6.7 部分解决漏洞的变通办法的建议

原文地址:https://blog.csdn.net/allway2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340