VMware ESXi – Guida tecnica avanzata all’installazione, hardening CIS e audit PowerCLI

Questa guida è pensata per system engineer, amministratori IT e ambienti enterprise o lab avanzati. Copre l’intero ciclo di vita di un host VMware ESXi:

  • installazione bare-metal
  • configurazione avanzata
  • hardening secondo CIS Benchmark
  • audit automatico tramite PowerCLI

1. Pianificazione e Best Practice

1.1 Scelta della versione ESXi

  • Preferire ISO custom vendor (HPE, Dell, Lenovo)
  • Verificare compatibilità su VMware Compatibility Guide (HCL)
  • Considerare EOL / EOS della versione

1.2 Requisiti hardware consigliati

ComponenteConsigliato
CPU2+ socket, VT-x / VT-d
RAM≥ 32 GB
BootUSB dedicata o SATADOM
DatastoreSSD / NVMe
NIC2+ NIC 1/10/25 Gb

Best practice: separare boot device e datastore.


2. Preparazione BIOS / UEFI

Configurazioni raccomandate:

  • Virtualization Technology: ENABLED
  • VT-d / IOMMU: ENABLED
  • Hyper-Threading: ENABLED
  • Boot Mode: UEFI
  • Power Profile: Maximum Performance
  • Secure Boot: opzionale (verifica driver)

3. Installazione ESXi (bare-metal)

Durante l’installazione:

  • Selezionare layout tastiera corretto
  • Impostare password root conforme alle policy
  • Usare il disco solo per il boot

In ambienti enterprise è consigliato applicare Host Profiles dopo l’integrazione con vCenter.


4. Configurazione iniziale (DCUI)

Accedere con F2 e configurare:

  • IP statico (mai DHCP in produzione)
  • VLAN di management dedicata
  • DNS e hostname FQDN

Riavviare i servizi di management.


5. Configurazione Networking avanzata

5.1 vSwitch Standard vs Distributed

Standard vSwitchDistributed Switch
Host-centricoCentralizzato
SempliceEnterprise

5.2 Best practice

  • NIC Teaming (Active / Standby)
  • Separare traffico: Management, vMotion, Storage, VM
  • VLAN tagging coerente

6. Configurazione Storage

6.1 Tipologie

  • VMFS locale
  • iSCSI software
  • NFS v3/v4
  • vSAN

6.2 Best practice

  • MTU coerente (9000 per storage se supportato)
  • Multipathing Round Robin
  • Naming standardizzato

7. Integrazione con vCenter

  1. Installare VCSA
  2. Aggiungere host ESXi
  3. Configurare cluster, HA, DRS, vDS

8. Monitoraggio e Logging

  • Syslog remoto verso SIEM (Elastic, Splunk)
  • Allarmi su CPU Ready, Memory Ballooning, Latency

9. Backup e protezione

  • Backup configurazione host
  • Snapshot solo temporanei
  • Soluzioni enterprise (Veeam, Nakivo)

10. Errori comuni

  • DHCP su management
  • Una sola NIC per tutto
  • Nessun backup
  • SSH sempre attivo

11. ESXi Hardening – CIS Benchmark

Il CIS Benchmark for VMware ESXi riduce la superficie di attacco e aumenta la compliance.

Principi CIS

  • Least Privilege
  • Defense in Depth
  • Auditing
  • Riduzione servizi

12. Hardening Accessi e Servizi

  • Root solo per emergenze
  • Preferire AD / LDAP
  • Lockdown Mode: Normal o Strict
  • SSH e ESXi Shell disabilitati di default

13. Hardening di Rete

Security Policy vSwitch:

ParametroValore
Promiscuous ModeReject
MAC ChangesReject
Forged TransmitsReject

14. Logging e Storage (CIS)

  • Log persistenti su datastore non volatile
  • Syslog remoto con TLS
  • Snapshot monitorati (<72h)

15. Patch Management

  • Patch regolari
  • vCenter Lifecycle Manager
  • Verifica compliance post-update

16. Hardening VM

  • VMware Tools aggiornati
  • Disabilitare dispositivi inutili
  • Limitare copy/paste e drag&drop

17. Audit CIS automatico con PowerCLI

17.1 Prerequisiti

  • PowerShell 7.x
  • VMware PowerCLI
Install-Module VMware.PowerCLI -Scope CurrentUser
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

17.2 Connessione

Connect-VIServer vcenter.lab.local

17.3 Lockdown Mode (CIS 1.1)

Get-VMHost | Select Name, @{N="LockdownMode";E={$_.ExtensionData.Config.LockdownMode}}

17.4 SSH e Shell (CIS 2.x)

Get-VMHost | Get-VMHostService | Where {$_.Key -eq "TSM-SSH" -and $_.Running}
Get-VMHost | Get-VMHostService | Where {$_.Key -eq "TSM" -and $_.Running}

17.5 Syslog remoto (CIS 4.2)

Get-VMHost | Get-AdvancedSetting Syslog.global.logHost

17.6 Audit vSwitch

Get-VirtualSwitch | Select Name,
 @{N="Promiscuous";E={$_.ExtensionData.Spec.Policy.Security.AllowPromiscuous}},
 @{N="MacChanges";E={$_.ExtensionData.Spec.Policy.Security.MacChanges}},
 @{N="Forged";E={$_.ExtensionData.Spec.Policy.Security.ForgedTransmits}}

17.7 Report CIS (CSV)

$report = Get-VMHost | ForEach-Object {
 [PSCustomObject]@{
  Host = $_.Name
  Lockdown = $_.ExtensionData.Config.LockdownMode
  SSH = (Get-VMHostService -VMHost $_ | Where {$_.Key -eq "TSM-SSH"}).Running
  Shell = (Get-VMHostService -VMHost $_ | Where {$_.Key -eq "TSM"}).Running
  Syslog = (Get-AdvancedSetting -Entity $_ -Name Syslog.global.logHost).Value
 }
}
$report | Export-Csv .\CIS_ESXi_Audit.csv -NoTypeInformation

Conclusione

Questo articolo fornisce una guida completa, enterprise-ready e audit-oriented su VMware ESXi.

È adatta a:

  • infrastrutture enterprise
  • ambienti regolamentati (ISO 27001, NIS2, GDPR)
  • homelab avanzati

Prossimi approfondimenti

  • Remediation CIS automatica via PowerCLI
  • Hardening CIS vCenter
  • Integrazione ESXi con SIEM
  • Dashboard di compliance

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna in alto