要解决此问题,请使用以下方法之一。
解决办法 1
移除非 root 用户对设备 shell 的访问权限:
- 使用 SSH 会话以 root 用户身份登录到 vCenter Server Appliance。
- 使用以下命令备份 /etc/passwd 文件:
cp /etc/passwd /etc/passwd.bkup
- 要列出所有用户,请在设备 shell 中运行以下命令,并记录列出的用户:
user.list
- 使用以下命令在纯文本编辑器中打开 /etc/passwd 文件:
vi /etc/passwd
- 搜索具有运维人员访问权限的所有非 root 用户。
例如,用户测试有权访问 appliancesh。
test:x:1020:100:test:/home/test:/bin/appliancesh
- 将默认 shell 访问权限由 /bin/appliancesh 更改为 /sbin/nologin。
例如:
test:x:1020:100:test:/home/test:/sbin/nologin
- 保存并退出文件
要确认该解决办法,请运行以下步骤:
- 尝试使用 SSH 和具有“运维人员”角色的用户登录到 vCenter Server Appliance。
- “运维人员”用户应该无法再登录。
要移除此解决办法,请运行以下步骤:
- 使用 SSH 会话以 root 用户身份登录到 vCenter Server Appliance。
- 使用以下命令备份 /etc/passwd 文件:
cp /etc/passwd /etc/passwd.modified.bkup
- 将所有“运维人员”用户的默认 shell 访问权限由 /sbin/nologin 更改为 /bin/appliancesh。
例如:
test:x:1020:100:test:/home/test:/bin/appliancesh
- 保存并退出文件
权宜措施 2
禁用 vCenter Server Appliance 上的 bash shell:
- 使用 SSH 会话以 root 用户身份登录到 vCenter Server Appliance。
- 通过运行以下命令更改为 appliancesh shell:
# appliancesh
- 使用 root 用户名和密码登录。
- 运行以下命令以禁用 bash shell:
shell.set –-enabled false
要验证解决办法,请运行以下步骤:
- 使用 SSH 会话以非 root 用户身份登录到 vCenter Server Appliance。
- 登录成功,且 appliancesh 已启动。
- 通过运行 shell 命令尝试切换到 Bash shell。
- 所有非 root 用户应该不能切换到 Bash shell。
要移除此解决办法,请运行以下步骤:
- 使用 SSH 会话以 root 用户身份登录到 vCenter Server Appliance。
- 运行以下命令以启用 bash shell:
shell.set –-enabled true
此权宜措施可有效解决的示例漏洞:
- CVE-2017-5753
- CVE-2017-5715
- CVE-2017-5754