vSphere安全性 内置的安全功能 可如下降低主机的风险 默认情况下, ESXi She‖和SSH处于禁用状态。 默认情况下,只会打开有限的防火墙端口数目。您可以明确打开与特定服务关联的额外防火墙端口。 ESXi仅运行管理其功能所不可或缺的服务。分发仅限于运行ESXi所需的功能。 默认情况下,对主机进行管理访问时无需使用的所有端口均处于关闭状态。需要其他服务时,可以打开 端口。 默认情况下,弱密码被禁用,来自客户端的通信将通过SSL进行保护。用于保护通道安全的确切算法取 决于SSL握手。在ESXi上创建的默认证书会使用带有RSA加密的PKCS#1SHA-256作为签名算法 EsXi在内部使用 Tomcat Web服务支持通过 Web client进行访问。该服务已修改为只运行 Web client 进行系统管理和监控所需的功能。因此,ESXi不易遇到在更广泛的应用中所发现的 Tomcat安全问题 VMware监控可能影响ESX安全的所有安全警示,并根据需要发布安全修补程序。 未安装诸如FTP和 Telnet之类的不安全服务,且这些服务的端口在默认情况下是关闭的。由于可以轻 松使用SSH和SFTP等更为安全的服务,请避免使用这些不安全的服务,而使用更安全的替代方案 例如,如果SSH不可用,请避免使用带有SSL的 Telnet访问虚拟串行端口,而必须使用 Telnet 如果必须使用不安全的服务,且已为主机实施了充分的保护措施,则可以明确打开相应端口以支持这些 服务 ■考虑为ESXi系统使用UEF安全引导。请参见ESXi主机的UEF安全引导。 其他安全措施 评估主机安全和管理时请考虑以下建议。 限制访问 如果启用对直接控制台用户界面(DCU)、 ESXi Shel或SSH的访问,请实 施严格的访问安全策略。 ESXi Shel!具有访问主机的某些部分的特权。 任的用户提供 ESXi Shell 登录访问权限。 请勿直接访问受管主机使用 vSphere Client来管理受 vCenter server管理的ESxi主机。切勿使用 VMware Host Client直接访问受管主机,且不要从DCU更改受管主机。 如果使用脚本界面或AP管理主机,请不要直接将主机作为目标。而是将管 理主机的 vCenter server系统作为目标,并指定主机名称。 VMware,lc保留所有权利
内置的安全功能 可如下降低主机的风险: n 默认情况下,ESXi Shell 和 SSH 处于禁用状态。 n 默认情况下,只会打开有限的防火墙端口数目。您可以明确打开与特定服务关联的额外防火墙端口。 n ESXi 仅运行管理其功能所不可或缺的服务。分发仅限于运行 ESXi 所需的功能。 n 默认情况下,对主机进行管理访问时无需使用的所有端口均处于关闭状态。需要其他服务时,可以打开 端口。 n 默认情况下,弱密码被禁用,来自客户端的通信将通过 SSL 进行保护。用于保护通道安全的确切算法取 决于 SSL 握手。在 ESXi 上创建的默认证书会使用带有 RSA 加密的 PKCS#1 SHA-256 作为签名算法。 n ESXi 在内部使用 Tomcat Web 服务支持通过 Web Client 进行访问。该服务已修改为只运行 Web Client 进行系统管理和监控所需的功能。因此,ESXi 不易遇到在更广泛的应用中所发现的 Tomcat 安全问题。 n VMware 监控可能影响 ESXi 安全的所有安全警示,并根据需要发布安全修补程序。 n 未安装诸如 FTP 和 Telnet 之类的不安全服务,且这些服务的端口在默认情况下是关闭的。由于可以轻 松使用 SSH 和 SFTP 等更为安全的服务,请避免使用这些不安全的服务,而使用更安全的替代方案。 例如,如果 SSH 不可用,请避免使用带有 SSL 的 Telnet 访问虚拟串行端口,而必须使用 Telnet。 如果必须使用不安全的服务,且已为主机实施了充分的保护措施,则可以明确打开相应端口以支持这些 服务。 n 考虑为 ESXi 系统使用 UEFI 安全引导。请参见 ESXi 主机的 UEFI 安全引导。 其他安全措施 评估主机安全和管理时请考虑以下建议。 限制访问 如果启用对直接控制台用户界面 (DCUI)、ESXi Shell 或 SSH 的访问,请实 施严格的访问安全策略。 ESXi Shell 具有访问主机的某些部分的特权。只向信任的用户提供 ESXi Shell 登录访问权限。 请勿直接访问受管主机 使用 vSphere Client 来管理受 vCenter Server 管理的 ESXi 主机。切勿使用 VMware Host Client 直接访问受管主机,且不要从 DCUI 更改受管主机。 如果使用脚本界面或 API 管理主机,请不要直接将主机作为目标。而是将管 理主机的 vCenter Server 系统作为目标,并指定主机名称。 vSphere 安全性 VMware, Inc. 保留所有权利。 36
vSphere安全性 仅将DcU用于进行故障以root用户身份从DCU或 ESXi Shell访问主机仅能进行故障排除。使用任 GU|客户端或任一 VMware C凵l或AP管理ESXi主机。如果使用 ESXi Shell 或SSH,则限制具有访问权限的帐户并设置超时。 仅使用 VMware源来升级主机运行多个第三方软件包来支持管理界面或必须执行的任务。 VMware仅支 ESXi组件 持升级到这些来自 VMware源的软件包。如果使用来自另一个源的下载文件 或修补程序,就可能危及管理界面的安全或功能。查看第三方供应商站点和 VMware知识库以了解安全警示 注请遵循以下位置的Mware安全建议http://www.vmware.com/securitylo 使用主机配置文件配置Esxi主机 使用主机配置文件,您可以设置ESXi主机的标准配置和自动化这些配置设置的合规性。使用主机配置文件 您可以控制主机配置的许多方面,其中包括内存、存储、网络等。 可以从 vSphere Client中配置引用主机的主机配置文件,并将该主机配置文件应用到共享引用主机的特性的 所有主机。还可以使用主机配置文件监控主机是否存在主机配置更改。请参见 vSphere主机配置文件文档。 可以将主机配置文件附加到群集以将其应用于群集中的所有主机。 步骤 1设置引用主机规范并创建主机配置文件。 2将配置文件附加到主机或群集 3将引用主机的主机配置文件应用到其他主机或群集。 使用脚本管理主机配置设置 在包含许多主机的环境中,使用脚本管理主机比在 vSphere Client中管理主机更快且不容易出错。 vSphere包括用于主机管理的多种脚本编制语言。有关参考信息和编程提示,请参见《 vSphere命令行文 档》和《 vSphere API/SDK文档》;有关脚本式管理的其他提示,请参见 Mware社区。 vSphere管理员 文档重点介绍了如何使用 vSphere Client进行管理 vSphere PowerCLI VMware vSphere PowerCL|是 vSphere API的 Windows Power Shel接口 Sphere PowerCLI包括用于管理 vSphere组件的 Power Shell cmdlet vSphere PowerCL|包含超过200个 cmdlet、一组示例脚本和用于管理和自 动化的函数库。请参见《 vSphere PowerCL文档》 vSphere Command C凵|包含用于管理EsX主机和虚拟机的一组命令。此安装程序还会安装 Line Interface(VCLI) vSphere SDK for Perl,运行 Windows或Lnux系统,并安装ESXC凵命令 icfg-命令以及一组其他vcL命令。请参见《 vSphere Command-Line nterface文档》 从 vSphere6.0开始,还可以对 vCloud suite sdK(如 vCloud Suite SDK for Python)使用其中一个脚本 界面。 VMware,lc保留所有权利
仅将 DCUI 用于进行故障 排除 以 root 用户身份从 DCUI 或 ESXi Shell 访问主机仅能进行故障排除。使用任 一GUI 客户端或任一VMware CLI 或API 管理ESXi主机。如果使用 ESXi Shell 或 SSH,则限制具有访问权限的帐户并设置超时。 仅使用 VMware 源来升级 ESXi 组件 主机运行多个第三方软件包来支持管理界面或必须执行的任务。VMware 仅支 持升级到这些来自 VMware 源的软件包。如果使用来自另一个源的下载文件 或修补程序,就可能危及管理界面的安全或功能。查看第三方供应商站点和 VMware 知识库以了解安全警示。 注 请遵循以下位置的 VMware 安全建议:http://www.vmware.com/security/。 使用主机配置文件配置 ESXi 主机 使用主机配置文件,您可以设置 ESXi 主机的标准配置和自动化这些配置设置的合规性。使用主机配置文件, 您可以控制主机配置的许多方面,其中包括内存、存储、网络等。 可以从 vSphere Client 中配置引用主机的主机配置文件,并将该主机配置文件应用到共享引用主机的特性的 所有主机。还可以使用主机配置文件监控主机是否存在主机配置更改。请参见 vSphere 主机配置文件文档。 可以将主机配置文件附加到群集以将其应用于群集中的所有主机。 步骤 1 设置引用主机规范并创建主机配置文件。 2 将配置文件附加到主机或群集。 3 将引用主机的主机配置文件应用到其他主机或群集。 使用脚本管理主机配置设置 在包含许多主机的环境中,使用脚本管理主机比在 vSphere Client 中管理主机更快且不容易出错。 vSphere 包括用于主机管理的多种脚本编制语言。有关参考信息和编程提示,请参见《vSphere 命令行文 档》和《vSphere API/SDK 文档》;有关脚本式管理的其他提示,请参见 VMware 社区。vSphere 管理员 文档重点介绍了如何使用 vSphere Client 进行管理。 vSphere PowerCLI VMware vSphere PowerCLI 是 vSphere API 的 Windows PowerShell 接口。 vSphere PowerCLI 包括用于管理 vSphere 组件的 PowerShell cmdlet。 vSphere PowerCLI 包含超过 200 个 cmdlet、一组示例脚本和用于管理和自 动化的函数库。请参见《vSphere PowerCLI 文档》。 vSphere CommandLine Interface (vCLI) vCLI 包含用于管理 ESXi 主机和虚拟机的一组命令。此安装程序还会安装 vSphere SDK for Perl,运行 Windows 或 Linux 系统,并安装 ESXCLI 命令、 vicfg- 命令以及一组其他 vCLI 命令。请参见《vSphere Command-Line Interface 文档》。 从 vSphere 6.0 开始,还可以对 vCloud Suite SDK(如 vCloud Suite SDK for Python)使用其中一个脚本 界面。 vSphere 安全性 VMware, Inc. 保留所有权利。 37
vSphere安全性 步骤 1创建具有有限特权的自定义角色 例如,考虑创建一个角色,该角色具有一组管理主机的特权但没有管理虚拟机、存储或网络的特权。如 果只要使用脚本提取信息,则可为主机创建具有只读特权的角色。 2在 vSphere Client中,创建服务帐户并为其分配自定义角色 如果要严格限制对特定主机的访问权限,则可以创建具有不同访问权限级别的多个自定义角色。 3编写脚本以执行参数检查或修改,然后运行脚本 例如,您可以检查或设置主机的she交互式超时,如下所示 命令 VCLI (ESXCLI) sxcli <conn _options> system settings advanced get /UserVars/ESXiShellTimeOut esxcli --formatteracsv -format-paramafields-"Path, Int Value system settings advanced list I grep /UserVars/ESXiShelLTimeOut PowerCLl #List Uservars. esXiShellinteractivetimeout for each host Get-VMHost I Select Name @N="UserVars ESXiShellInteractiveTimeOut":EiS I Get-AdvancedSetting-Name UserVars ESXiShelLInteractiveTimeOut I Select -ExpandProperty Valuejy Set Uservars esXiShelltimeout to g00 on all hosts Get-VMHost i Get-AdvancedSetting -Entity s_-Name UserVars. ESXiShellInteractiveTimeOut I Set-AdvancedSetting 4在大型环境中,创建具有不同访问特权的角色并根据要执行的任务将主机分组到文件夹。然后从不同服 务帐户对不同文件夹运行脚本。 5运行命令后,确认更改已生效。 Esi密码和帐户锁定 付于ESX主机,您需要使用符合预定义要求的密码。您可以使用 Security. PasswordQuality Contro 高级选项更改所需长度和字符类别要求或允许密码短语。 ESXi使用 Linux PAM模块pam_ passwd进行密码管理和控制。有关详细信息,请参见pqm_ passwd的 注ESXi密码的默认要求因版本而异。您可以使用 Security. PasswordQuality Control高级选项检查并 更改默认的密码限制。 VMware,lc保留所有权利
步骤 1 创建具有有限特权的自定义角色。 例如,考虑创建一个角色,该角色具有一组管理主机的特权但没有管理虚拟机、存储或网络的特权。如 果只要使用脚本提取信息,则可为主机创建具有只读特权的角色。 2 在 vSphere Client 中,创建服务帐户并为其分配自定义角色。 如果要严格限制对特定主机的访问权限,则可以创建具有不同访问权限级别的多个自定义角色。 3 编写脚本以执行参数检查或修改,然后运行脚本。 例如,您可以检查或设置主机的 shell 交互式超时,如下所示: 语言 命令 vCLI (ESXCLI) esxcli <conn_options> system settings advanced get /UserVars/ESXiShellTimeOut esxcli --formatter=csv --format-param=fields="Path,Int Value" system settings advanced list | grep /UserVars/ESXiShellTimeOut PowerCLI #List UserVars.ESXiShellInteractiveTimeOut for each host Get-VMHost | Select Name, @{N="UserVars.ESXiShellInteractiveTimeOut";E={$_ | Get-AdvancedSetting -Name UserVars.ESXiShellInteractiveTimeOut | Select -ExpandProperty Value}} # Set UserVars.ESXiShellTimeOut to 900 on all hosts Get-VMHost | Foreach { Get-AdvancedSetting -Entity $_ -Name UserVars.ESXiShellInteractiveTimeOut | Set-AdvancedSetting - Value 900 } 4 在大型环境中,创建具有不同访问特权的角色并根据要执行的任务将主机分组到文件夹。然后从不同服 务帐户对不同文件夹运行脚本。 5 运行命令后,确认更改已生效。 ESXi 密码和帐户锁定 对于 ESXi 主机,您需要使用符合预定义要求的密码。您可以使用 Security.PasswordQualityControl 高级选项更改所需长度和字符类别要求或允许密码短语。 ESXi 使用 Linux PAM 模块 pam_passwdqc 进行密码管理和控制。有关详细信息,请参见 pam_passwdqc 的 手册页。 注 ESXi 密码的默认要求因版本而异。您可以使用 Security.PasswordQualityControl 高级选项检查并 更改默认的密码限制。 vSphere 安全性 VMware, Inc. 保留所有权利。 38
vSphere安全性 Esxi密码 EsXi对从直接控制台用户界面、 ESXi Shell、SsH或 VMware Host client进行的访问强制执行密码要求。 默认情况下,创建密码时必须包括四类字符:小写字母、大写字母、数字和特殊字符(如下划线或短划 线)。 默认情况下,密码长度大于7小于40。 密码不能包含字典单词或部分字典单词 注密码开头的大写字母不算入使用的字符类别数。密码结尾的数字不算入使用的字符类别数。 Esxi密码示例 以下候选密码说明选项设置如下时可以使用的密码。 retry=3 minadisabled, disabled, disabled, 7, 7 使用此设置时,不允许使用包含一种或两种类别字符的密码,也不允许使用密码短语,因为前三项已禁用。 使用三种和四种类别字符的密码需要7个字符。有关详细信息,请参见 pam_-passwdgc手册页。 使用这些设置时,允许使用以下密码。 XQaTEhb!:包含由三类字符组成的八个字符。 XQaT3#A:包含由四类字符组成的七个字符。 下列候选密码不符合要求。 Xqat3hi:以大写字符开头,将有效字符类别数减少为两种。需要的最少字符类别数为三种。 XQaTEh2:以数字结尾,将有效字符种类数减少到两种。需要的最少字符类别数为三种。 Esxi密码短语 您还可以使用密码短语代替密码,但是,默认情况下,密码短语处于禁用状态。您可以在 vSphere Client中 使用 Security. PasswordQuality Control高级选项更改此默认值或其他设置 例如,您可以将该选项更改为以下值。 retry=3 minadisabled, disabled, 16, 7, 7 此示例允许密码短语的长度至少为16个字符,且至少包含3个单词,并以空格分隔 对于旧版主机,仍然支持更改/etc/pamd/ passwd文件,但在将来的版本中将不再支持更改此文件。将来 的版本将改用 Security. PasswordQuality Control高级选项。 更改默认密码限制 您可以使用ESXi主机的 Security. PasswordQuality Control高级选项更改密码或密码短语的默认限制。 有关设置ESXi高级选项的信息,请参见 vCenter Server和主机管理文档 VMware,lc保留所有权利
ESXi 密码 ESXi 对从直接控制台用户界面、ESXi Shell、SSH 或 VMware Host Client 进行的访问强制执行密码要求。 n 默认情况下,创建密码时必须包括四类字符:小写字母、大写字母、数字和特殊字符(如下划线或短划 线)。 n 默认情况下,密码长度大于 7 小于 40。 n 密码不能包含字典单词或部分字典单词。 注 密码开头的大写字母不算入使用的字符类别数。密码结尾的数字不算入使用的字符类别数。 ESXi 密码示例 以下候选密码说明选项设置如下时可以使用的密码。 retry=3 min=disabled,disabled,disabled,7,7 使用此设置时,不允许使用包含一种或两种类别字符的密码,也不允许使用密码短语,因为前三项已禁用。 使用三种和四种类别字符的密码需要 7 个字符。有关详细信息,请参见 pam_passwdqc 手册页。 使用这些设置时,允许使用以下密码。 n xQaTEhb!:包含由三类字符组成的八个字符。 n xQaT3#A:包含由四类字符组成的七个字符。 下列候选密码不符合要求。 n Xqat3hi:以大写字符开头,将有效字符类别数减少为两种。需要的最少字符类别数为三种。 n xQaTEh2:以数字结尾,将有效字符种类数减少到两种。需要的最少字符类别数为三种。 ESXi 密码短语 您还可以使用密码短语代替密码,但是,默认情况下,密码短语处于禁用状态。您可以在 vSphere Client 中 使用 Security.PasswordQualityControl 高级选项更改此默认值或其他设置。 例如,您可以将该选项更改为以下值。 retry=3 min=disabled,disabled,16,7,7 此示例允许密码短语的长度至少为 16 个字符,且至少包含 3 个单词,并以空格分隔。 对于旧版主机,仍然支持更改 /etc/pamd/passwd 文件,但在将来的版本中将不再支持更改此文件。将来 的版本将改用 Security.PasswordQualityControl 高级选项。 更改默认密码限制 您可以使用 ESXi 主机的 Security.PasswordQualityControl 高级选项更改密码或密码短语的默认限制。 有关设置 ESXi 高级选项的信息,请参见 vCenter Server 和主机管理文档。 vSphere 安全性 VMware, Inc. 保留所有权利。 39
vSphere安全性 例如,您可以将默认值更改为要求包含最少15个字符和最少4个字,如下所示 retry=3 minadisabled, disabled, 15, 7, 7 passphrase=4 有关详细信息,请参见 pam_-passwdgc的手册页。 注并非 pam_passwdgc选项的所有可能的组合均已经过测试。请在更改默认密码设置后执行额外的测试。 Es×i帐户锁定行为 从 vSphere6.0开始,系统将支持对通过SSH和通过 vSphere Web Services SDK进行的访问进行帐户锁 定。直接控制台界面(DCU)和 ESXi Shell不支持帐户锁定。默认情况下,允许最多10次尝试,当这些尝 试均失败后,才会锁定帐户。默认情况下,帐户将在两分钟后解锁。 配置登录行为 可以使用以下高级选项配置ESXi主机的登录行为 Security. AccountLock Failures。在锁定用户帐户之前允许的最多失败登录尝试次数。“零”将禁 用帐户锁定。 Security. AccountUnlocktime用户被锁定的秒数。 有关设置ESXi高级选项的信息,请参见 vCenter Server和主机管理文档 ssH安全 可以使用SSH远程登录到 ESXi She并执行针对主机的故障排除任务。 ESXⅰ中的SSH配置得到了增强,能够提供较高的安全级别。 禁用第1版SSH协议 VMware不再支持第1版SSH协议,而是以独占方式使用第2版协议。第2 版消除了第1版中存在的某些安全问题,且提供了一个安全的方式与管理接 口进行通信。 提高了密码强度 sSH对连接仅支持256位和128位AES密码。 这些设置旨在为通过SSH传输到管理接口的数据提供可靠保护。不能更改这些设置 ESXI SSH密钥 SSH密钥可以限制、控制以及保护对ESXi主机的访问。可以利用SSH密钥允许受信任的用户或脚本在不 指定密码的情况下即可登录主机。 可以使用 vifs vsphere C凵命令将SSH密钥复制到主机。有关安装和使用 vSphere C凵命令集的信息, 请参见《 vSphere Command- ine Interface入门》。也可以使用 Https Put将SSK密钥复制到主机。 您无需在外部生成密钥并进行上载,而是可以在ESⅪ主机上创建密钥,然后进行下载。请参见 VMware知 识库文章,网址为http://kb.vmwarecom/kb/1002866 VMware,lc保留所有权利
例如,您可以将默认值更改为要求包含最少 15 个字符和最少 4 个字,如下所示: retry=3 min=disabled,disabled,15,7,7 passphrase=4 有关详细信息,请参见 pam_passwdqc 的手册页。 注 并非 pam_passwdqc 选项的所有可能的组合均已经过测试。请在更改默认密码设置后执行额外的测试。 ESXi 帐户锁定行为 从 vSphere 6.0 开始,系统将支持对通过 SSH 和通过 vSphere Web Services SDK 进行的访问进行帐户锁 定。直接控制台界面 (DCUI) 和 ESXi Shell 不支持帐户锁定。默认情况下,允许最多 10 次尝试,当这些尝 试均失败后,才会锁定帐户。默认情况下,帐户将在两分钟后解锁。 配置登录行为 可以使用以下高级选项配置 ESXi 主机的登录行为: n Security.AccountLockFailures。在锁定用户帐户之前允许的最多失败登录尝试次数。“零”将禁 用帐户锁定。 n Security.AccountUnlockTime.用户被锁定的秒数。 有关设置 ESXi 高级选项的信息,请参见 vCenter Server 和主机管理文档。 SSH 安全 可以使用 SSH 远程登录到 ESXi Shell 并执行针对主机的故障排除任务。 ESXi 中的 SSH 配置得到了增强,能够提供较高的安全级别。 禁用第 1 版 SSH 协议 VMware 不再支持第 1 版 SSH 协议,而是以独占方式使用第 2 版协议。第 2 版消除了第 1 版中存在的某些安全问题,且提供了一个安全的方式与管理接 口进行通信。 提高了密码强度 SSH 对连接仅支持 256 位和 128 位 AES 密码。 这些设置旨在为通过 SSH 传输到管理接口的数据提供可靠保护。不能更改这些设置。 ESXi SSH 密钥 SSH 密钥可以限制、控制以及保护对 ESXi 主机的访问。可以利用 SSH 密钥允许受信任的用户或脚本在不 指定密码的情况下即可登录主机。 可以使用 vifs vSphere CLI 命令将 SSH 密钥复制到主机。有关安装和使用 vSphere CLI 命令集的信息, 请参见《vSphere Command-Line Interface 入门》。也可以使用 HTTPS PUT 将 SSK 密钥复制到主机。 您无需在外部生成密钥并进行上载,而是可以在 ESXi 主机上创建密钥,然后进行下载。请参见 VMware 知 识库文章,网址为 http://kb.vmware.com/kb/1002866。 vSphere 安全性 VMware, Inc. 保留所有权利。 40