acceptedVMware vSphere 6.7 Virtual Machine Security Technical Implementation GuideThis 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.DISASTIG.DOD.MILRelease: 2 Benchmark Date: 08 Feb 20223.2.2.360791.10.01I - Mission Critical Classified<ProfileDescription></ProfileDescription>I - Mission Critical Public<ProfileDescription></ProfileDescription>I - Mission Critical Sensitive<ProfileDescription></ProfileDescription>II - Mission Support Classified<ProfileDescription></ProfileDescription>II - Mission Support Public<ProfileDescription></ProfileDescription>II - Mission Support Sensitive<ProfileDescription></ProfileDescription>III - Administrative Classified<ProfileDescription></ProfileDescription>III - Administrative Public<ProfileDescription></ProfileDescription>III - Administrative Sensitive<ProfileDescription></ProfileDescription>SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000001Copy operations must be disabled on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 trueFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000002Drag and drop operations must be disabled on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 trueFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000003Paste operations must be disabled on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 trueFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000004Virtual disk shrinking must be disabled on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 trueFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000005Virtual disk erasure must be disabled on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 trueFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000006Independent, non-persistent disks must be not be used on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 PersistentFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000007HGFS file transfers must be disabled on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 trueFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000008Unauthorized floppy devices must be disconnected on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366If 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-FloppyDriveFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000009Unauthorized CD/DVD devices must be disconnected on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 -NoMediaFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000010Unauthorized parallel devices must be disconnected on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366The 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.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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000011Unauthorized serial devices must be disconnected on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366The 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.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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000012Unauthorized USB devices must be disconnected on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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.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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000013Console connection sharing must be limited on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 1From 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000014Console access through the VNC protocol must be disabled on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 falseFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000015Informational messages from the virtual machine to the VMX file must be limited on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 1048576From 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000016Unauthorized removal, connection and modification of devices must be prevented on the virtual machine.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 trueFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000017The virtual machine must not be able to obtain host information from the hypervisor.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 falseFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000018Shared salt values must be disabled on the virtual machine.<VulnDiscussion>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).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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-AdvancedSettingFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000019Access to virtual machines through the dvfilter network APIs must be controlled.<VulnDiscussion>An attacker might compromise a VM by making use the dvFilter API. Configure only those VMs to use the API that need this access.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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.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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000020System administrators must use templates to deploy virtual machines whenever possible.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366Create hardened virtual machine templates to use for OS deployments.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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000021Use of the virtual machine console must be minimized.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366Develop 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.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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000022The virtual machine guest operating system must be locked when the last console connection is closed.<VulnDiscussion>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.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 trueFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-0000233D features on the virtual machine must be disabled when not required.<VulnDiscussion>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).</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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 falseFrom 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.SRG-OS-000480-VMM-002000<GroupDescription></GroupDescription>VMCH-67-000024Encryption must be enabled for vMotion on the virtual machine.<VulnDiscussion>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".</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>DPMS Target VMware vSphere 6.7 Virtual MachineDISADPMS TargetVMware vSphere 6.7 Virtual Machine5327CCI-000366From 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".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.