VMware ESXi OpenSLP堆溢出漏洞解决方案

一、OpenSLP服务的作用OpenSLP(ServiceLocationProtocol,服务位置协议)是OpenSLP项目开发的一个IETF标-准协议 , 用于在互联网内动态的服务发现 。该协议支持通过服务的类型、属性在网络中查找 服务 。
二、ESXi 中使用的 OpenSLP 存在堆溢出漏洞VMware 已评估此问题的严重性在“重要严重性”范围内 , CVSSv3 的最高基本分数为 8.8,CVE漏洞编号 -(CVE-2021-21974),CNVD漏洞编号 -(CNVD-2021-12321) 。
三、已知的利用攻击方式:与 ESXi 位于同一网段中且有权访问端口 427 的恶意参与者可能能够在 OpenSLP 服务中触发堆溢出问题,从而导致远程代码执行 。
四、中招后果停止所有虚拟机运行,并加密所有数据文件 。
五、受影响的ESXI版本:ESXi70U1c-17325551、ESXi670-202102401-SG、ESXi650-202102101-SG
六、判断ESXI主机是否受到影响SSH到EXSi主机,输入“chkconfig –list | grep slpd”命令,若显示“slpd on”表示OpenSLP服务启用,反之“slpd off”则代表未启用 。
若OpenSLP启用 , 且版本为ESXi70U1c-17325551、ESXi670-202102401-SG、ESXi650-202102101-SG之一则可能受到此漏洞影响 。
查看ESXI主机版本号,SSH连接到ESXI主机,在命令行输入“vmware -vl”命令即可查询版本号 。
七、临时解决方法:根据 VMware vSphere 安全配置指南,如果未使用该服务 , 现在建议在 ESXi 中禁用 OpenSLP 服务,使用该解决方法的优点是无需重新引导 ESXi 主机即可禁用该服务,产生的影响是使用 SLP 通过端口 #427 查找 CIM 服务器的 CIM 客户端将无法找到该服务 。
以下是具体操作步骤:
1、使用 SSH 登录到 ESXi 主机
2、使用以下命令停止 ESXi 主机上的 SLP 服务:
/etc/init.d/slpd stop
【VMware ESXi OpenSLP堆溢出漏洞解决方案】注意: SLP 服务只有在未使用时才能停止 。使用以下命令查看服务定位协议守护程序的操作状态:
esxcli system slp stats get
3 、运行以下命令以禁用 SLP 服务:
esxcli Network Firewall ruleset -r CIMSLP -e 0
要在开机后禁用此服务自动运行,可用下面的命令实现:
chkconfig slpd off
要检查更改是否在重新启动后生效,可执行以下操作:
chkconfig –list | grep slpd
output: slpd off
八、彻底解决方法:可以使用 vCenter 中的 VMware Update Manager (VUM) 在 ESXi 主机上应用热修补程序 , 俗称打补丁 。
九、不幸中招后的处理措施:1、断网,隔离中毒主机
2、重装ESXI
2、使用数据恢复工具恢复数据
4、试试勒索软件恢复脚本
https://github.com/cisagov/ESXiArgs-Recover

猜你喜欢