I file di registro sono un componente importante per la risoluzione dei problemi degli attacchi e per ottenere informazioni sulle violazioni. Tutti gli host ESXi eseguono un servizio syslog, che registra i messaggi provenienti da VMkernel e dagli altri componenti del sistema in file locali o in un host remoto.

Per aumentare la sicurezza dell'host, adottare le seguenti misure.
  • Configurare la registrazione persistente in un datastore. Per impostazione predefinita, i registri degli host ESXi vengono archiviati nel file system in memoria. Pertanto, andranno persi quando si riavvia l'host e vengono archiviate solo 24 ore di dati del registro. Quando si abilita la registrazione persistente, si dispone di un record di attività dedicato per l'host.
  • La registrazione remota in un host centrale consente di raccogliere i file di registro in un host centrale. Da tale host, è possibile monitorare tutti gli host con un singolo strumento, eseguire l'analisi aggregata e cercare i dati del registro. Questo approccio facilita il monitoraggio e rivela informazioni sugli attacchi coordinati a più host.
  • Configurare il syslog sicuro remoto negli host ESXi utilizzando ESXCLI o PowerCLI oppure utilizzando un client API.
  • Eseguire una query sulla configurazione di syslog per assicurarsi che il server e la porta syslog siano validi.

Consultare la documentazione di Monitoraggio e prestazioni di vSphere per informazioni sulla configurazione di syslog e per ulteriori informazioni sui file di registro di ESXi.

Configurazione di syslog negli host ESXi

Per configurare il servizio syslog, è possibile utilizzare vSphere Client, VMware Host Client o il comando esxcli system syslog.

Per informazioni sull'utilizzo del comando esxcli system syslog e degli altri comandi ESXCLI, vedere Guida introduttiva a ESXCLI. Per informazioni dettagliate su come aprire il firewall ESXi per la porta indicata in ogni specifica dell'host remoto, vedere Configurazione del firewall ESXi.

Procedura

  1. Passare all'host nell'inventario di vSphere Client.
  2. Fare clic su Configura.
  3. In Sistema, fare clic su Impostazioni di sistema avanzate.
  4. Fare clic su Modifica.
  5. Filtrare in base a syslog.
  6. Per configurare la registrazione a livello globale e varie impostazioni avanzate, vedere Opzioni di syslog di ESXi.
  7. (Facoltativo) Per sostituire le dimensioni e la rotazione dei registri predefinite per uno qualsiasi dei registri:
    1. Fare clic sul nome del registro che si desidera personalizzare.
    2. Immettere il numero di rotazioni e le dimensioni del registro desiderate.
  8. Fare clic su OK.

risultati

Le modifiche delle opzioni di syslog vengono applicate.
Nota: Le impostazioni dei parametri di syslog definite utilizzando vSphere Client o VMware Host Client vengono applicate immediatamente. Tuttavia, per rendere effettive la maggior parte delle impostazioni definite utilizzando ESXCLI, è necessario eseguire un comando aggiuntivo. Per ulteriori dettagli, vedere Opzioni di syslog di ESXi.

Opzioni di syslog di ESXi

È possibile definire il comportamento dei file e delle trasmissioni syslog di ESXi utilizzando una serie di opzioni di syslog.

Oltre alle impostazioni di base come Syslog.global.logHost, a partire da ESXi 7.0 Update 1, è disponibile un elenco di opzioni avanzate per le personalizzazioni e la conformità NIAP.

Nota: Configurare sempre lo storage persistente prima di impostare uno qualsiasi dei parametri del record di controllo o il parametro Syslog.global.logDir.
Nota: Tutte le impostazioni dei record di controllo, a partire da Syslog.global.auditRecord, vengono applicate immediatamente. Per le altre impostazioni definite tramite ESXCLI, assicurarsi tuttavia di eseguire il comando esxcli system syslog reload per abilitare le modifiche.
Tabella 1. Opzioni legacy di syslog
Opzione Comando ESXCLI Descrizione
Syslog.global.logHost

esxcli system syslog config set --loghost=<str>

Definisce un elenco delimitato da virgole di host remoti e specifiche per la trasmissione dei messaggi. Se il campo loghost=<str> è vuoto, non viene inoltrato alcun registro. Anche se non esiste alcun limite al numero di host remoti che possono ricevere i messaggi syslog, è consigliabile impostare al massimo cinque host remoti. Il formato della specifica di un host remoto è: protocol://hostname|ipv4|'['ipv6']'[:port]. Il protocollo deve essere TCP, UDP o SSL. Il valore di una porta può essere un numero decimale qualsiasi compreso tra 1 e 65535. Se non viene specificata alcuna porta, SSL e TCP utilizzano la porta 1514. UDP utilizza 514. Ad esempio: ssl://hostName1:1514.
Syslog.global.defaultRotate esxcli system syslog config set --default-rotate=<long> Numero massimo di file di registro precedenti da conservare. È possibile impostare questo numero globalmente e per singoli sublogger (vedere Syslog.global.defaultSize).
Syslog.global.defaultSize esxcli system syslog config set --default-size=<long> Dimensioni predefinite dei file di registro in KiB. Quando un file raggiunge le dimensioni predefinite, il servizio syslog crea un nuovo file. È possibile impostare questo numero globalmente e per singoli sublogger.
Syslog.global.logDir esxcli system syslog config set --logdir=<str> Directory in cui si trovano i registri. La directory può trovarsi in un volume NFS o VMFS montato. Solo la directory /scratch nel file system locale persiste ai riavvii. Specificare la directory come [datastorename] path_to_file, dove il percorso è relativo alla radice del volume che supporta l'archivio dati. Ad esempio, il percorso [storage1] /systemlogs viene mappato al percorso /vmfs/volumes/storage1/systemlogs.
Syslog.global.logDirUnique esxcli system syslog config set --logdir-unique=<bool> Specifica il nome dell'host ESXi da concatenare con il valore di Syslog.global.logDir. È fondamentale abilitare questa impostazione quando il log di più host ESXi si trova in un file system condiviso. Se si seleziona questa opzione, viene creata una sottodirectory con il nome dell'host ESXi nella directory specificata da Syslog.global.LogDir. Una directory univoca è utile se la stessa directory NFS viene utilizzata da più host ESXi.
Syslog.global.certificate.checkSSLCerts esxcli system syslog config set --check-ssl-certs=<bool> Impone il controllo dei certificati SSL quando vengono trasmessi messaggi agli host remoti.
Tabella 2. Opzioni di syslog disponibili a partire da ESXi 7.0 Update 1
Opzione Comando ESXCLI Descrizione
Syslog.global.auditRecord.storageCapacity esxcli system auditrecords local set --size=<long> Specifica la capacità della directory di storage del record di controllo che si trova nell'host ESXi, in MiB. Non è possibile diminuire la capacità di storage del record di controllo. È possibile aumentare la capacità prima o dopo l'abilitazione dello storage del record di controllo (vedere Syslog.global.auditRecord.storageEnable).
Syslog.global.auditRecord.remoteEnable esxcli system auditrecords remote enable Abilita l'invio di record di controllo a host remoti. Gli host remoti vengono specificati utilizzando il parametro Syslog.global.logHost.
Syslog.global.auditRecord.storageDirectory esxcli system auditrecords local set --directory=<dir> Crea una directory di storage dei record di controllo e, a meno che non sia specificato, imposta /scratch/auditLog come posizione predefinita. Non creare manualmente una directory di storage dei record di controllo. Non è possibile modificare la directory di storage dei record di controllo mentre lo storage dei record di controllo è abilitato (vedere Syslog.global.auditRecord.storageEnable).
Syslog.global.auditRecord.storageEnable esxcli system auditrecords local enable Abilita lo storage dei record di controllo in un host ESXi. Se la directory di storage del record di controllo non esiste, viene creata con la capacità specificata da Syslog.global.auditRecord.storageCapacity.
Syslog.global.certificate.checkCRL esxcli system syslog config set --crl-check=<bool> Abilita il controllo dello stato della revoca di tutti i certificati in una catena di certificati SSL.

Abilita la verifica dei CRL X.509, che non sono controllati per impostazione predefinita in conformità con le convenzioni di settore. Una configurazione convalidata da NIAP richiede controlli CRL. A causa delle limitazioni dell'implementazione, se i controlli CRL sono abilitati, tutti i certificati di una catena di certificati devono fornire un collegamento CRL.

Non abilitare l'opzione crl-check per le installazioni non correlate alla certificazione, perché è difficile configurare correttamente un ambiente che utilizza controlli CRL.

Syslog.global.certificate.strictX509Compliance esxcli system syslog config set --x509-strict=<bool> Abilita la conformità rigida con X.509. Esegue ulteriori controlli di validità sui certificati root CA durante la verifica. Questi controlli non vengono in genere eseguiti perché i certificati root CA vengono considerati implicitamente attendibili e possono causare incompatibilità con i certificati root CA esistenti non configurati correttamente. Una configurazione convalidata da NIAP richiede che anche i certificati CA root vengano convalidati.

Non abilitare l'opzione x509-strict per le installazioni non correlate alla certificazione, perché è difficile configurare correttamente un ambiente che utilizza controlli CRL.

Syslog.global.droppedMsgs.fileRotate esxcli system syslog config set --drop-log-rotate=<long> Specifica il numero dei file di registro dei messaggi precedenti eliminati da conservare.
Syslog.global.droppedMsgs.fileSize esxcli system syslog config set --drop-log-size=<long> Specifica le dimensioni, in KiB, che ogni file di registro dei messaggi precedenti eliminati deve raggiungere prima di passare a un nuovo file.
Syslog.global.logCheckSSLCerts esxcli system syslog config set --check-ssl-certs=<bool> Impone il controllo dei certificati SSL quando vengono trasmessi messaggi agli host remoti.
Nota: Obsoleto. Utilizzare Syslog.global.certificate.checkSSLCerts in ESXi 7.0 Update 1 e versioni successive.
Syslog.global.logFilters esxcli system syslog config logfilter [add | remove | set] ... Indica una o più specifiche di filtro dei registri. Ogni filtro di registro deve essere separato da una barra verticale doppia "||". Il formato di un filtro di registro è: numLogs | ident | logRegexp. numLogs imposta il numero massimo di voci di registro per i messaggi di registro specificati. Quando questo numero viene raggiunto, i messaggi di registro specificati vengono filtrati e ignorati. ident specifica uno o più componenti di sistema per applicare il filtro ai messaggi di registro generati da questi componenti. logRegexp specifica una frase con distinzione tra maiuscole e minuscole con la sintassi dell'espressione regolare di Python per filtrare i messaggi di registro in base al loro contenuto.
Syslog.global.logFiltersEnable Abilita l'utilizzo dei filtri dei registri.
Syslog.global.logLevel esxcli system syslog config set --log-level=<str> Specifica il livello di filtro dei registri. È necessario modificare questo parametro solo quando si risolve un problema con il daemon syslog. È possibile utilizzare i valori debug per il livello più dettagliato, info per il livello di dettaglio predefinito, warning solo per gli avvisi o gli errori oppure error solo per gli errori.
Syslog.global.msgQueueDropMark esxcli system syslog config --queue-drop-mark=<long>) Specifica la percentuale di capacità della coda dei messaggi al raggiungimento della quale i messaggi vengono eliminati.
Syslog.global.remoteHost.connectRetryDelay esxcli system syslog config set --default-timeout=<long> Specifica il ritardo, in secondi, prima di ritentare la connessione a un host remoto dopo che un tentativo di connessione non è riuscito.
Syslog.global.remoteHost.maxMsgLen esxcli system syslog config set --remote-host-max-msg-len=<long> Per i protocolli TCP e SSL, questo parametro specifica la lunghezza massima, in byte, di una trasmissione di syslog prima che si verifichi il troncamento. La lunghezza massima predefinita per i messaggi dell'host remoto è 1 KiB. È possibile aumentare la lunghezza massima dei messaggi fino a 16 KiB. Se si imposta un valore superiore a 1 KiB, non è tuttavia sicuro che le trasmissioni lunghe arrivino a un Syslog Collector senza troncamenti. Ad esempio, quando l'infrastruttura syslog che invia un messaggio è esterna per ESXi.

Questa impostazione non influisce sul protocollo UDP. In base a RFC 5426, la lunghezza massima di trasmissione del messaggio per il protocollo UDP è 480 byte per IPv4 e 1180 byte per IPv6. A causa di questa limitazione, e poiché i pacchetti UDP possono essere eliminati arbitrariamente dall'infrastruttura di rete, non è consigliabile utilizzare UDP per trasmettere messaggi di syslog critici.

Syslog.global.vsanBacking esxcli system syslog config set --vsan-backing=<bool> Consente di posizionare i file di registro e la directory di storage del record di controllo in un cluster vSAN. Se si abilita questo parametro, l'host ESXi potrebbe tuttavia non rispondere.

Posizioni dei file di registro ESXi

ESXi registra l'attività dell'host nei file di registro, utilizzando una funzionalità syslog.

Tabella 3. Posizioni dei file di registro ESXi
Componente Indirizzo Scopo
Autenticazione /var/log/auth.log Contiene tutti gli eventi relativi all'autenticazione per il sistema locale.
Registro dell'agente host ESXi /var/log/hostd.log Contiene informazioni sull'agente che gestisce e configura l'host ESXi e le relative macchine virtuali.
Registro della shell /var/log/shell.log Contiene un record di tutti i comandi immessi nella shell ESXi e negli eventi della shell (ad esempio, quando la shell è stata abilitata).
Messaggi di sistema /var/log/syslog.log Contiene tutti i messaggi generali del registro e può essere utilizzato per la risoluzione dei problemi. Queste informazioni si trovavano in precedenza nel file di registro dei messaggi.
Registro dell'agente vCenter Server /var/log/vpxa.log Contiene informazioni sull'agente che comunica con il vCenter Server (se l'host è gestito dal vCenter Server).
Macchine virtuali La stessa directory dei file di configurazione della macchina virtuale interessata, denominata vmware.log e vmware*.log. Ad esempio, /vmfs/volumes/datastore/virtual machine/vmware.log Contiene gli eventi di alimentazione delle macchine virtuali, informazioni sugli errori di sistema, lo stato e l'attività degli strumenti, la sincronizzazione temporale, le modifiche dell'hardware virtuale, le migrazioni di vMotion, i cloni delle macchine e così via.
VMkernel /var/log/vmkernel.log Registra le attività relative alle macchine virtuali e a ESXi.
Riepilogo VMkernel /var/log/vmksummary.log Utilizzato per determinare il tempo di continuità operativa e le statistiche sulla disponibilità per ESXi (separati da virgole).
Avvisi VMkernel /var/log/vmkwarning.log Registra le attività relative alle macchine virtuali.
Quick Boot /var/log/loadESX.log Contiene tutti gli eventi relativi al riavvio di un host ESXi tramite Quick Boot.
Agente infrastruttura attendibile /var/run/log/kmxa.log Registra le attività relative al servizio client nell'host attendibile ESXi.
Servizio del provider di chiavi /var/run/log/kmxd.log Registra le attività relative al servizio del provider di chiavi di vSphere Trust Authority.
Servizio di attestazione /var/run/log/attestd.log Registra le attività relative al servizio di attestazione di vSphere Trust Authority.
Servizio token ESX /var/run/log/esxtokend.log Registra le attività relative al servizio token ESX di vSphere Trust Authority.
Server di inoltro API ESX /var/run/log/esxapiadapter.log Registra le attività relative al server di inoltro API di vSphere Trust Authority.