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
| Componente | Consigliato |
|---|---|
| CPU | 2+ socket, VT-x / VT-d |
| RAM | ≥ 32 GB |
| Boot | USB dedicata o SATADOM |
| Datastore | SSD / NVMe |
| NIC | 2+ 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 vSwitch | Distributed Switch |
|---|---|
| Host-centrico | Centralizzato |
| Semplice | Enterprise |
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
- Installare VCSA
- Aggiungere host ESXi
- 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:
| Parametro | Valore |
|---|---|
| Promiscuous Mode | Reject |
| MAC Changes | Reject |
| Forged Transmits | Reject |
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
