These security controls provide a baseline set of vSphere hardware security best practices. They are structured in a way that explains the benefits and tradeoffs of implementing the control.

Variable Used

The PowerCLI commands in this section use the following variable:

  • $ESXi = "host_name"

Use Intel Trusted Execution Technology

Ensure that Intel Trusted Execution Technology (TXT) is activated, if available in the system firmware.

Intel Xeon Scalable Processor platforms have TXT, which provides authenticity of a platform and its operating system. When activated, ESXi takes advantage of the security benefits offered by this technology.

Suggested Value
Activated
Potential Impact if Default Value Is Changed
Early implementations of TXT occasionally caused sudden system shutdowns, triggering attestation alarms in vCenter Server, or even boot failures. A system restart resolves these problems, while an update to system firmware usually resolves it permanently. See the VMware knowledge base article at https://kb.vmware.com/s/article/78243.
PowerCLI Command Assessment
(Get-VMHost -Name $ESXi | Get-View).Capability.TxtEnabled

Configure UEFI Secure Boot

Ensure that UEFI Secure Boot is activated.

Activating UEFI Secure Boot on the hardware of an ESXi host helps prevent malware and untrusted configurations.

Suggested Value
Activated
Potential Impact if Default Value Is Changed
Activating UEFI Secure Boot after installation might prevent an ESXi host from starting. Run /usr/lib/vmware/secureboot/bin/secureBoot.py -c on an example host to determine if you can activate Secure Boot safely.
PowerCLI Command Assessment
N/A

Use TPM 2.0

Ensure that a Trusted Platform Module (TPM) 2.0 is installed and configured properly on your ESXi hosts.

ESXi can use a TPM to activate advanced security features that prevent malware, remove dependencies, and secure hardware lifecycle operations. When possible, configure your hosts to use TPM 2.0 and activate the TPM in the system firmware.

Suggested Value
TPM 2.0 installed and activated (SHA-256 hashing, TIS/FIFO interface)
Potential Impact if Default Value Is Changed
None
PowerCLI Command Assessment
(Get-VMHost -Name $ESXi | Get-View).Capability.TpmSupported
(Get-VMHost -Name $ESXi | Get-View).Capability.TpmVersion

Ensure that Hardware Firmware Is Up-to-date

Ensure that you apply the latest firmware updates to all components of your systems, and that the firmware is authentic and supplied by your hardware manufacturer.

Hardware firmware is not immune from serious issues affecting confidentiality, integrity, or availability. Attackers can use vulnerable system management controllers and management engines to establish persistence, and re-infect and re-compromise hosts after reboots and updates.

Suggested Value
N/A
Potential Impact if Default Value Is Changed
If you use vSAN, ensure that the storage device and the controller firmware versions are certified.
PowerCLI Command Assessment
N/A

Secure Integrated Hardware Management Controllers

Ensure that integrated hardware management controllers are fully secured.

Many servers have integrated hardware management controllers that can be extremely helpful when monitoring and updating hardware, settings, and firmware. For these controllers:

  • Deactivate all unused functionality.
  • Disable all unused access methods.
  • Set passwords and password controls.
  • Put firewalls and access control in place so that access only occurs from authorized access workstations for the virtualization administration team.

Deactivate all "first boot" configuration options, especially ones that reconfigure the system from an inserted USB device. Also, deactivate or protect USB ports attached to management controllers. Where possible, set USB ports to permit only keyboards.

Change default passwords for accounts.

Secure external information displays to prevent information from leaking. Secure power and information buttons against unauthorized use.

Many hardware management controllers provide alert mechanisms when hardware faults and configuration changes occur. Consider using these if you are not using another method for hardware monitoring.

Suggested Value
N/A
Potential Impact if Default Value Is Changed
Deactivating connection methods might cause future monitoring and management changes to the hardware management controller configurations across your deployed servers. When possible, use CLI and API management methods that you can script in lieu of using additional management software or applications. Learning these techniques saves time, avoids the additional effort of installing and maintaining additional tools, and allows for timely configuration changes.
PowerCLI Command Assessment
N/A

Synchronize Time on Integrated Hardware Management Controllers

Ensure that you synchronize time on integrated hardware management controllers.

Cryptography, audit logging, cluster operations, and incident responses depend on synchronized time. This recommendation extends to all devices in your infrastructure. Network Time Protocol (NTP) must have at least four sources. If you must choose between two sources and one source, one source is preferable.

Suggested Value

Site-Specific or:

0.vmware.pool.ntp.org,

1.vmware.pool.ntp.org,

2.vmware.pool.ntp.org,

3.vmware.pool.ntp.org

Potential Impact if Default Value Is Changed
None
PowerCLI Command Assessment
N/A

Secure How Integrated Hardware Management Controllers Use Active Directory

Ensure that you do not create a dependency loop or attack vector in how integrated hardware management controllers use Active Directory.

Either deactivate connections to Active Directory, or at a minimum, considered them as attack vectors and dependency loops (for authentication, authorization, DNS, DHCP, and time). Consider managing local accounts on these devices through APIs and CLIs. If you must use Active Directory for authentication, use local authorization so that attackers with access to Active Directory cannot promote themselves through group membership.

Suggested Value
N/A
Potential Impact if Default Value Is Changed
Not connecting hardware management controllers to centralized authentication and authorization sources entails additional management. Most hardware management controllers have CLI toolkits or APIs to automate the process.
PowerCLI Command Assessment
N/A

Deactivate Virtual Integrated Hardware Management Controllers

Ensure that integrated hardware management controllers with internal, emulated, or virtual network interfaces are deactivated.

Some hardware management controllers have the ability to present virtual network interfaces to ESXi as a management interface. These approaches create potential back doors for access that adversaries can use to circumvent network-based and perimeter firewalls, in either direction, and to avoid observation by IDS, IPS, and threat analysis tools. In many cases, this functionality is not strictly necessary to manage hosts.

Suggested Value
N/A
Potential Impact if Default Value Is Changed
Deactivating internal networking might limit vendor management tool effectiveness.
PowerCLI Command Assessment
N/A

Activate AMD Secure Encrypted Virtualization-Encrypted State

Ensure that AMD Secure Encrypted Virtualization-Encrypted State (SEV-ES) is activated, if available in the system firmware. Ensure that the value for Minimum SEV non-ES ASID is equal to the number of SEV-ES virtual machines plus one.

AMD EPYC platforms support SEV-ES, a technology to encrypt memory and CPU register state, and limit visibility to the hypervisor, to increase workload security and decrease exposure to certain types of attacks. When configured properly, SEV-ES provides enhanced security to the guest operating system on virtual machines and containers under vSphere and vSphere with Tanzu. Activating SEV-ES in system firmware eases future enablement inside virtual machines, containers, and guest operating systems.

Suggested Value
Activated (Minimum SEV non-ES ASID is equal to the number of SEV-ES virtual machines plus one)
Potential Impact if Default Value Is Changed
The guest operating system for a virtual machine must support SEV-ES, and so limits some features, such as vMotion, snapshots, and so on. For more information about these tradeoffs, see Unsupported VMware Features on SEV-ES.
PowerCLI Command Assessment
N/A

Activate Virtual Intel Software Guard Extensions (vSGX)

Ensure that Virtual Intel® Software Guard Extensions (vSGX) is activated, if available in the system firmware.

Intel Xeon Scalable Processor platforms have Software Guard Extensions, or SGX, a technology that helps applications protect data in system memory. When configured properly, vSphere supports the use of SGX inside virtual machines. Enabling SGX in system firmware eases future enablement inside virtual machines and guest operating systems.

Suggested Value
Suggested: Activated (software, unlocked)
Potential Impact if Default Value Is Changed
The guest operating system for a virtual machine must support vSGX, and so limits some features such as vMotion, snapshots, and so on. For more information about these tradeoffs, see Unsupported VMware Features on vSGX.
PowerCLI Command Assessment
(Get-VMHost -Name $ESXi | Get-View).Capability.SgxRegistrationSupported

Deactivate External Ports

Ensure that unused external ports are deactivated or protected against unauthorized use.

Unused ports, especially USB, can be used by attackers to attach storage, networking, and keyboards. Take reasonable steps to control access to these ports through disablement and access control. Where possible, use other means such as solid rack doors, rack side panels, and flooring to make the ports inaccessible from outside the rack when the rack door is closed. Be aware that cables fit easily through many gaps in and around racks and rack doors, and stiff wires can be used to push cables into sockets from outside the rack, as well as to dislodge cables to create a service disruption.

Where possible, set USB ports to permit only keyboards.

When deactivating this type of functionality, consider that you might need to access a server using a USB keyboard during an outage, or as part of lifecycle operations, and plan accordingly.

Suggested Value
N/A
Potential Impact if Default Value Is Changed
Security is always a tradeoff. When considering a security control such as deactivating external ports, make ease of recovery from an outage or an incident a part of the equation. In this case, deactivating external ports affects the ability to use the ESXi console in case of emergency.
Some servers can dynamically deactivate and activate certain USB ports for management. Ensure that your choice for this security control meets the needs of your organization, and that you test these methods before implementing them.
PowerCLI Command Assessment
N/A