VMware vSphere 6.7 Virtual Machine Security Technical Implementation Guide

  • Version/Release: V1R3
  • Published: 2023-06-16
  • Expand All:
  • Severity:
  • Sort:
Compare

Select any two versions of this STIG to compare the individual requirements

View

Select any old version/release of this STIG to view the previous requirements

This Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DOD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: disa.stig_spt@mail.mil.
a
Copy operations must be disabled on the virtual machine.
CM-6 - Low - CCI-000366 - V-239332 - SV-239332r679545_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
VMCH-67-000001
Vuln IDs
  • V-239332
Rule IDs
  • SV-239332r679545_rule
Copy and paste operations are disabled by default; however, by explicitly disabling this feature it will enable audit controls to check that this setting is correct. Copy, paste, drag and drop, or GUI copy/paste operations between the guest OS and the remote console could provide the means for an attacker to compromise the VM.
Checks: C-42565r679543_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the isolation.tools.copy.disable value is set to true. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.tools.copy.disable If the virtual machine advanced setting isolation.tools.copy.disable does not exist or is not set to true, this is a finding.

Fix: F-42524r679544_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Find the isolation.tools.copy.disable value and set it to true. If the setting does not exist, add the Name and Value setting at the bottom of screen. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name isolation.tools.copy.disable -Value true If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.tools.copy.disable | Set-AdvancedSetting -Value true

a
Drag and drop operations must be disabled on the virtual machine.
CM-6 - Low - CCI-000366 - V-239333 - SV-239333r679548_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
VMCH-67-000002
Vuln IDs
  • V-239333
Rule IDs
  • SV-239333r679548_rule
Copy and paste operations are disabled by default; however, by explicitly disabling this feature it will enable audit controls to check that this setting is correct. Copy, paste, drag and drop, or GUI copy/paste operations between the guest OS and the remote console could provide the means for an attacker to compromise the VM.
Checks: C-42566r679546_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the isolation.tools.dnd.disable value is set to true. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.tools.dnd.disable If the virtual machine advanced setting isolation.tools.dnd.disable does not exist or is not set to true, this is a finding.

Fix: F-42525r679547_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the isolation.tools.dnd.disable value is set to true. If the setting does not exist, add the Name and Value setting at the bottom of screen. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name isolation.tools.dnd.disable -Value true If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.tools.dnd.disable | Set-AdvancedSetting -Value true

a
Paste operations must be disabled on the virtual machine.
CM-6 - Low - CCI-000366 - V-239334 - SV-239334r679551_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
VMCH-67-000003
Vuln IDs
  • V-239334
Rule IDs
  • SV-239334r679551_rule
Copy and paste operations are disabled by default; however, by explicitly disabling this feature it will enable audit controls to check that this setting is correct. Copy, paste, drag and drop, or GUI copy/paste operations between the guest OS and the remote console could provide the means for an attacker to compromise the VM.
Checks: C-42567r679549_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the isolation.tools.paste.disable value is set to true. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.tools.paste.disable If the virtual machine advanced setting isolation.tools.paste.disable does not exist or is not set to true, this is a finding.

Fix: F-42526r679550_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Find the isolation.tools.paste.disable value and set it to true. If the setting does not exist, add the Name and Value setting at the bottom of screen. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name isolation.tools.paste.disable -Value true If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.tools.paste.disable | Set-AdvancedSetting -Value true

b
Virtual disk shrinking must be disabled on the virtual machine.
CM-6 - Medium - CCI-000366 - V-239335 - SV-239335r679554_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000004
Vuln IDs
  • V-239335
Rule IDs
  • SV-239335r679554_rule
Shrinking a virtual disk reclaims unused space in it. If there is empty space in the disk, this process reduces the amount of space the virtual disk occupies on the host drive. Normal users and processes-that is, users and processes without root or administrator privileges-within virtual machines have the capability to invoke this procedure. However, if this is done repeatedly, the virtual disk can become unavailable while this shrinking is being performed, effectively causing a denial-of-service. In most datacenter environments, disk shrinking is not done, so this feature must be disabled. Repeated disk shrinking can make a virtual disk unavailable. The capability to shrink is available to non-administrative users operating within the VMs guest OS.
Checks: C-42568r679552_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the isolation.tools.diskShrink.disable value is set to true. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.tools.diskShrink.disable If the virtual machine advanced setting isolation.tools.diskShrink.disable does not exist or is not set to true, this is a finding.

Fix: F-42527r679553_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Find the isolation.tools.diskShrink.disable value and set it to true. If the setting does not exist, add the Name and Value setting at the bottom of screen. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name isolation.tools.diskShrink.disable -Value true If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.tools.diskShrink.disable | Set-AdvancedSetting -Value true

b
Virtual disk erasure must be disabled on the virtual machine.
CM-6 - Medium - CCI-000366 - V-239336 - SV-239336r816834_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000005
Vuln IDs
  • V-239336
Rule IDs
  • SV-239336r816834_rule
Shrinking and wiping (erasing) a virtual disk reclaims unused space in it. If there is empty space in the disk, this process reduces the amount of space the virtual disk occupies on the host drive. Normal users and processes - that is, users and processes without root or administrator privileges - within virtual machines have the capability to invoke this procedure. However, if this is done repeatedly, the virtual disk can become unavailable while this shrinking is being performed, effectively causing a denial-of-service. In most datacenter environments, disk shrinking is not done, so this feature must be disabled. Repeated disk shrinking can make a virtual disk unavailable. The capability to wipe (erase) is available to non-administrative users operating within the VMs guest OS.
Checks: C-42569r816832_chk

From the vSphere Web Client, right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the isolation.tools.diskWiper.disable value is set to "true". or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.tools.diskWiper.disable If the virtual machine advanced setting isolation.tools.diskWiper.disable does not exist or is not set to true, this is a finding.

Fix: F-42528r816833_fix

From the vSphere Web Client, right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Find the isolation.tools.diskWiper.disable value and set it to "true". If the setting does not exist, add the Name and Value setting at the bottom of screen. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name isolation.tools.diskWiper.disable -Value true If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.tools.diskWiper.disable | Set-AdvancedSetting -Value true

b
Independent, non-persistent disks must be not be used on the virtual machine.
CM-6 - Medium - CCI-000366 - V-239337 - SV-239337r679560_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000006
Vuln IDs
  • V-239337
Rule IDs
  • SV-239337r679560_rule
The security issue with nonpersistent disk mode is that successful attackers, with a simple shutdown or reboot, might undo or remove any traces that they were ever on the machine. To safeguard against this risk, production virtual machines should be set to use persistent disk mode; additionally, make sure that activity within the VM is logged remotely on a separate server, such as a syslog server or equivalent Windows-based event collector. Without a persistent record of activity on a VM, administrators might never know whether they have been attacked or hacked. There can be valid use cases for these types of disks such as with an application presentation solution where read only disks are desired and such cases should be identified and documented.
Checks: C-42570r679558_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings. Review the attached hard disks and verify they are not configured as independent nonpersistent disks. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-HardDisk | Select Parent, Name, Filename, DiskType, Persistence | FT -AutoSize If the virtual machine has attached disks that are in independent nonpersistent mode and are not documented, this is a finding.

Fix: F-42529r679559_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings. Select the target hard disk and change the mode to persistent or uncheck Independent. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-HardDisk | Set-HardDisk -Persistence IndependentPersistent or Get-VM "VM Name" | Get-HardDisk | Set-HardDisk -Persistence Persistent

b
HGFS file transfers must be disabled on the virtual machine.
CM-6 - Medium - CCI-000366 - V-239338 - SV-239338r679563_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000007
Vuln IDs
  • V-239338
Rule IDs
  • SV-239338r679563_rule
Setting isolation.tools.hgfsServerSet.disable to true disables registration of the guest's HGFS server with the host. APIs that use HGFS to transfer files to and from the guest operating system, such as some VIX commands, will not function. An attacker could potentially use this to transfer files inside the guest OS.
Checks: C-42571r679561_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the isolation.tools.hgfsServerSet.disable value is set to true. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.tools.hgfsServerSet.disable If the virtual machine advanced setting isolation.tools.hgfsServerSet.disable does not exist or is not set to true, this is a finding.

Fix: F-42530r679562_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Find the isolation.tools.hgfsServerSet.disable value and set it to true. If the setting does not exist, add the Name and Value setting at the bottom of screen. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name isolation.tools.hgfsServerSet.disable -Value true If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.tools.hgfsServerSet.disable | Set-AdvancedSetting -Value true

b
Unauthorized floppy devices must be disconnected on the virtual machine.
CM-6 - Medium - CCI-000366 - V-239339 - SV-239339r679566_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000008
Vuln IDs
  • V-239339
Rule IDs
  • SV-239339r679566_rule
Ensure that no device is connected to a virtual machine if it is not required. For example, floppy, serial and parallel ports are rarely used for virtual machines in a datacenter environment, and CD/DVD drives are usually connected only temporarily during software installation.
Checks: C-42572r679564_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings. Review the VMs hardware and verify no floppy device is connected. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM | Get-FloppyDrive | Select Parent, Name, ConnectionState If a virtual machine has a floppy drive connected, this is a finding.

Fix: F-42531r679565_fix

If the floppy drive is required to be present, then from the vSphere Client right-click the Virtual Machine and go to Edit Settings, make sure the drive is not connected and will not "Connect at power on". If the floppy drive is not required, then from the vSphere Client power off the virtual machine, right-click the Virtual Machine and go to Edit Settings, select the floppy drive and click the circle-x to remove then OK. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-FloppyDrive | Remove-FloppyDrive

a
Unauthorized CD/DVD devices must be disconnected on the virtual machine.
CM-6 - Low - CCI-000366 - V-239340 - SV-239340r679569_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
VMCH-67-000009
Vuln IDs
  • V-239340
Rule IDs
  • SV-239340r679569_rule
Ensure that no device is connected to a virtual machine if it is not required. For example, floppy, serial and parallel ports are rarely used for virtual machines in a datacenter environment, and CD/DVD drives are usually connected only temporarily during software installation.
Checks: C-42573r679567_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings. Review the VMs hardware and verify no CD/DVD drives are connected. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM | Get-CDDrive | Where {$_.extensiondata.connectable.connected -eq $true} | Select Parent,Name If a virtual machine has a CD/DVD drive connected other than temporarily, this is a finding.

Fix: F-42532r679568_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings. Select the CD/DVD drive and uncheck "Connected" and "Connect at power on" and remove any attached ISOs. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-CDDrive | Set-CDDrive -NoMedia

b
Unauthorized parallel devices must be disconnected on the virtual machine.
CM-6 - Medium - CCI-000366 - V-239341 - SV-239341r679572_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000010
Vuln IDs
  • V-239341
Rule IDs
  • SV-239341r679572_rule
Ensure that no device is connected to a virtual machine if it is not required. For example, floppy, serial and parallel ports are rarely used for virtual machines in a datacenter environment, and CD/DVD drives are usually connected only temporarily during software installation.
Checks: C-42574r679570_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings. Review the VMs hardware and verify no parallel devices exist. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM | Where {$_.ExtensionData.Config.Hardware.Device.DeviceInfo.Label -match "parallel"} If a virtual machine has a parallel device present, this is a finding.

Fix: F-42533r679571_fix

The VM must be powered off in order to remove a parallel device. From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings. Select the parallel device and click the circle-x to remove then OK.

b
Unauthorized serial devices must be disconnected on the virtual machine.
CM-6 - Medium - CCI-000366 - V-239342 - SV-239342r679575_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000011
Vuln IDs
  • V-239342
Rule IDs
  • SV-239342r679575_rule
Ensure that no device is connected to a virtual machine if it is not required. For example, floppy, serial and parallel ports are rarely used for virtual machines in a datacenter environment, and CD/DVD drives are usually connected only temporarily during software installation.
Checks: C-42575r679573_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings. Review the VMs hardware and verify no serial devices exist. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM | Where {$_.ExtensionData.Config.Hardware.Device.DeviceInfo.Label -match "serial"} If a virtual machine has a serial device present, this is a finding.

Fix: F-42534r679574_fix

The VM must be powered off in order to remove a serial device. From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings. Select the serial device and click the circle-x to remove then OK.

b
Unauthorized USB devices must be disconnected on the virtual machine.
CM-6 - Medium - CCI-000366 - V-239343 - SV-239343r679578_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000012
Vuln IDs
  • V-239343
Rule IDs
  • SV-239343r679578_rule
Ensure that no device is connected to a virtual machine if it is not required. For example, floppy, serial and parallel ports are rarely used for virtual machines in a datacenter environment, and CD/DVD drives are usually connected only temporarily during software installation.
Checks: C-42576r679576_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings. Review the VMs hardware and verify no USB devices exist. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following commands: Get-VM | Where {$_.ExtensionData.Config.Hardware.Device.DeviceInfo.Label -match "usb"} Get-VM | Get-UsbDevice If a virtual machine has any USB devices or USB controllers present, this is a finding. If USB smart card readers are used to pass smart cards through the VM console to a VM then the use of a USB controller and USB devices for that purpose is not a finding.

Fix: F-42535r679577_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings. Select the USB controller and click the circle-x to remove then OK. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-USBDevice | Remove-USBDevice Note: This will not remove the USB controller just any connected devices.

b
Console connection sharing must be limited on the virtual machine.
CM-6 - Medium - CCI-000366 - V-239344 - SV-239344r679581_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000013
Vuln IDs
  • V-239344
Rule IDs
  • SV-239344r679581_rule
By default, remote console sessions can be connected to by more than one user at a time. When multiple sessions are activated, each terminal window is notified about the new session. If an administrator in the VM logs in using a VMware remote console during their session, a non-administrator in the VM might connect to the console and observe the administrator's actions. Also, this could result in an administrator losing console access to a virtual machine. For example, if a jump box is being used for an open console session and the admin loses connection to that box, then the console session remains open. Allowing two console sessions permits debugging via a shared session. For highest security, only one remote console session at a time should be allowed.
Checks: C-42577r679579_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the RemoteDisplay.maxConnections value is set to 1. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name RemoteDisplay.maxConnections If the virtual machine advanced setting RemoteDisplay.maxConnections does not exist or is not set to 1, this is a finding.

Fix: F-42536r679580_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Find the RemoteDisplay.maxConnections value and set it to 1. If the setting does not exist, add the Name and Value setting at the bottom of screen. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name RemoteDisplay.maxConnections -Value 1 If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name RemoteDisplay.maxConnections | Set-AdvancedSetting -Value 1

b
Console access through the VNC protocol must be disabled on the virtual machine.
CM-6 - Medium - CCI-000366 - V-239345 - SV-239345r679584_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000014
Vuln IDs
  • V-239345
Rule IDs
  • SV-239345r679584_rule
The VM console enables connection to the console of a virtual machine, in effect seeing what a monitor on a physical server would show. This console is also available via the VNC protocol and should be disabled.
Checks: C-42578r679582_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the RemoteDisplay.vnc.enabled value is set to false. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name RemoteDisplay.vnc.enabled If the virtual machine advanced setting RemoteDisplay.vnc.enabled does not exist or is not set to false, this is a finding.

Fix: F-42537r679583_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Find the RemoteDisplay.vnc.enabled value and set it to false. If the setting does not exist, add the Name and Value setting at the bottom of screen. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name RemoteDisplay.vnc.enabled -Value false If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name RemoteDisplay.vnc.enabled | Set-AdvancedSetting -Value false

a
Informational messages from the virtual machine to the VMX file must be limited on the virtual machine.
CM-6 - Low - CCI-000366 - V-239346 - SV-239346r679587_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
VMCH-67-000015
Vuln IDs
  • V-239346
Rule IDs
  • SV-239346r679587_rule
The configuration file containing these name-value pairs is limited to a size of 1MB. If not limited, VMware tools in the guest OS are capable of sending a large and continuous data stream to the host. This 1MB capacity should be sufficient for most cases, but this value can change if necessary. The value can be increased if large amounts of custom information are being stored in the configuration file. The default limit is 1MB.
Checks: C-42579r679585_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the tools.setinfo.sizeLimit value is set to 1048576. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name tools.setinfo.sizeLimit If the virtual machine advanced setting tools.setinfo.sizeLimit does not exist or is not set to 1048576, this is a finding.

Fix: F-42538r679586_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Find the tools.setinfo.sizeLimit value and set it to 1048576. If the setting does not exist, add the Name and Value setting at the bottom of screen. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name tools.setinfo.sizeLimit -Value 1048576 If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name tools.setinfo.sizeLimit | Set-AdvancedSetting -Value 1048576

b
Unauthorized removal, connection and modification of devices must be prevented on the virtual machine.
CM-6 - Medium - CCI-000366 - V-239347 - SV-239347r679590_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000016
Vuln IDs
  • V-239347
Rule IDs
  • SV-239347r679590_rule
In a virtual machine, users and processes without root or administrator privileges can connect or disconnect devices, such as network adaptors and CD-ROM drives, and can modify device settings. Use the virtual machine settings editor or configuration editor to remove unneeded or unused hardware devices. To use the device again, prevent a user or running process in the virtual machine from connecting, disconnecting, or modifying a device from within the guest operating system. By default, a rogue user with nonadministrator privileges in a virtual machine can: 1. Connect a disconnected CD-ROM drive and access sensitive information on the media left in the drive. 2. Disconnect a network adaptor to isolate the virtual machine from its network, which is a denial of service. 3. Modify settings on a device.
Checks: C-42580r679588_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the isolation.device.connectable.disable value is set to true. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.device.connectable.disable If the virtual machine advanced setting isolation.device.connectable.disable does not exist or is not set to true, this is a finding.

Fix: F-42539r679589_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Find the isolation.device.connectable.disable value and set it to true. If the setting does not exist, add the Name and Value setting at the bottom of screen. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name isolation.device.connectable.disable -Value true If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name isolation.device.connectable.disable | Set-AdvancedSetting -Value true

b
The virtual machine must not be able to obtain host information from the hypervisor.
CM-6 - Medium - CCI-000366 - V-239348 - SV-239348r679593_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000017
Vuln IDs
  • V-239348
Rule IDs
  • SV-239348r679593_rule
If enabled, a VM can obtain detailed information about the physical host. The default value for the parameter is FALSE. This setting should not be TRUE unless a particular VM requires this information for performance monitoring. An adversary potentially can use this information to inform further attacks on the host.
Checks: C-42581r679591_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the tools.guestlib.enableHostInfo value is set to false. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name tools.guestlib.enableHostInfo If the virtual machine advanced setting tools.guestlib.enableHostInfo does not exist or is not set to false, this is a finding.

Fix: F-42540r679592_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Find the tools.guestlib.enableHostInfo value and set it to false. If the setting does not exist, add the Name and Value setting at the bottom of screen. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name tools.guestlib.enableHostInfo -Value false If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name tools.guestlib.enableHostInfo | Set-AdvancedSetting -Value false

a
Shared salt values must be disabled on the virtual machine.
CM-6 - Low - CCI-000366 - V-239349 - SV-239349r679596_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
VMCH-67-000018
Vuln IDs
  • V-239349
Rule IDs
  • SV-239349r679596_rule
When salting is enabled (Mem.ShareForceSalting=1 or 2) in order to share a page between two virtual machines both salt and the content of the page must be same. A salt value is a configurable advanced option for each virtual machine. The salt values can be manually specified in the virtual machine's advanced settings with the new option sched.mem.pshare.salt. If this option is not present in the virtual machine's advanced settings, then the value of the vc.uuid option is taken as the default value. Since the vc.uuid is unique to each virtual machine, by default TPS happens only among the pages belonging to a particular virtual machine (Intra-VM).
Checks: C-42582r679594_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Verify the sched.mem.pshare.salt setting does not exist. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name sched.mem.pshare.salt If the virtual machine advanced setting sched.mem.pshare.salt exists, this is a finding.

Fix: F-42541r679595_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Delete the sched.mem.pshare.salt setting. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name sched.mem.pshare.salt | Remove-AdvancedSetting

a
Access to virtual machines through the dvfilter network APIs must be controlled.
CM-6 - Low - CCI-000366 - V-239350 - SV-239350r679599_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
VMCH-67-000019
Vuln IDs
  • V-239350
Rule IDs
  • SV-239350r679599_rule
An attacker might compromise a VM by making use the dvFilter API. Configure only those VMs to use the API that need this access.
Checks: C-42583r679597_chk

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Look for settings with the format ethernet*.filter*.name. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name "ethernet*.filter*.name*" If the virtual machine advanced setting ethernet*.filter*.name exists and dvfilters are not in use, this is a finding. If the virtual machine advanced setting ethernet*.filter*.name exists and the value is not valid, this is a finding.

Fix: F-42542r679598_fix

From the vSphere Web Client right-click the Virtual Machine and go to Edit Settings >> VM Options >> Advanced >> Configuration Parameters >> Edit Configuration. Look for settings with the format ethernet*.filter*.name. Ensure only required VMs use this setting. Note: The VM must be powered off to configure the advanced settings through the vSphere Web Client so it is recommended to configure these settings with PowerCLI as it can be done while the VM is powered on. Settings do not take effect via either method until the virtual machine is cold started, not rebooted. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name ethernetX.filterY.name | Remove-AdvancedSetting Note: Change the X and Y values to match the specific setting in your environment.

a
System administrators must use templates to deploy virtual machines whenever possible.
CM-6 - Low - CCI-000366 - V-239351 - SV-239351r679602_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
VMCH-67-000020
Vuln IDs
  • V-239351
Rule IDs
  • SV-239351r679602_rule
By capturing a hardened base operating system image (with no applications installed) in a template, ensure all virtual machines are created with a known baseline level of security. Then use this template to create other, application-specific templates, or use the application template to deploy virtual machines. Manual installation of the OS and applications into a VM introduces the risk of misconfiguration due to human or process error.
Checks: C-42584r679600_chk

Ask the SA if hardened, patched templates are used for VM creation, properly configured OS deployments, including applications both dependent and non-dependent on VM-specific configurations. If hardened, patched templates are not used for VM creation, this is a finding.

Fix: F-42543r679601_fix

Create hardened virtual machine templates to use for OS deployments.

b
Use of the virtual machine console must be minimized.
CM-6 - Medium - CCI-000366 - V-239352 - SV-239352r679605_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000021
Vuln IDs
  • V-239352
Rule IDs
  • SV-239352r679605_rule
The VM console enables a connection to the console of a virtual machine, in effect seeing what a monitor on a physical server would show. The VM console also provides power management and removable device connectivity controls, which might potentially allow a malicious user to bring down a virtual machine. In addition, it also has a performance impact on the service console, especially if many VM console sessions are open simultaneously.
Checks: C-42585r679603_chk

Remote management services, such as terminal services and SSH, must be used to interact with virtual machines. VM console access should only be granted when remote management services are unavailable or insufficient to perform necessary management tasks. Ask the SA if a VM console is used to perform VM management tasks, other than for troubleshooting VM issues. If a VM console is used to perform VM management tasks, other than for troubleshooting VM issues, this is a finding. If SSH and/or terminal management services are exclusively used to perform management tasks, this is not a finding.

Fix: F-42544r679604_fix

Develop a policy prohibiting the use of a VM console for performing management services. This policy should include procedures for the use of SSH and Terminal Management services for VM management. Where SSH and Terminal Management services prove insufficient to troubleshoot a VM, access to the VM console may be temporarily granted.

b
The virtual machine guest operating system must be locked when the last console connection is closed.
CM-6 - Medium - CCI-000366 - V-239353 - SV-239353r679608_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000022
Vuln IDs
  • V-239353
Rule IDs
  • SV-239353r679608_rule
When accessing the VM console the guest OS must be locked when the last console user disconnects, limiting the possibility of session hijacking. This setting only applies to Windows-based VMs with VMware tools installed.
Checks: C-42586r679606_chk

From the vSphere Web Client select the Virtual Machine, right click and go to Edit Settings >> VM Options Tab >> Advanced >> Configuration Parameters >> Edit Configuration. Find the tools.guest.desktop.autolock value and verify that it is set to true. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name tools.guest.desktop.autolock If the virtual machine advanced setting tools.guest.desktop.autolock does not exist or is not set to true, this is a finding. If the VM is not Windows-based, this is not a finding.

Fix: F-42545r679607_fix

From the vSphere Client select the Virtual Machine, right click and go to Edit Settings >> VM Options Tab >> Advanced >> Configuration Parameters >> Edit Configuration. Find or create the tools.guest.desktop.autolock value and set it to true. Note: The VM must be powered off to modify the advanced settings through the vSphere Web Client. It is recommended to configure these settings with PowerCLI as this can be done while the VM is powered on. In this case, the modified settings will not take effect until a cold boot of the VM. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name tools.guest.desktop.autolock -Value true If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name tools.guest.desktop.autolock | Set-AdvancedSetting -Value true

a
3D features on the virtual machine must be disabled when not required.
CM-6 - Low - CCI-000366 - V-239354 - SV-239354r679611_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
VMCH-67-000023
Vuln IDs
  • V-239354
Rule IDs
  • SV-239354r679611_rule
It is recommended that 3D acceleration be disabled on virtual machines that do not require 3D functionality, (e.g. most server workloads or desktops not using 3D applications).
Checks: C-42587r679609_chk

From the vSphere Web Client select the Virtual Machine, right click and go to Edit Settings >> VM Options Tab >> Advanced >> Configuration Parameters >> Edit Configuration. Find the "mks.enable3d" value and verify it is set to "false". or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM "VM Name" | Get-AdvancedSetting -Name mks.enable3d If the virtual machine advanced setting "mks.enable3d" does not exist or is not set to "false", this is a finding. If a virtual machine requires 3D features, this is not a finding.

Fix: F-42546r679610_fix

From the vSphere Client select the Virtual Machine, right click and go to Edit Settings >> VM Options Tab >> Advanced >> Configuration Parameters >> Edit Configuration. Find the "mks.enable3d" value and set it to "false". Note: The VM must be powered off to modify the advanced settings through the vSphere Web Client. It is recommended to configure these settings with PowerCLI as this can be done while the VM is powered on. In this case, the modified settings will not take effect until a cold boot of the VM. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: If the setting does not exist, run: Get-VM "VM Name" | New-AdvancedSetting -Name mks.enable3d -Value false If the setting exists, run: Get-VM "VM Name" | Get-AdvancedSetting -Name mks.enable3d | Set-AdvancedSetting -Value false

b
Encryption must be enabled for vMotion on the virtual machine.
CM-6 - Medium - CCI-000366 - V-242469 - SV-242469r717088_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
VMCH-67-000024
Vuln IDs
  • V-242469
Rule IDs
  • SV-242469r717088_rule
vMotion migrations in vSphere 6.0 and earlier transferred working memory and CPU state information in clear text over the vMotion network. As of vSphere 6.5 this transfer can be transparently encrypted using 256bit AES-GCM with negligible performance impact. vSphere 6.5 enables encrypted vMotion by default as "Opportunistic", meaning that encrypted channels are used where supported but the operation will continue in plain text where encryption is not supported. For example when vMotioning between two 6.5 hosts encryption will always be utilized but since 6.0 and earlier releases do not support this feature vMotion from a 6.5 host to a 6.0 host would be allowed but would not be encrypted. If this finding is set to "Required" then vMotions to unsupported hosts will fail. This setting must be set to "Opportunistic" or "Required".
Checks: C-40322r802904_chk

Note: If the system does not have vCenter installed and utilizes vMotion, then this is Not Applicable. From the vSphere Web Client, select the Virtual Machine, right-click and go to Edit Settings >> VM Options Tab >> Encryption >> Encrypted vMotion. or From a PowerCLI command prompt while connected to the ESXi host or vCenter server, run the following command: Get-VM | Where {($_.ExtensionData.Config.MigrateEncryption -ne "opportunistic") -and ($_.ExtensionData.Config.MigrateEncryption -ne "required")} If the setting does not have a value of "Opportunistic" or "Required", this is a finding.

Fix: F-40285r717087_fix

From the vSphere Client select the Virtual Machine, right click and go to Edit Settings >> VM Options Tab >> Encryption >> Encrypted vMotion. Set the value to "Opportunistic" or "Required".

c
The version of VMM running on the server must be a supported version.
CM-6 - High - CCI-000366 - V-257287 - SV-257287r919197_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
VMCH-67-000999
Vuln IDs
  • V-257287
Rule IDs
  • SV-257287r919197_rule
Security flaws with software applications are discovered daily. Vendors are constantly updating and patching their products to address newly discovered security vulnerabilities. Organizations (including any contractor to the organization) are required to promptly install security-relevant software updates (e.g., patches, service packs, and hot fixes). Flaws discovered during security assessments, continuous monitoring, incident response activities, or information system error handling must also be addressed expeditiously. Organization-defined time periods for updating security-relevant software may vary based on a variety of factors including, for example, the security category of the information system or the criticality of the update (i.e., severity of the vulnerability related to the discovered flaw). This requirement will apply to software patch management solutions that are used to install patches across the enclave and to applications that are not part of that patch management solution. For example, many browsers today provide the capability to install their own patch software. Patch criticality, as well as system criticality, will vary. Therefore, the tactical situations regarding the patch management process will also vary. This means the time period used must be a configurable parameter. Time frames for application of security-relevant software updates may be dependent upon the Information Assurance Vulnerability Management (IAVM) process. The application will be configured to check for and install security-relevant software updates within an identified time period from the availability of the update. The specific time period will be defined by an authoritative source (e.g., IAVM, CTOs, DTMs, and STIGs).
Checks: C-60972r918900_chk

VMM 6.7 is no longer supported by the vendor. If the server is running VMM 6.7, this is a finding.

Fix: F-53958r798705_fix

Upgrade to a supported version.