TMAegisBeta
More rules for vmware

VMware ESXi

TMA-ESXI9-5.6

Host should reject forged transmits on standard virtual switches and port groups

MediumLevel 1Automatedvmware

Description

Setting the "Forged transmits" option to "Reject" helps prevent MAC impersonation by comparing the source MAC address from the guest operating system with the effective MAC address of its virtual machine adapter. If there's a mismatch, the packet is dropped, preventing potential malicious activities through impersonated MAC addresses. The audit runs esxcli network vswitch standard (portgroup) policy security get for every standard vSwitch and port group and requires "Allow Forged Transmits: false". Runs in the ESXi Shell (busybox sh) as root.

How it is checked

Audit method: Shell command

shell
command -v esxcli >/dev/null 2>&1 || exit 1
vs=$(esxcli network vswitch standard list 2>/dev/null | sed -n 's/^ *Name: *//p') || exit 1
pgs=$(esxcli --formatter=csv network vswitch standard portgroup list 2>/dev/null | awk -F, 'NR==1 {for (i = 1; i <= NF; i++) if ($i == "Name") c = i; next} c {print $c}') || exit 1
out=$(for v in $vs; do
  x=$(esxcli network vswitch standard policy security get -v "$v" 2>/dev/null | sed -n 's/^ *Allow Forged Transmits: *//p' | head -n 1)
  [ "$x" = false ] || echo "vSwitch $v: Allow Forged Transmits=${x:-unknown}"
done
printf '%s\n' "$pgs" | while IFS= read -r p; do [ -n "$p" ] || continue
  x=$(esxcli network vswitch standard portgroup policy security get -p "$p" 2>/dev/null | sed -n 's/^ *Allow Forged Transmits: *//p' | head -n 1)
  [ "$x" = false ] || echo "portgroup $p: Allow Forged Transmits=${x:-unknown}"
done)
[ -z "$out" ] && echo compliant || printf '%s\n' "$out"
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

To set the policy to reject forged transmissions, perform the following: 1. From the vSphere Web Client, select the host. 2. Click Configure then expand Networking. 3. Select Virtual switches then click Edit. 4. Click on Security. 5. Set Forged transmits to Reject in the dropdown. 6. Click on OK. Alternately, the following ESXi shell command may be used: # esxcli network vswitch standard policy security set -v vSwitch2 -f false

Properties

Operating systems
Any
Tags
vmwareesxinetwork
Reference
CIS VMware ESXi 9.0 Benchmark v1.0.0 - 5.6 Host should reject forged transmits on standard virtual switches and port groups

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target vmware