Gestire l'inoltro syslog per Azure Stack HCI

Si applica a: Azure Stack HCI, versione 23H2

Questo articolo descrive come configurare gli eventi di sicurezza da inoltrare a un sistema di sicurezza gestito dal cliente e gestione eventi tramite il protocollo syslog per Azure Stack HCI, versione 23H2 (anteprima).

Usare l'inoltro syslog per integrare le soluzioni di monitoraggio della sicurezza e recuperare i log eventi di sicurezza pertinenti per archiviarli per la conservazione nella propria piattaforma SIEM. Per altre informazioni sulle funzionalità di sicurezza in questa versione, vedere Funzionalità di sicurezza per Azure Stack HCI, versione 23H2 (anteprima).

Configurare l'inoltro syslog

Gli agenti di inoltro syslog vengono distribuiti in ogni host di Azure Stack HCI per impostazione predefinita, pronti per la configurazione. Ognuno degli agenti inoltra gli eventi di sicurezza in formato syslog dall'host al server syslog configurato dal cliente.

Gli agenti di inoltro syslog funzionano in modo indipendente tra loro, ma possono essere gestiti tutti insieme su uno degli host. Usare i cmdlet di PowerShell con privilegi amministrativi in qualsiasi host per controllare il comportamento di tutti gli agenti di inoltro.

Il server di inoltro syslog in Azure Stack HCI supporta le configurazioni seguenti:

  • Inoltro syslog con TCP, autenticazione reciproca (client e server) e crittografia TLS 1.2: In questa configurazione, sia il server syslog che il client syslog verificano l'identità tra loro tramite certificati. I messaggi vengono inviati tramite un canale crittografato TLS 1.2. Per altre informazioni, vedere Inoltro syslog con TCP, autenticazione reciproca (client e server) e crittografia TLS 1.2.

  • Inoltro syslog con TCP, autenticazione server e crittografia TLS 1.2: In questa configurazione il client syslog verifica l'identità del server syslog tramite un certificato. I messaggi vengono inviati tramite un canale crittografato TLS 1.2. Per altre informazioni, vedere Inoltro syslog con TCP, autenticazione del server e crittografia TLS 1.2.

  • Inoltro syslog con TCP e nessuna crittografia: In questa configurazione non vengono verificate le identità del server syslog e del client syslog. I messaggi vengono inviati in testo non crittografato tramite TCP. Per altre informazioni, vedere Inoltro syslog con TCP e nessuna crittografia.

  • Syslog con UDP e nessuna crittografia: In questa configurazione non vengono verificate le identità del server syslog e del client syslog. I messaggi vengono inviati in testo non crittografato tramite UDP. Per altre informazioni, vedere Inoltro syslog con UDP e nessuna crittografia.

    Importante

    Per proteggere dagli attacchi man-in-the-middle e dall'intercettazione dei messaggi, Microsoft consiglia vivamente di usare TCP con autenticazione e crittografia negli ambienti di produzione.

Cmdlet per configurare l'inoltro Syslog

La configurazione dell'inoltro syslog richiede l'accesso all'host fisico usando un account amministratore di dominio. Un set di cmdlet di PowerShell è stato aggiunto a tutti gli host HCI di Azure Stack per controllare il comportamento del server di inoltro syslog.

Il Set-AzSSyslogForwarder cmdlet viene usato per impostare la configurazione del server di inoltro syslog per tutti gli host. In caso di esito positivo, verrà avviata un'istanza del piano di azione per configurare gli agenti di inoltro syslog in tutti gli host. L'ID dell'istanza del piano di azione verrà restituito.

Usare il cmdlet seguente per passare le informazioni del server syslog al server di inoltro e per configurare il protocollo di trasporto, la crittografia, l'autenticazione e il certificato facoltativo usato tra il client e il server:

Set-AzSSyslogForwarder [-ServerName <String>] [-ServerPort <UInt16>] [-NoEncryption] [-SkipServerCertificateCheck | -SkipServerCNCheck] [-UseUDP] [-ClientCertificateThumbprint <String>] [-OutputSeverity {Default | Verbose}] [-Remove] 

Parametri dei cmdlet

La tabella seguente fornisce parametri per il Set-AzSSyslogForwarder cmdlet:

Parametro Descrizione Tipo Necessario
ServerName FQDN o indirizzo IP del server Syslog. string
ServerPort Numero di porta su cui è in ascolto il server Syslog. UInt16
NoEncryption Forzare il client a inviare messaggi Syslog in testo non crittografato. Contrassegno No
SkipServerCertificateCheck Ignorare la convalida del certificato fornito dal server Syslog durante l'handshake TLS iniziale. Contrassegno No
SkipServerCNCheck Ignorare la convalida del valore di nome comune del certificato fornito dal server Syslog durante l'handshake TLS iniziale. Contrassegno No
UseUDP Usare Syslog con UDP come protocollo di trasporto. Contrassegno No
ClientCertificateThumbprint Identificazione personale del certificato client usato per comunicare con il server syslog. string No
OutputSeverity Livello di registrazione dell'output. I valori sono Default o Verbose. Il valore Default (predefinito) include i livelli di gravità avviso, critico o errore. Il valore Verbose (dettagliato) include tutti i livelli di gravità dettagliato, informativo, avviso, critico o errore. string No
Rimuovi Rimuovere la configurazione del forwarder syslog corrente e arrestare l'inoltro syslog. Contrassegno No

Inoltro syslog con TCP, autenticazione reciproca (client e server) e crittografia TLS 1.2

In questa configurazione il client syslog in Azure Stack HCI inoltra i messaggi al server syslog tramite TCP con crittografia TLS 1.2. Durante l'handshake iniziale, il client verifica che il server fornisca un certificato valido e attendibile. Al contempo, fornisce un certificato al server come prova della propria identità.

Questa configurazione è la più sicura perché fornisce la convalida completa dell'identità del client e del server e invia messaggi su un canale crittografato.

Importante

Microsoft consiglia di usare questa configurazione per gli ambienti di produzione.

Per configurare syslog forwarder con TCP, autenticazione reciproca e crittografia TLS 1.2, configurare il server e fornire il certificato al client per l'autenticazione nel server.

Eseguire il cmdlet seguente su un host fisico:

Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> -ClientCertificateThumbprint <Thumbprint of the client certificate>

Importante

Il certificato client deve contenere una chiave privata. Se il certificato client viene firmato usando un certificato radice autofirmato, è necessario importare anche il certificato radice.

Inoltro syslog con TCP, autenticazione server e crittografia TLS 1.2

In questa configurazione l'inoltro syslog in Azure Stack HCI inoltra i messaggi al server syslog tramite TCP con crittografia TLS 1.2. Durante l'handshake iniziale, il client verifica anche che il server fornisca un certificato valido e attendibile.

Questa configurazione impedisce al client di inviare messaggi a destinazioni non attendibili. TCP usando l'autenticazione e la crittografia è la configurazione predefinita e rappresenta il livello minimo di sicurezza consigliato da Microsoft per un ambiente di produzione.

Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening>

Se si vuole testare l'integrazione del server syslog con l'inoltro syslog di Azure Stack HCI usando un certificato autofirmato o non attendibile, usare questi flag per ignorare la convalida del server eseguita dal client durante l'handshake iniziale.

  1. Ignorare la convalida del valore Common Name nel certificato del server. Usare questo flag se si specifica un indirizzo IP per il server syslog.

    Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> 
    -SkipServerCNCheck
    
  2. Ignorare la convalida del certificato server.

    Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening>  
    -SkipServerCertificateCheck
    

    Importante

    Microsoft consiglia di non usare il -SkipServerCertificateCheck flag negli ambienti di produzione.

Inoltro Syslog con TCP e nessuna crittografia

In questa configurazione, il client syslog in Azure Stack HCI inoltra i messaggi al server syslog su TCP senza crittografia. Il client non verifica l'identità del server, né fornisce la propria identità al server per la verifica.

Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening on> -NoEncryption

Importante

Microsoft consiglia di non usare questa configurazione negli ambienti di produzione.

Inoltro Syslog con UDP e nessuna crittografia

In questa configurazione, il client syslog in Azure Stack HCI inoltra i messaggi al server syslog tramite UDP, senza crittografia. Il client non verifica l'identità del server, né fornisce la propria identità al server per la verifica.

Set-AzSSyslogForwarder -ServerName <FQDN or IP address of syslog server> -ServerPort <Port number on which the syslog server is listening> -UseUDP

Anche se UDP senza crittografia è il più semplice da configurare, non fornisce alcuna protezione dagli attacchi man-in-the-middle o dall'intercettazione dei messaggi.

Importante

Microsoft consiglia di non usare questa configurazione negli ambienti di produzione.

Abilitare l'inoltro syslog

Eseguire il cmdlet seguente per abilitare l'inoltro syslog:

Enable-AzSSyslogForwarder [-Force]

Il server d'inoltro Syslog verrà abilitato con la configurazione archiviata fornita dall'ultima chiamata riuscita Set-AzSSyslogForwarder . Il cmdlet avrà esito negativo se non è stata fornita alcuna configurazione usando Set-AzSSyslogForwarder.

Disabilitare l'inoltro syslog

Eseguire il cmdlet seguente per disabilitare l'inoltro syslog:

Disable-AzSSyslogForwarder [-Force] 

Parametro per Enable-AzSSyslogForwarder i cmdlet e Disable-AzSSyslogForwarder :

Parametro Descrizione Tipo Necessario
Force Se specificato, un piano di azione verrà sempre attivato anche se lo stato di destinazione è uguale a quello corrente. Ciò può essere utile per reimpostare le modifiche fuori banda. Contrassegno No

Verificare l'installazione di syslog

Dopo aver connesso correttamente il client syslog al server syslog, si inizierà a ricevere le notifiche degli eventi. Se le notifiche non vengono visualizzate, verificare la configurazione del server d'inoltro syslog del cluster eseguendo il cmdlet seguente:

Get-AzSSyslogForwarder [-Local | -PerNode | -Cluster] 

Ogni host ha un proprio agente di inoltro syslog che usa una copia locale della configurazione del cluster. Si prevede che siano sempre uguali alla configurazione del cluster. È possibile verificare la configurazione corrente in ogni host usando il cmdlet seguente:

Get-AzSSyslogForwarder -PerNode 

È anche possibile usare il cmdlet seguente per verificare la configurazione nell'host a cui si è connessi:

Get-AzSSyslogForwarder -Local

Parametri dei cmdlet per il Get-AzSSyslogForwarder cmdlet:

Parametro Descrizione Tipo Necessario
Locale Mostra la configurazione attualmente usata nell'host corrente. Contrassegno No
PerNode Mostra la configurazione attualmente usata in ogni host. Contrassegno No
Cluster Visualizzare la configurazione globale corrente in Azure Stack HCI. Si tratta del comportamento predefinito se non viene specificato alcun parametro. Contrassegno No

Rimuovere l'inoltro syslog

Eseguire il comando seguente per rimuovere la configurazione del server d'inoltro syslog e arrestare il server d'inoltro syslog:

Set-AzSSyslogForwarder -Remove 

Informazioni di riferimento sullo schema dei messaggi e sul registro eventi

Il materiale di riferimento seguente documenta lo schema dei messaggi syslog e le definizioni degli eventi.

Il server d'inoltro syslog dell'infrastruttura Azure Stack HCI invia messaggi formattati in base al protocollo syslog BSD definito in RFC3164. CEF viene usato anche per formattare il payload del messaggio syslog.

Ogni messaggio syslog è strutturato in base a questo schema: Priorità (PRI) | Ora | Host | Payload CEF |

La parte PRI contiene due valori: struttura e gravità. Entrambi dipendono dal tipo di messaggio, ad esempio Evento di Windows e così via.

Passaggi successivi

Altre informazioni su: