Esercitazione sull'integrazione dei log di Azure: elaborazione degli eventi di Azure Key Vault tramite Hub eventi

Importante

La funzionalità di integrazione dei log di Azure sarà deprecata entro il 15/06/2019. Il download di AzLog è stato disabilitato il 27 giugno 2018. Per materiale sussidiario su cosa fare dopo, vedere il post Use Azure monitor to integrate with SIEM tools (Usare Monitoraggio di Azure per eseguire l'integrazione con gli strumenti per le informazioni di sicurezza e gestione degli eventi)

È possibili usare l'integrazione dei log di Azure per recuperare gli eventi registrati e renderli disponibili per il sistema di gestione delle informazioni e degli eventi di sicurezza (SIEM). Questa esercitazione illustra un esempio di come usare l'integrazione dei log di Azure per elaborare i log acquisiti tramite Hub eventi di Azure.

Il metodo preferito per l'integrazione dei log di Azure consiste nell'usare il connettore monitoraggio di Azure del fornitore SIEM e seguire queste istruzioni. Tuttavia, se il fornitore SIEM non offre un connettore per Monitoraggio di Azure, è possibile usare Integrazione log di Azure come soluzione temporanea (se SIEM è supportato da Integrazione log di Azure) fino a quando non sia disponibile un connettore di questo tipo.

Usare questa esercitazione per acquisire familiarità con l'interazione tra l'integrazione dei log di Azure e Hub eventi seguendo la procedura di esempio e comprendendo in che modo ogni passaggio supporta la soluzione. È quindi possibile applicare quanto appreso qui per creare i passaggi personalizzati per supportare i requisiti specifici della propria azienda.

Avviso

Non copiare o incollare i passaggi e i comandi in questa esercitazione. Si tratta solo di esempi. Non usare i comandi di PowerShell "così come sono" nell'ambiente live. in quanto devono essere personalizzati in base all'ambiente univoco.

Questa esercitazione illustra il processo per estrarre l'attività di Azure Key Vault registrata in un hub eventi e renderla disponibile come file JSON nel sistema SIEM. È quindi possibile configurare il sistema SIEM per elaborare i file JSON.

Nota

La maggior parte dei passaggi in questa esercitazione implica la configurazione dell'insieme di credenziali delle chiavi, degli account di archiviazione e degli hub eventi. La procedura di integrazione dei log di Azure specifica si trova alla fine di questa esercitazione. Non eseguire questi passaggi in un ambiente di produzione. Sono concepiti solo per un ambiente lab. È necessario personalizzare la procedura prima di usarla nell'ambiente di produzione.

Le informazioni offerte consentono di comprendere i motivi di ogni passaggio. I collegamenti ad altri articoli offrono maggiori dettagli su determinati argomenti.

Per altre informazioni sui servizi citati in questa esercitazione, vedere:

Configurazione iniziale

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Per poter completare la procedura descritta in questo articolo, è necessario quanto segue:

  • Una sottoscrizione di Azure e l'account per tale sottoscrizione con diritti di amministratore. Se non si ha una sottoscrizione, è possibile creare un account gratuito.

  • Un sistema con accesso a Internet che soddisfi i requisiti per l'installazione del servizio di integrazione dei log di Azure. Il sistema può trovarsi su un servizio cloud o essere ospitato in locale.

  • Integrazione log di Azure installato. Per l'installazione:

    a. Usare il desktop remoto per connettersi al sistema citato nel passaggio 2.
    b. Copiarvi il programma di installazione di Integrazione dei Log di Azure nel sistema. c. Avviare il programma di installazione e accettare le Condizioni di licenza software Microsoft.

  • Se si intende inserire informazioni di telemetria, lasciare selezionata la casella di controllo. Se invece si preferisce non inviare le informazioni sull'uso a Microsoft, deselezionare la casella di controllo.

    Per altre informazioni sul servizio di integrazione dei log di Azure e su come installarlo, vedere Integrazione dei log di Azure con la registrazione di Diagnostica di Azure e l'inoltro di eventi di Windows.

  • Versione più recente di PowerShell.

    Se è installato Windows Server 2016 e la versione disponibile di PowerShell è almeno la versione 5.0. Se si usa qualsiasi altra versione di Windows Server, l'utente potrebbe aver installato una versione precedente di PowerShell. È possibile controllare la versione immettendo get-host in una finestra di PowerShell. Se PowerShell 5.0 non è installato, è possibile scaricarlo.

    Dopo avere almeno PowerShell 5.0, è possibile procedere all'installazione della versione più recente seguendo le istruzioni in Installare Azure PowerShell.

Creare elementi dell'infrastruttura di supporto

  1. Aprire una finestra di PowerShell con privilegi elevati e passare a C:\Programmi\Integrazione log di Microsoft Azure.

  2. Importare i cmdlet AzLog eseguendo lo script LoadAzLogModule.ps1. Immettere il comando .\LoadAzLogModule.ps1. Si noti "." in tale comando. Verrà visualizzato un risultato simile al seguente:

    Elenco dei moduli caricati

  3. Immettere il comando Connect-AzAccount. Nella finestra di accesso inserire le informazioni sulle credenziali per la sottoscrizione che verrà usata per questa esercitazione.

    Nota

    Se questa è la prima volta che si accede ad Azure da questo computer, allora si visualizzerà un messaggio su come consentire a Microsoft di raccogliere dati sull'uso di PowerShell. È consigliabile abilitare la raccolta dati perché verrà usata per migliorare Azure PowerShell.

  4. Dopo aver completato l'autenticazione, si è connessi. Annotare l'ID e il nome della sottoscrizione, necessari per completare i passaggi successivi.

  5. Creare variabili per archiviare i valori che verranno usati successivamente. Immettere ognuna delle seguenti righe di PowerShell. Potrebbe essere necessario regolare i valori per adattarli all'ambiente.

    • $subscriptionName = 'Visual Studio Ultimate with MSDN' Il nome della sottoscrizione potrebbe essere diverso. È possibile visualizzarlo come parte dell'output del comando precedente.
    • $location = 'West US' Questa variabile verrà usata per passare la posizione in cui devono essere create le risorse. È possibile modificare questa variabile in modo che sia qualsiasi posizione scelta.
    • $random = Get-Random
    • $name = 'azlogtest' + $random Si può indicare qualsiasi nome, ma deve contenere solo numeri e lettere minuscole.
    • $storageName = $name Questa variabile verrà usata per il nome dell'account di archiviazione.
    • $rgname = $name Questa variabile verrà usata per il nome del gruppo di risorse.
    • $eventHubNameSpaceName = $name Nome dello spazio dei nomi dell'hub eventi.
  6. Specificare la sottoscrizione che si userà:

    Select-AzSubscription -SubscriptionName $subscriptionName

  7. Creare un gruppo di risorse:

    $rg = New-AzResourceGroup -Name $rgname -Location $location

    Se si immette $rg a questo punto, verrà visualizzato un output simile a quello della schermata di seguito:

    Output dopo la creazione di un gruppo di risorse

  8. Creare un account di archiviazione che verrà usato per tenere traccia delle informazioni sullo stato:

    $storage = New-AzStorageAccount -ResourceGroupName $rgname -Name $storagename -Location $location -SkuName Standard_LRS

  9. Creare lo spazio dei nomi dell'hub eventi necessario per creare un hub eventi.

    $eventHubNameSpace = New-AzEventHubNamespace -ResourceGroupName $rgname -NamespaceName $eventHubnamespaceName -Location $location

  10. Ottenere l'ID della regola che verrà usato con il provider di informazioni:

    $sbruleid = $eventHubNameSpace.Id +'/authorizationrules/RootManageSharedAccessKey'

  11. Ottenere tutte le possibili posizioni di Azure e aggiungere i nomi a una variabile che può essere usata in un passaggio successivo:

    a. $locationObjects = Get-AzLocation
    b. $locations = @('global') + $locationobjects.location

    Se si immette $locations a questo punto, vengono visualizzati i nomi dei percorsi senza le informazioni aggiuntive restituite da Get-AzLocation.

  12. Creare un profilo di log di Azure Resource Manager:

    Add-AzLogProfile -Name $name -ServiceBusRuleId $sbruleid -Locations $locations

    Per altre informazioni sui profili log di Azure, vedere Panoramica del log attività di Azure.

Nota

È possibile ricevere un messaggio di errore quando si tenta di creare un profilo di log. È quindi possibile esaminare la documentazione per Get-AzLogProfile e Remove-AzLogProfile. Se si esegue Get-AzLogProfile, vengono visualizzate informazioni sul profilo di log. È possibile eliminare il profilo di log esistente immettendo il comando Remove-AzLogProfile -name 'Log Profile Name'.

Errore del profilo di Resource Manager

Creare un insieme di credenziali delle chiavi

  1. Creare l'insieme di credenziali delle chiavi:

    $kv = New-AzKeyVault -VaultName $name -ResourceGroupName $rgname -Location $location

  2. Configurare la registrazione per l'insieme di credenziali delle chiavi:

    Set-AzDiagnosticSetting -ResourceId $kv.ResourceId -ServiceBusRuleId $sbruleid -Enabled $true

Generare l'attività di log

Le richieste devono essere inviate a Key Vault per generare l'attività dei log. Azioni quali la generazione di chiavi, l'archiviazione di segreti o la lettura di segreti da Key Vault creeranno le voci dei log.

  1. Visualizzare le chiavi di archiviazione corrente:

    Get-AzStorageAccountKey -Name $storagename -ResourceGroupName $rgname | ft -a

  2. Generare un nuovo key2:

    New-AzStorageAccountKey -Name $storagename -ResourceGroupName $rgname -KeyName key2

  3. Visualizzare nuovamente le chiavi e vedere che key2 contiene un valore diverso:

    Get-AzStorageAccountKey -Name $storagename -ResourceGroupName $rgname | ft -a

  4. Impostare e leggere un segreto per generare voci di log aggiuntive:

    a. Set-AzKeyVaultSecret -VaultName $name -Name TestSecret -SecretValue (ConvertTo-SecureString -String 'Hi There!' -AsPlainText -Force) b. (Get-AzKeyVaultSecret -VaultName $name -Name TestSecret).SecretValueText

    Segreto restituito

Configurare Integrazione dei log di Azure

Dopo aver configurato tutti gli elementi necessari per la registrazione di Key Vault in un hub eventi, è necessario configurare Integrazione dei log di Azure:

  1. $storage = Get-AzStorageAccount -ResourceGroupName $rgname -Name $storagename
  2. $eventHubKey = Get-AzEventHubNamespaceKey -ResourceGroupName $rgname -NamespaceName $eventHubNamespace.name -AuthorizationRuleName RootManageSharedAccessKey
  3. $storagekeys = Get-AzStorageAccountKey -ResourceGroupName $rgname -Name $storagename
  4. $storagekey = $storagekeys[0].Value

Eseguire il comando AzLog per ogni hub eventi:

  1. $eventhubs = Get-AzEventHub -ResourceGroupName $rgname -NamespaceName $eventHubNamespaceName
  2. $eventhubs.Name | %{Add-AzLogEventSource -Name $sub' - '$_ -StorageAccount $storage.StorageAccountName -StorageKey $storageKey -EventHubConnectionString $eventHubKey.PrimaryConnectionString -EventHubName $_}

Dopo circa un minuto di esecuzione degli ultimi comandi, verranno visualizzati i file JSON generati. È possibile verificare che monitorando la directory C:\users\AzLog\EventHubJson.

Passaggi successivi