UCF STIG Viewer Logo

The ESXi host must enable audit logging.


Overview

Finding ID Version Rule ID IA Controls Severity
V-256436 ESXI-70-000084 SV-256436r919017_rule Medium
Description
ESXi offers both local and remote audit recordkeeping to meet the requirements of the NIAP Virtualization Protection Profile and Server Virtualization Extended Package. Local records are stored on any accessible local or VMFS path. Remote records are sent to the global syslog servers configured elsewhere. To operate in the NIAP validated state, ESXi must enable and properly configure this audit system. This system is disabled by default. Note: Audit records can be viewed locally via the "/bin/auditLogReader" utility over SSH or at the ESXi shell.
STIG Date
VMware vSphere 7.0 ESXi Security Technical Implementation Guide 2023-06-21

Details

Check Text ( C-60111r919015_chk )
From an ESXi shell, run the following command:

# esxcli system auditrecords get

or

From a PowerCLI command prompt while connected to the ESXi host, run the following commands:

$esxcli = Get-EsxCli -v2
$esxcli.system.auditrecords.get.invoke()|Format-List

Example result:

AuditRecordRemoteTransmissionActive : true
AuditRecordStorageActive : true
AuditRecordStorageCapacity : 100
AuditRecordStorageDirectory : /scratch/auditLog

Note: The "Audit Record Storage Directory" may differ from the default above, but it must still be located on persistent storage.

If audit record storage is not active and configured, this is a finding.
Fix Text (F-60054r919016_fix)
From an ESXi shell, run the following commands:

Optional: Set the audit log location to persistent storage. This is set to "/scratch/auditLog" by default and does not normally need to be changed.

# esxcli system auditrecords local set --directory="/full/path/here"

Mandatory:

# esxcli system auditrecords local set --size=100
# esxcli system auditrecords local enable
# esxcli system auditrecords remote enable
# esxcli system syslog reload

or

From a PowerCLI command prompt while connected to the ESXi host, run the following commands:

$esxcli = Get-EsxCli -v2
$arguments = $esxcli.system.auditrecords.local.set.CreateArgs()
*Optional* $arguments.directory = "/full/path/here"
$arguments.size="100"
$esxcli.system.auditrecords.local.set.Invoke($arguments)
$esxcli.system.auditrecords.local.enable.Invoke()
$esxcli.system.auditrecords.remote.enable.Invoke()