The ESXi host Secure Shell (SSH) daemon must not permit tunnels.
Severity | Group ID | Group Title | Version | Rule ID | Date | STIG Version |
|---|---|---|---|---|---|---|
| medium | V-258764 | SRG-OS-000480-VMM-002000 | ESXI-80-000209 | SV-258764r933353_rule | 2023-10-11 | 1 |
Description
OpenSSH has the ability to create network tunnels (layer 2 and layer 3) over an SSH connection. This function can provide similar convenience to a virtual private network (VPN) with the similar risk of providing a path to circumvent firewalls and network Access Control Lists (ACLs).
ℹ️ Check
From an ESXi shell, run the following command:
# esxcli system ssh server config list -k permittunnel
or
From a PowerCLI command prompt while connected to the ESXi host, run the following commands:
$esxcli = Get-EsxCli -v2
$esxcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'permittunnel'}
Example result:
permittunnel no
If "permittunnel" is not configured to "no", this is a finding.
✔️ Fix
From an ESXi shell, run the following command:
# esxcli system ssh server config set -k permittunnel -v no
or
From a PowerCLI command prompt while connected to the ESXi host, run the following commands:
$esxcli = Get-EsxCli -v2
$arguments = $esxcli.system.ssh.server.config.set.CreateArgs()
$arguments.keyword = 'permittunnel'
$arguments.value = 'no'
$esxcli.system.ssh.server.config.set.Invoke($arguments)