VMware ESXi
TMA-ESXI9-7.22
Virtual machines must deactivate virtual disk wiping operations
Description
Wiping a virtual disk reclaims all 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. If virtual disk wiping is done repeatedly, it can cause the virtual disk to become unavailable while wiping occurs. Expected: isolation.tools.diskWiper.disable = "TRUE". The audit parses every .vmx file under /vmfs/volumes/ on the host and lists the VMs that do not comply; it passes when none are found (or no VMs exist). Runs in the ESXi Shell (busybox sh) as root.
How it is checked
Audit method: Shell command
command -v find >/dev/null 2>&1 || exit 1
out=$(find /vmfs/volumes/ -maxdepth 3 -type f -name '*.vmx' 2>/dev/null | while IFS= read -r f; do
awk -v KEYRE='^isolation[.]tools[.]diskwiper[.]disable$' -v MODE='eq' -v VAL='TRUE' 'BEGIN { re = tolower(KEYRE) }
{ line = $0; sub(/^[ \t]+/, "", line); i = index(line, "="); if (i == 0) next
k = tolower(substr(line, 1, i - 1)); sub(/[ \t]+$/, "", k)
v = substr(line, i + 1); sub(/^[ \t]*"?/, "", v); sub(/"?[ \t\r]*$/, "", v); v = tolower(v)
if (k ~ re) { seen = 1; if (MODE == "not" && v == tolower(VAL)) bad = bad " " k "=" v
else if (MODE != "not" && MODE != "ge" && v != tolower(VAL)) bad = bad " " k "=" v
else if (MODE == "ge" && (v + 0) < (VAL + 0)) bad = bad " " k "=" v } }
END { if ((MODE == "eq" || MODE == "ge") && !seen) bad = " " KEYRE " not set"
if (bad != "") print FILENAME ":" bad }' "$f"
done)
[ -z "$out" ] && echo compliant || printf '%s\n' "$out" | head -n 25- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
To set this configuration utilize the vSphere interface as follows: 1. Select the VM then select Actions followed by Edit Settings. 2. Click on the VM Options tab then expand Advanced. 3. Click on EDIT CONFIGURATION. 4. Click on ADD CONFIGURATION PARAMS then input isolation.tools.diskWiper.disable with a value of TRUE. 5. Click OK, then OK again. To disable virtual disk wiping, run the following PowerCLI command: # Add the setting to all VMs Get-VM | New-AdvancedSetting -Name "isolation.tools.diskWiper.disable" -value $true
Properties
- Operating systems
- Any
- Tags
- vmwareesxivirtual-machine
- Reference
- CIS VMware ESXi 9.0 Benchmark v1.0.0 - 7.22 Virtual machines must deactivate virtual disk wiping operations
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target vmware