这些安全控制措施提供了一组 vCenter Server 基准安全性最佳做法。它们的结构化方式解释了实施相应控制措施的好处和利弊权衡。要进行更改,可以使用 vSphere Client、PowerCLI 或 vCenter Server 管理接口,具体取决于控件。

PowerCLI 和使用的变量

此处使用的一些 PowerCLI 示例要求安装 VMware.vSphere.SsoAdmin 模块。

本节中的 PowerCLI 命令使用以下变量:

  • $VC="vcenter_server_name"
  • $VDS="vsphere_distributed_switch_name"
  • $VDPG="vsphere_distributed_port_group"

设置 vSphere Client 非活动超时

vCenter Server 必须在 vSphere Client 会话处于非活动状态达到 15 分钟后将其终止。

如果用户忘记注销,闲置的 vSphere Client 会话可能会无限期保持打开状态,从而增加了未经授权的特权访问的风险。

安装默认值:120 分钟
基准建议值:15 分钟
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
不适用(没有公用 API 可用)
PowerCLI 命令修复示例
不适用(没有公用 API 可用)
vSphere Client 中的设置位置
管理 > 客户端配置 > 会话超时

设置失败登录尝试时间间隔

vCenter Server 必须将统计失败登录尝试次数的时间间隔设置为 15 分钟或更长时间。

通过限制失败登录尝试次数,可以降低利用用户密码猜测进行未经授权的访问(也称为暴力攻击)的风险。

安装默认值:180
基准建议值:900
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
Get-SsoLockoutPolicy | Select FailedAttemptIntervalSec
PowerCLI 命令修复示例
Get-SsoLockoutPolicy | Set-SsoLockoutPolicy -FailedAttemptIntervalSec 900
vSphere Client 中的设置位置
管理 > Single Sign On > 配置 > 本地帐户 > 锁定策略

配置 vSphere SSO 锁定策略最多尝试次数

vCenter Server 必须在指定次数的失败登录尝试后锁定帐户。

帐户反复登录失败可能表明存在安全问题。要限制暴力攻击尝试,可在达到特定阈值后锁定帐户,并在避免自动连接重试和潜在的拒绝服务攻击之间取得权衡。

安装默认值:5
基准建议值:5
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
Get-SsoLockoutPolicy | Select MaxFailedAttempts
PowerCLI 命令修复示例
Get-SsoLockoutPolicy | Set-SsoLockoutPolicy -MaxFailedAttempts 5
vSphere Client 中的设置位置
管理 > Single Sign On > 配置 > 本地帐户 > 锁定策略

配置 vSphere SSO 锁定策略解除锁定时间

vCenter Server 必须在指定的超时期限后解除锁定帐户。

反复登录失败可能表明存在安全威胁。vCenter Server 帐户由于多次登录失败而被锁定时,不应自动解除锁定。确保您拥有 [email protected] 信息,且信息有效。

安装默认值:300
基准建议值:0
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
当帐户未自动解除锁定时,可能会出现拒绝服务。
PowerCLI 命令评估
Get-SsoLockoutPolicy | Select AutoUnlockIntervalSec
PowerCLI 命令修复示例
Get-SsoLockoutPolicy | Set-SsoLockoutPolicy -AutoUnlockIntervalSec 0
vSphere Client 中的设置位置
管理 > Single Sign On > 配置 > 本地帐户 > 锁定策略

强制实施密码复杂性

vCenter Server 必须强制实施密码复杂性。

现代密码最佳做法(请参见 NIST 800-63B 第 5.1.1.2 条及其他指导)指出,如果密码熵充足,则任意要求用户按特定时间间隔更改其密码并不能提高安全性。许多自动化安全工具和法规遵从性框架并未反映此指导,因此可能会导致此建议不起作用。

密码强度和复杂性规则适用于在 vSphere SSO 中创建的帐户,包括 [email protected](或在安装期间指定的其他域,例如 administrator@mydomain)。当 vCenter Server 加入域时,这些规则不适用于 Active Directory 用户,因为 AD 会强制执行这些密码策略。

安装默认值:

最大长度:20

最小长度:8

至少 1 个特殊字符

至少 2 个字母

至少 1 个大写字母

至少 1 个小写字母

至少 1 个数字

3 个相同的相邻字符

基准建议值:

最大长度:64

最小长度:15

至少 1 个特殊字符

至少 2 个字母

至少 1 个大写字母

至少 1 个小写字母

至少 1 个数字

3 个相同的相邻字符

建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
VMware 生态系统中的其他产品和服务可能不希望更改密码复杂性要求,这可能会导致安装失败。
PowerCLI 命令评估
Get-SsoPasswordPolicy
PowerCLI 命令修复示例
Get-SsoPasswordPolicy | Set-SsoPasswordPolicy -MinLength 15 -MaxLength 64 -MinNumericCount 1 -MinSpecialCharCount 1 -MinAlphabeticCount 2 -MinUppercaseCount 1 -MinLowercaseCount 1 -MaxIdenticalAdjacentCharacters 3
vSphere Client 中的设置位置
管理 > Single Sign On > 配置 > 本地帐户 > 密码策略

配置两次更改密码之间的最大天数。

必须为 vCenter Server 配置适当的最长密码有效期。

现代密码最佳做法(请参见 NIST 800-63B 第 5.1.1.2 条及其他指导)指出,如果密码熵充足,则任意要求用户按特定时间间隔更改其密码并不能提高安全性。许多自动化安全工具和法规遵从性框架并未反映此指导,因此可能会导致此建议不起作用。

安装默认值:90
基准建议值:99999
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
Get-SsoPasswordPolicy | Select PasswordLifetimeDays
PowerCLI 命令修复示例
Get-SsoPasswordPolicy | Set-SsoPasswordPolicy -PasswordLifetimeDays 9999
vSphere Client 中的设置位置
管理 > Single Sign On > 配置 > 本地帐户 > 密码策略

限制密码重用

配置密码历史记录设置,以限制在 vCenter Server 上重用密码。

密码复杂性准则有时会导致用户重用旧密码。在 vCenter Server 上配置密码历史记录设置有助于防止这种情况。

安装默认值:5
基准建议值:5
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
Get-SsoPasswordPolicy | Select ProhibitedPreviousPasswordsCount
PowerCLI 命令修复示例
Get-SsoPasswordPolicy | Set-SsoPasswordPolicy -ProhibitedPreviousPasswordsCount 5
vSphere Client 中的设置位置
管理 > Single Sign On > 配置 > 本地帐户 > 密码策略

配置 SSH 访问的登录横幅文本

配置使用 SSH 进行访问时的 vCenter Server 登录横幅文本。

vCenter Server 会发送登录消息,从而阻止入侵者并向授权用户传达义务。此配置将确定客户端使用 SSH 进行连接时显示的文本。默认文本会向攻击者泄露有关系统配置的信息,应进行更改。

安装默认值:VMware vCenter Server 版本号

类型:具有嵌入式 Platform Services Controller 的 vCenter Server

基准建议值:有关适用于您的环境的文本,请咨询您组织的法律顾问。

示例文本:仅限授权用户。禁止实际或试图未经授权使用本系统,否则可能导致刑事、民事、安全或行政诉讼和/或处罚。使用本信息系统即表示同意本系统在未通知您或未获得您许可的情况下进行监控和记录。用户不能指望在使用本系统期间能够得到隐私保护。存储在本系统上或传输到本系统或通过监控和/或记录获取的任何信息,均可根据联邦法律、州法规和组织政策披露给执法机构和/或使用。如果您不是本系统的授权用户,请立即退出系统。(Authorized users only. Actual or attempted unauthorized use of this system is prohibited and may result in criminal, civil, security, or administrative proceedings and/or penalties. Use of this information system indicates consent to monitoring and recording, without notice or permission. Users have no expectation of privacy in any use of this system. Any information stored on, or transiting this system, or obtained by monitoring and/or recording, may be disclosed to law enforcement and/or used in accordance with Federal law, State statute, and organization policy. If you are not an authorized user of this system, exit the system at this time.)

建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
Get-AdvancedSetting -Entity $VC -Name etc.issue
PowerCLI 命令修复示例
Get-AdvancedSetting -Entity $VC -Name etc.issue | Set-AdvancedSetting -Value "Authorized users only. Actual or attempted unauthorized use of this system is prohibited and may result in criminal, civil, security, or administrative proceedings and/or penalties. Use of this information system indicates consent to monitoring and recording, without notice or permission. Users have no expectation of privacy in any use of this system. Any information stored on, or transiting this system, or obtained by monitoring and/or recording, may be disclosed to law enforcement and/or used in accordance with Federal law, State statute, and organization policy. If you are not an authorized user of this system, exit the system at this time."
vSphere Client 中的设置位置
管理 > Single Sign On > 配置 > 登录消息

设置任务和事件保留时间间隔

vCenter Server 必须将任务和事件保留期设置为适当的时间间隔。

vCenter Server 会保留任务和事件数据,这些数据会过期以节省存储空间。有效期是可配置的。这只会影响 vCenter Server Appliance 上的事件数据的本地存储。

安装默认值:30
基准建议值:30
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
不适用(没有公用 API 可用)
PowerCLI 命令修复示例
不适用(没有公用 API 可用)
vSphere Client 中的设置位置
不适用

激活远程日志记录

激活 vCenter Server 事件的远程日志记录。

远程记录到中央主机可安全地存储日志,从而增强 vCenter Server 的安全性。远程日志记录可简化主机之间的监控,并支持进行汇总分析以检测协同攻击。集中式日志记录可防止篡改,并可用作可靠的长期审核记录。vpxd.event.syslog.enabled 设置用于激活远程日志记录。

安装默认值:True
基准建议值:True
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
Get-AdvancedSetting -Entity $VC -Name vpxd.event.syslog.enabled
PowerCLI 命令修复示例
Get-AdvancedSetting -Entity $VC -Name vpxd.event.syslog.enabled | Set-AdvancedSetting -Value true
vSphere Client 中的设置位置
选择 vCenter Server > 配置 > 高级设置

激活 FIPS

vCenter Server 必须激活 FIPS 验证的加密。

FIPS 加密对系统进行一些更改以移除较弱的密码。激活 FIPS 会导致 vCenter Server 重新启动。

安装默认值:False
基准建议值:True
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
FIPS 加密对系统进行一些更改以移除较弱的密码。启用 FIPS 会导致 vCenter Server 重新启动。
PowerCLI 命令评估
Invoke-GetSystemGlobalFips
PowerCLI 命令修复示例
$spec = Initialize-SystemSecurityGlobalFipsUpdateSpec -Enabled $true
Invoke-SetSystemGlobalFips -SystemSecurityGlobalFipsUpdateSpec $spec
vSphere Client 中的设置位置
请参见 在 vCenter Server Appliance 上激活和停用 FIPS

配置审核记录

vCenter Server 必须生成审核记录,其中包含用于确定所发生事件类型的信息。

请务必确保审核日志中存在足够的信息,以便进行诊断和取证。config.log.level 设置用于配置审核记录。

安装默认值:Info
基准建议值:Info
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
Get-AdvancedSetting -Entity $VC -Name config.log.level
PowerCLI 命令修复示例
Get-AdvancedSetting -Entity $VC -Name config.log.level | Set-AdvancedSetting -Value info
vSphere Client 中的设置位置
vCenter Server 主机 > 配置 > 高级设置

停用 MAC 学习

除非有意使用,否则所有分布式交换机端口组都必须停用 MAC 学习。

MAC 学习使分布式交换机能够为 vNIC 使用多个 MAC 地址的系统提供网络连接。这在嵌套虚拟化等特殊情况下很有用(例如,在 ESXi 内部运行 ESXi)。MAC 学习还支持未知单播泛洪。通常,当端口收到的数据包具有未知目标 MAC 地址时,将丢弃该数据包。在启用未知单播泛洪的情况下,端口将未知单播流量泛洪到交换机上启用了 MAC 学习和未知单播泛洪的每个端口。默认情况下激活该属性,但仅在启用 MAC 学习时才会这样。停用 MAC 学习,除非正有意用于需要 MAC 学习的已知工作负载。

安装默认值:已禁用
基准建议值:已禁用
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
某些工作负载确实合法地使用这些网络策略,并且受到默认设置和所需状态的负面影响。
PowerCLI 命令评估
(Get-VDPortgroup -Name $VDPG).ExtensionData.Config.DefaultPortConfig.MacManagementPolicy.MacLearningPolicy | Select-Object -ExpandProperty Enabled
PowerCLI 命令修复示例
$VDPGview = Get-VDPortgroup -Name $VDPG | Get-View 
$ConfigSpec = New-Object VMware.Vim.DVPortgroupConfigSpec
$ConfigSpec.DefaultPortConfig = New-Object VMware.Vim.VMwareDVSPortSetting
$ConfigSpec.DefaultPortConfig.MacManagementPolicy = New-Object VMware.Vim.DVSMacManagementPolicy
$ConfigSpec.DefaultPortConfig.MacManagementPolicy.MacLearningPolicy = New-Object VMware.Vim.DVSMacLearningPolicy
$ConfigSpec.DefaultPortConfig.MacManagementPolicy.MacLearningPolicy.Enabled = $false
$ConfigSpec.ConfigVersion = $VDPGview.Config.ConfigVersion
$VDPGview.ReconfigureDVPortgroup_Task($ConfigSpec)
vSphere Client 中的设置位置
不适用。可以使用 vSphere API 在分布式虚拟端口组上启用 MAC 学习。有关详细信息,请参见 《vSphere Web Services API 参考》

配置登录消息横幅详细信息

配置 vSphere ClientvCenter Server 登录横幅详细信息。

vCenter Server 提供了显示登录消息的功能。登录消息的用途包括通知入侵者他们的活动是非法的,以及向授权用户传达他们在使用系统期间必须满足并同意的期望和义务。此配置用于设置 vSphere Client 登录页面消息中的详细文本。

安装默认值:未配置
基准建议值:有关适用于您的环境的文本,请咨询您组织的法律顾问。

示例文本:仅限授权用户。禁止实际或试图未经授权使用本系统,否则可能导致刑事、民事、安全或行政诉讼和/或处罚。使用本信息系统即表示同意本系统在未通知您或未获得您许可的情况下进行监控和记录。用户不能指望在使用本系统期间能够得到隐私保护。存储在本系统上或传输到本系统或通过监控和/或记录获取的任何信息,均可根据联邦法律、州法规和组织政策披露给执法机构和/或使用。如果您不是本系统的授权用户,请立即退出系统。(Authorized users only. Actual or attempted unauthorized use of this system is prohibited and may result in criminal, civil, security, or administrative proceedings and/or penalties. Use of this information system indicates consent to monitoring and recording, without notice or permission. Users have no expectation of privacy in any use of this system. Any information stored on, or transiting this system, or obtained by monitoring and/or recording, may be disclosed to law enforcement and/or used in accordance with Federal law, State statute, and organization policy. If you are not an authorized user of this system, exit the system at this time.)

建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
不适用(没有公用 API 可用)

您可以通过在设备 shell 中运行以下命令来配置登录消息:

/opt/vmware/bin/sso-config.sh -set_login_banner -title login_banner_title logonBannerFile
完成后,请记住再次停用 shell。
PowerCLI 命令修复示例
不适用(没有公用 API 可用)
您可以通过在设备 shell 中运行以下命令来配置登录消息:
/opt/vmware/bin/sso-config.sh -set_login_banner -title login_banner_title logonBannerFile

完成后,请记住再次停用 shell。

vSphere Client 中的设置位置
管理 > Single Sign On > 配置 > 登录消息 > 编辑

激活登录横幅

激活 vSphere ClientvCenter Server 登录横幅。

vCenter Server 提供了显示登录消息的功能。登录消息的用途包括通知入侵者他们的活动是非法的,以及向授权用户传达他们在使用系统期间必须满足并同意的期望和义务。此配置用于激活消息在 vSphere Client 登录页面上的显示。

安装默认值:False
基准建议值:True
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
不适用(没有公用 API 可用)
您可以通过在设备 shell 中运行以下命令来配置登录消息:
/opt/vmware/bin/sso-config.sh -set_logon_banner -title logon_banner_title logonBannerFile

完成后,请记住再次停用 shell。

PowerCLI 命令修复示例
不适用(没有公用 API 可用)
您可以通过在设备 shell 中运行以下命令来配置登录消息:
/opt/vmware/bin/sso-config.sh -set_logon_banner -title logon_banner_title logonBannerFile

完成后,请记住再次停用 shell。

vSphere Client 中的设置位置
管理 > Single Sign On > 配置 > 登录消息 > 编辑

配置登录横幅文本

配置 vSphere ClientvCenter Server 登录横幅文本。

vCenter Server 提供了显示登录消息的功能。登录消息的用途包括通知入侵者他们的活动是非法的,以及向授权用户传达他们在使用系统期间必须满足并同意的期望和义务。此配置用于确定在 vSphere Client 登录页面上显示的文本。

安装默认值:未配置
基准建议值:有关特定文本,请咨询您组织的法律顾问。

示例文本:使用本系统即表示您了解并同意管理本系统的组织策略。

建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
不适用(没有公用 API 可用)
您可以通过在设备 shell 中运行以下命令来配置登录消息:
/opt/vmware/bin/sso-config.sh -set_logon_banner -title logon_banner_title logonBannerFile

完成后,请记住再次停用 shell。

PowerCLI 命令修复示例
不适用(没有公用 API 可用)
您可以通过在设备 shell 中运行以下命令来配置登录消息:
/opt/vmware/bin/sso-config.sh -set_logon_banner -title logon_banner_title logonBannerFile

完成后,请记住再次停用 shell。

vSphere Client 中的设置位置
管理 > Single Sign On > 配置 > 登录消息 > 编辑

将管理员的身份验证和授权分开

vCenter Server 必须将管理员的身份验证和授权分开。

如果像 Active Directory 等服务一样将身份验证和授权结合,则当基础架构遭到破坏时可能会违规。因此,对于 vCenter Server,请确保将管理员的身份验证和授权分开。请考虑使用本地 SSO 组进行授权,以在可行的情况下更好地管理风险。

安装默认值:未配置
基准建议值:未配置
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
置备 vCenter Server 访问时需要与 vCenter Server SSO 交互。可以通过 PowerCLI 实现自动化。
PowerCLI 命令评估
不适用(没有公用 API 可用)
PowerCLI 命令修复示例
不适用(没有公用 API 可用)
vSphere Client 中的设置位置
不适用

将伪传输策略设置为“拒绝”

将所有分布式交换机及其端口组设置为拒绝伪伪传输。

虚拟机可以通过更改 MAC 地址来模拟网络适配器,从而带来安全威胁。通过在所有分布式交换机和端口组上将“伪传输”选项设置为“拒绝”,ESXi 会验证 MAC 地址并阻止此类模拟。

安装默认值:拒绝
基准建议值:拒绝
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
某些工作负载确实合法地使用这些网络策略,并且会受到默认设置的负面影响。
PowerCLI 命令评估
Get-VDSwitch -Name $VDS | Get-VDSecurityPolicy
Get-VDPortgroup -Name $VDPG | Get-VDSecurityPolicy
PowerCLI 命令修复示例
Get-VDSwitch -Name $VDS | Get-VDSecurityPolicy | Set-VDSecurityPolicy -ForgedTransmits $false
Get-VDPortgroup -Name $VDPG | Get-VDSecurityPolicy | Set-VDSecurityPolicy -ForgedTransmits $false
vSphere Client 中的设置位置
请参见 《vSphere 网络连接》文档。

将 MAC 地址更改策略设置为“拒绝”

在 vSphere 标准交换机及其端口组上将 MAC 地址更改策略设置为“拒绝”。

允许虚拟机更改 MAC 地址会带来安全风险,从而引发潜在的网络适配器模拟。拒绝所有分布式交换机和端口组上的 MAC 更改可防止这种情况,但可能会影响某些应用程序,例如 Microsoft Clustering Services 或 MAC 地址相关的许可。如有必要,可对此安全指南作出例外处理。

安装默认值:拒绝
基准建议值:拒绝
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
某些工作负载确实合法使用这些网络策略,并且受到“拒绝”设置的负面影响。
PowerCLI 命令评估
Get-VDSwitch -Name $VDS | Get-VDSecurityPolicy
Get-VDPortgroup -Name $VDPG | Get-VDSecurityPolicy
PowerCLI 命令评估
Get-VDSwitch -Name $VDS | Get-VDSecurityPolicy | Set-VDSecurityPolicy -MacChanges $false
Get-VDPortgroup -Name $VDPG | Get-VDSecurityPolicy | Set-VDSecurityPolicy -MacChanges $false
vSphere Client 中的设置位置
请参见 《vSphere 网络连接》文档。

将混杂模式策略设置为“拒绝”

在 vSphere 标准交换机及其端口组上将混杂模式策略设置为“拒绝”。

在端口组上激活混杂模式会允许所有已连接的虚拟机读取所有网络数据包,从而带来潜在的安全风险。尽管有时需要激活混杂模式以进行调试或监控,但建议使用默认设置“拒绝”。根据需要对特定端口组作出例外处理。

安装默认值:拒绝
基准建议值:拒绝
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
某些工作负载确实合法使用这些网络策略,并且受到“拒绝”设置的负面影响。
PowerCLI 命令评估
Get-VDSwitch -Name $VDS | Get-VDSecurityPolicy
Get-VDPortgroup -Name $VDPG | Get-VDSecurityPolicy
PowerCLI 命令修复示例
Get-VDSwitch -Name $VDS | Get-VDSecurityPolicy | Set-VDSecurityPolicy -AllowPromiscuous $false
Get-VDPortgroup -Name $VDPG | Get-VDSecurityPolicy | Set-VDSecurityPolicy -AllowPromiscuous $false
vSphere Client 中的设置位置
请参见 《vSphere 网络连接》文档。

在虚拟机断开连接时重置端口配置

虚拟机断开连接时,vCenter Server 必须重置端口配置。

当虚拟机与虚拟交换机端口断开连接时,最好重置端口配置,以便连接的另一个虚拟机的端口处于已知状态。

安装默认值:已激活
基准建议值:已激活
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
(Get-VDPortgroup -Name $VDPG).ExtensionData.Config.Policy | Select-Object -ExpandProperty PortConfigResetAtDisconnect
PowerCLI 命令修复示例
$VDPGview = Get-VDPortgroup -Name $VDPG | Get-View 
$ConfigSpec = New-Object VMware.Vim.DVPortgroupConfigSpec
$ConfigSpec.DefaultPortConfig = New-Object VMware.Vim.VMwareDVSPortSetting
$ConfigSpec.Policy = New-Object VMware.Vim.VMwareDVSPortgroupPolicy
$ConfigSpec.Policy.PortConfigResetAtDisconnect = $true
$ConfigSpec.ConfigVersion = $VDPGview.Config.ConfigVersion
$VDPGview.ReconfigureDVPortgroup_Task($ConfigSpec)
vSphere Client 中的设置位置
请参见 《vSphere 网络连接》文档。

停用 Cisco Discovery Protocol 或链路层发现协议

除非有意使用,否则应在分布式交换机上阻止加入 Cisco Discovery Protocol (CDP) 或链路层发现协议 (LLDP)。

vSphere 分布式虚拟交换机可能会加入 CDP 或 LLDP,从而可能会在网络上共享未加密的敏感信息(例如 IP 地址和系统名称)。因此,CDP 和 LLDP 可以帮助攻击者了解或模拟您的环境。但是,CDP 和 LLDP 对合法用例也极其有用。请停用 CDP 和 LLDP,除非进行故障排除或配置验证需要启用它们。

安装默认值:侦听
基准建议值:无
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
(Get-VDSwitch -Name $VDS).ExtensionData.config.LinkDiscoveryProtocolConfig | Select-Object -ExpandProperty Operation
PowerCLI 命令修复示例
$VDview = Get-VDSwitch -Name $VDS | Get-View
$ConfigSpec = New-Object VMware.Vim.VMwareDVSConfigSpec
$ConfigSpec.LinkDiscoveryProtocolConfig = New-Object VMware.Vim.LinkDiscoveryProtocolConfig
$ConfigSpec.LinkDiscoveryProtocolConfig.Protocol = 'cdp'
$ConfigSpec.LinkDiscoveryProtocolConfig.Operation = 'none'
$ConfigSpec.ConfigVersion = $VDview.Config.ConfigVersion
$VDview.ReconfigureDvs_Task($ConfigSpec)
vSphere Client 中的设置位置
请参见 《vSphere 网络连接》文档。

确保授权收集器接收 NetFlow 流量

vCenter Server 必须确保将 NetFlow 流量发送到授权收集器。

vSphere Distributed Switch 可能会导出未加密的 NetFlow 数据,从而泄漏有关虚拟网络和流量模式的详细信息。确认已正确授权并配置了 NetFlow 使用,以防止信息泄露。

安装默认值:侦听
基准建议值:无
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
(Get-VDSwitch -Name $VDS).ExtensionData.config.IpfixConfig.CollectorIpAddress | Select-Object -ExpandProperty CollectorIpAddress
(Get-VDPortgroup -Name $VDPG).ExtensionData.Config.DefaultPortConfig.IpfixEnabled | Select-Object -ExpandProperty Value
PowerCLI 命令修复示例
$VDPGview = Get-VDPortgroup -Name $VDPG | Get-View 
$ConfigSpec = New-Object VMware.Vim.DVPortgroupConfigSpec
$ConfigSpec.DefaultPortConfig = New-Object VMware.Vim.VMwareDVSPortSetting
$ConfigSpec.DefaultPortConfig.IpfixEnabled = New-Object VMware.Vim.BoolPolicy
$ConfigSpec.DefaultPortConfig.IpfixEnabled.Inherited = $false
$ConfigSpec.DefaultPortConfig.IpfixEnabled.Value = $false
$ConfigSpec.ConfigVersion = $VDPGview.Config.ConfigVersion
$VDPGview.ReconfigureDVPortgroup_Task($ConfigSpec)
vSphere Client 中的设置位置
请参见 《vSphere 网络连接》文档。

配置虚拟机端口安全

vCenter Server 不得覆盖分布式交换机上端口级别的端口组设置,除非要阻止端口。

尽管独特的虚拟机设置可能需要覆盖端口级别配置,但请务必对其进行监控以防止未经授权的使用。如果利用安全性较低的分布式交换机配置,不受监控的覆盖可能会允许更广泛的访问。

安装默认值:

阻止端口覆盖:TRUE

所有其他覆盖:FALSE

基准建议值:

阻止端口覆盖:TRUE

所有其他覆盖:FALSE

建议的操作
审核安装默认设置。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
(Get-VDPortgroup -Name $VDPG).ExtensionData.Config.Policy
PowerCLI 命令修复示例
$VDPGview = Get-VDPortgroup -Name $VDPG | Get-View 
$ConfigSpec = New-Object VMware.Vim.DVPortgroupConfigSpec
$ConfigSpec.DefaultPortConfig = New-Object VMware.Vim.VMwareDVSPortSetting
$ConfigSpec.Policy = New-Object VMware.Vim.VMwareDVSPortgroupPolicy
$ConfigSpec.Policy.UplinkTeamingOverrideAllowed = $false
$ConfigSpec.Policy.BlockOverrideAllowed = $true
$ConfigSpec.Policy.LivePortMovingAllowed = $false
$ConfigSpec.Policy.VlanOverrideAllowed = $false
$ConfigSpec.Policy.SecurityPolicyOverrideAllowed = $false
$ConfigSpec.Policy.VendorConfigOverrideAllowed = $false
$ConfigSpec.Policy.ShapingOverrideAllowed = $false
$ConfigSpec.Policy.IpfixOverrideAllowed = $false
$ConfigSpec.Policy.TrafficFilterOverrideAllowed = $false
$ConfigSpec.ConfigVersion = $VDPGview.Config.ConfigVersion
$VDPGview.ReconfigureDVPortgroup_Task($ConfigSpec)
vSphere Client 中的设置位置
请参见 《vSphere 网络连接》文档。

移除端口镜像

vCenter Server 必须移除分布式交换机上未授权的端口镜像会话。

vSphere Distributed Switch 可能会镜像端口之间的流量,从而启用流量观测。为保持安全性,必须移除分布式交换机上任何未经授权的端口镜像会话。

安装默认值:未配置
基准建议值:未配置
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
(Get-VDSwitch -Name $VDS).ExtensionData.config.VspanSession
PowerCLI 命令修复示例
不适用
vSphere Client 中的设置位置
请参见 《vSphere 网络连接》文档。

限制虚拟客户机标记

vCenter Server 必须限制在分布式交换机上使用虚拟客户机标记 (VGT)。

将端口组设置为 VLAN 4095 会允许使用虚拟客户机标记 (VGT),这使得虚拟机需要处理 VLAN 标记。仅为获得管理 VLAN 标记的授权且具有相应功能的虚拟机激活 VGT。使用不当可能会导致拒绝服务或发生未经授权的 VLAN 流量交互。

安装默认值:未配置
基准建议值:未配置
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
Get-VDPortgroup -Name $VDPG | Where {$_.ExtensionData.Config.Uplink -ne "True"} | Select Name,VlanConfiguration
PowerCLI 命令修复示例
Get-VDPortgroup $VDPG | Set-VDVlanConfiguration -VlanId "New_VLAN#"
vSphere Client 中的设置位置
请参见 《vSphere 网络连接》文档。

检查 vCenter Server 版本的 VMware 维护期限是否有效

确保 vCenter Server 版本未到达 VMware 终止标准技术支持状态。

安装默认值:不适用
基准建议值:不适用
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
不适用
PowerCLI 命令修复示例
不适用
vCenter Server 管理界面中设置位置
更新

限制对 SSH 的访问

必须停用 vCenter Server SSH 服务。

vCenter Server Appliance 作为设备提供,旨在通过 vCenter Server 管理界面、vSphere Client 和 API 进行管理。SSH 是一个故障排除和支持工具,仅在必要时激活。vCenter Server High Availability 使用 SSH 在节点之间协调复制和故障切换。要使用此功能,需要将 SSH 保持激活状态。

安装默认值:已停用
基准建议值:已停用
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
注: 必须先使用 Connect-CISServer cmdlet 连接到 vCenter Server 主机。
(Get-CisService -Name "com.vmware.appliance.access.ssh").get()
PowerCLI 命令修复示例
(Get-CisService -Name "com.vmware.appliance.access.ssh").set($false)
vCenter Server 管理界面中设置位置
访问

验证 root 用户密码过期设置

必须正确配置 vCenter Server root 帐户密码过期设置。

现代密码最佳做法(请参见 NIST 800-63B 第 5.1.1.2 条及其他指导)指出,如果密码熵充足,则任意要求用户按特定时间间隔更改其密码并不能提高安全性。许多自动化安全工具和法规遵从性框架并未反映此指导,因此可能会导致此建议不起作用。

安装默认值:是
基准建议值:否
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
如未在过期前重置密码,则需要执行恢复过程。
PowerCLI 命令评估
注: 必须先使用 Connect-CISServer cmdlet 连接到 vCenter Server 主机。
(Get-CisService -Name "com.vmware.appliance.local_accounts.policy").get()
PowerCLI 命令修复示例
(Get-CisService -Name "com.vmware.appliance.local_accounts.policy").set(@{max_days=9999; min_days=1; warn_days=7})
vCenter Server 管理界面中设置位置
管理

配置基于文件的备份和恢复

配置基于文件的备份和恢复,以便使用 vCenter Server 安装程序来恢复 vCenter Server Appliance 及其配置。备份和还原是保护环境的一个重要部分。

安装默认值:未配置
基准建议值:已配置
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
不适用
PowerCLI 命令修复示例
不适用
vCenter Server 管理界面中设置位置
备份

将防火墙配置为仅允许来自授权网络的流量

vCenter Server Appliance 必须将防火墙配置为仅允许来自授权网络的流量。

确保阻止所有入站和出站网络流量(除非明确允许),从而减小攻击面并帮助阻止对系统进行未经授权的访问。不会阻止出站(输出)流量,也不会阻止相关连接或已建立的连接,因此 vCenter Server Appliance 仍能够与启动连接的系统通信。使用边界防火墙来限制这些类型的连接。

安装默认值:允许来自任何 IP 地址的连接。
基准建议值:仅允许来自授权基础架构和管理工作站的连接。
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
连接断开。确保在配置“拒绝全部”规则之前为自己配置允许规则。
PowerCLI 命令评估
不适用
PowerCLI 命令修复示例
不适用
vCenter Server 管理界面中设置位置
防火墙

配置远程日志服务器

vCenter Server 配置远程日志服务器。

远程记录到中央主机可安全地存储日志,从而增强 vCenter Server 的安全性。远程日志记录可简化主机之间的监控,并支持进行汇总分析以检测协同攻击。集中式日志记录可防止篡改,并可用作可靠的长期审核记录。

安装默认值:未配置
基准建议值:特定于站点的日志服务器
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
注: 必须先使用 Connect-CISServer cmdlet 连接到 vCenter Server 主机。
(Get-CisService -Name "com.vmware.appliance.logging.forwarding").get()
PowerCLI 命令修复示例
不适用
vSphere Client 中的设置位置
不适用

配置时间同步

vCenter Server 必须具有可靠的时间同步源。

加密、审核日志记录、集群操作、突发事件响应和取证很大程度上依赖同步时间。网络时间协议 (NTP) 必须具有至少四个源。如果必须在两个源和一个源之间进行选择,则首选一个源。

安装默认值:未定义
基准建议值:特定于站点,或者:

0.vmware.pool.ntp.org

1.vmware.pool.ntp.org

2.vmware.pool.ntp.org

3.vmware.pool.ntp.org

建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
注: 必须先使用 Connect-CISServer cmdlet 连接到 vCenter Server 主机。
(Get-CisService -Name ""com.vmware.appliance.timesync"").get()
(Get-CisService -Name ""com.vmware.appliance.ntp"").get()
PowerCLI 命令修复示例
(Get-CisService -Name ""com.vmware.appliance.timesync"").set(""NTP"")
(Get-CisService -Name ""com.vmware.appliance.ntp"").set(""0.vmware.pool.ntp.org,1.vmware.pool.ntp.org,2.vmware.pool.ntp.org,3.vmware.pool.ntp.org"")
vSphere Client 中的设置位置
不适用

安装软件更新

确保 vCenter Server 已安装所有软件更新。

通过将 vCenter Server 修补程序保持最新状态,可以缓解漏洞的影响。攻击者可以在尝试获取未经授权的访问权限或提升特权时利用已知漏洞。

应用更新时,请先更新 vCenter Server(如果有可用更新),然后继续更新 ESXi。此顺序可确保在更新 ESXi 主机之前更新管理层。

安装默认值:不适用
基准建议值:不适用
建议的操作
修改安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
不适用
PowerCLI 命令修复示例
不适用
vSphere Client 中的设置位置
请参见 《管理主机和集群生命周期》文档。

轮换 vpxuser 密码

vCenter Server 必须将 vpxuser 密码配置为按适当的时间间隔轮换。

VirtualCenter.VimPasswordExpirationInDays 设置用于配置轮换周期。确保 vCenter Server 正确轮换其在 ESXi 主机上自动设置的密码。

安装默认值:30
基准建议值:30
建议的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
Get-AdvancedSetting -Entity $VC -Name VirtualCenter.VimPasswordExpirationInDays
PowerCLI 命令修复示例
Get-AdvancedSetting -Entity $VC -Name VirtualCenter.VimPasswordExpirationInDays | Set-AdvancedSetting -Value 30
vSphere Client 中的设置位置
选择 vCenter Server > 配置 > 高级设置