Registrazione delle risorse per un gruppo di sicurezza di rete

Un gruppo di sicurezza di rete (NSG) include regole che consentono o negano il traffico verso una subnet della rete virtuale, un'interfaccia di rete o entrambe.

Quando si abilita la registrazione per un gruppo di sicurezza di rete, è possibile raccogliere i tipi seguenti di informazioni sul log delle risorse:

  • Evento: Le voci vengono registrate per le quali vengono applicate regole del gruppo di sicurezza di rete alle macchine virtuali, in base all'indirizzo MAC.
  • Contatore regole: Contiene voci per il numero di volte in cui viene applicata ogni regola del gruppo di sicurezza di rete per consentire o negare il traffico. Lo stato di queste regole viene raccolto ogni 300 secondi.

I log delle risorse sono disponibili solo per i gruppi di sicurezza di rete distribuiti tramite il modello di distribuzione di Azure Resource Manager. Non è possibile abilitare la registrazione delle risorse per i gruppi di sicurezza di rete distribuiti tramite il modello di distribuzione classica. Per altre informazioni, vedere Informazioni sui modelli di distribuzione.

La registrazione delle risorse è abilitata separatamente per ogni gruppo di sicurezza di rete per cui raccogliere i dati di diagnostica. Se si è interessati all'attività o ai log operativi, vedere Panoramica dei log della piattaforma di Azure. Se si è interessati al flusso del traffico IP tramite gruppi di sicurezza di rete, vedere Log di flusso per i gruppi di sicurezza di rete.

Abilitazione della registrazione

È possibile usare i portale di Azure, Azure PowerShell o l'interfaccia della riga di comando di Azure per abilitare la registrazione delle risorse.

Portale di Azure

  1. Accedere al portale di Azure.

  2. Nella casella di ricerca nella parte superiore della portale di Azure immettere gruppi di sicurezza di rete. Selezionare Gruppi di sicurezza di rete nei risultati della ricerca.

  3. Selezionare il gruppo di sicurezza di rete per il quale abilitare la registrazione.

  4. In Monitoraggio selezionare Impostazionidi diagnostica e quindi Aggiungi impostazione di diagnostica:

    Screenshot che mostra le impostazioni di diagnostica per un gruppo di sicurezza di rete con Aggiungi impostazione di diagnostica evidenziata.

  5. In Impostazione diagnostica immettere un nome, ad esempio myNsgDiagnostic.

  6. Per Log selezionare allLogs o selezionare singole categorie di log. Per altre informazioni su ogni categoria, vedere Categorie di log.

  7. In Dettagli destinazione selezionare una o più destinazioni:

    • Inviare all'area di lavoro Log Analytics
    • Archivia in un account di archiviazione
    • Streaming in un hub eventi
    • Inviare alla soluzione partner

    Per altre informazioni, vedere Destinazioni dei log.

  8. Selezionare Salva.

  9. Visualizzare e analizzare i log. Per altre informazioni, vedere Visualizzare e analizzare i log.

Azure PowerShell

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.

È possibile eseguire i comandi che in questa sezione in Azure Cloud Shell o eseguendo PowerShell dal computer. Azure Cloud Shell è una shell interattiva gratuita. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.

Se si esegue PowerShell dal computer, è necessario il modulo Azure PowerShell versione 1.0.0 o successiva. Eseguire Get-Module -ListAvailable Az per trovare la versione installata. Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell. Se si esegue PowerShell in locale, è anche necessario eseguire il cmdlet Connect-AzAccount per accedere ad Azure con un account con le autorizzazioni necessarie.

Per abilitare la registrazione delle risorse, è necessario l'ID di un gruppo di sicurezza di rete esistente. Se non si dispone di un gruppo di sicurezza di rete esistente, crearne uno usando il cmdlet New-AzNetworkSecurityGroup .

Ottenere il gruppo di sicurezza di rete per cui si vuole abilitare la registrazione delle risorse usando il cmdlet Get-AzNetworkSecurityGroup . Archiviare il gruppo di sicurezza di rete in una variabile per un uso successivo. Ad esempio, per recuperare un gruppo di sicurezza di rete denominato myNsg esistente in un gruppo di risorse denominato myResourceGroup, immettere il comando seguente:

$Nsg=Get-AzNetworkSecurityGroup `
  -Name myNsg `
  -ResourceGroupName myResourceGroup

È possibile scrivere i log delle risorse in diversi tipi di destinazione. Per altre informazioni, vedere Destinazioni dei log. In questo articolo i log vengono inviati a una destinazione dell'area di lavoro Log Analytics . Se non si dispone di un'area di lavoro esistente, è possibile crearne una usando il cmdlet New-AzOperationalInsightsWorkspace .

Recuperare un'area di lavoro Log Analytics esistente con il cmdlet Get-AzOperationalInsightsWorkspace . Ad esempio, per ottenere e archiviare un'area di lavoro esistente denominata myWorkspace in un gruppo di risorse denominato myWorkspaces, immettere il comando seguente:

$Oms=Get-AzOperationalInsightsWorkspace `
  -ResourceGroupName myWorkspaces `
  -Name myWorkspace

Esistono due categorie di registrazione che è possibile abilitare. Per altre informazioni, vedere Categorie di log. Abilitare la registrazione delle risorse per il gruppo di sicurezza di rete con il cmdlet New-AzDiagnosticSetting . Nell'esempio seguente vengono registrati i dati di categoria di eventi e contatori nell'area di lavoro per un gruppo di sicurezza di rete. Usa gli ID per il gruppo di sicurezza di rete e l'area di lavoro ottenuta con i comandi precedenti:

New-AzDiagnosticSetting `
   -Name myDiagnosticSetting `
   -ResourceId $Nsg.Id `
   -WorkspaceId $Oms.ResourceId

Se si vuole accedere a una destinazione diversa da un'area di lavoro Log Analytics, usare un parametro appropriato nel comando. Per altre informazioni, vedere Log delle risorse di Azure.

Per altre informazioni sulle impostazioni, vedere New-AzDiagnosticSetting.

Visualizzare e analizzare i log. Per altre informazioni, vedere Visualizzare e analizzare i log.

Interfaccia della riga di comando di Azure

È possibile eseguire i comandi in questa sezione nell'Cloud Shell di Azure oppure eseguendo l'interfaccia della riga di comando di Azure dal computer. Azure Cloud Shell è una shell interattiva gratuita. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.

Se si esegue l'interfaccia della riga di comando sul computer, è necessaria la versione 2.0.38 o successiva. Per trovare la versione installata, eseguire az --version nel computer. Se è necessario eseguire l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure. Se si esegue l'interfaccia della riga di comando in locale, è anche necessario eseguire az login per accedere ad Azure con un account con le autorizzazioni necessarie.

Per abilitare la registrazione delle risorse, è necessario l'ID di un gruppo di sicurezza di rete esistente. Se non si dispone di un gruppo di sicurezza di rete esistente, crearne uno usando az network nsg create.

Ottenere e archiviare il gruppo di sicurezza di rete per cui si vuole abilitare la registrazione delle risorse con az network nsg show. Ad esempio, per recuperare un gruppo di sicurezza di rete denominato myNsg esistente in un gruppo di risorse denominato myResourceGroup, immettere il comando seguente:

nsgId=$(az network nsg show \
  --name myNsg \
  --resource-group myResourceGroup \
  --query id \
  --output tsv)

È possibile scrivere i log delle risorse in diversi tipi di destinazione. Per altre informazioni, vedere Destinazioni dei log. In questo articolo i log vengono inviati a una destinazione dell'area di lavoro Log Analytics , ad esempio. Per altre informazioni, vedere Categorie di log.

Abilitare la registrazione delle risorse per il gruppo di sicurezza di rete con az monitor diagnostic-settings create. L'esempio seguente registra sia i dati di evento che di categoria contatore in un'area di lavoro esistente denominata myWorkspace, che esiste in un gruppo di risorse denominato myWorkspaces. Usa l'ID del gruppo di sicurezza di rete salvato usando il comando precedente.

az monitor diagnostic-settings create \
  --name myNsgDiagnostics \
  --resource $nsgId \
  --logs '[ { "category": "NetworkSecurityGroupEvent", "enabled": true, "retentionPolicy": { "days": 30, "enabled": true } }, { "category": "NetworkSecurityGroupRuleCounter", "enabled": true, "retentionPolicy": { "days": 30, "enabled": true } } ]' \
  --workspace myWorkspace \
  --resource-group myWorkspaces

Se non si dispone di un'area di lavoro esistente, crearne una usando portale di Azure o Azure PowerShell. Esistono due categorie di registrazione per cui è possibile abilitare i log.

Per registrare i dati di una sola categoria, rimuovere la categoria per la quale non si vogliono registrare i dati nel comando precedente. Se si vuole accedere a una destinazione diversa da un'area di lavoro Log Analytics, usare un parametro appropriato. Per altre informazioni, vedere Log delle risorse di Azure.

Visualizzare e analizzare i log. Per altre informazioni, vedere Visualizzare e analizzare i log.

Destinazioni dei log

È possibile inviare dati di diagnostica alle opzioni seguenti:

Categorie di log

I dati in formato JSON vengono scritti per le categorie di log seguenti: contatore di eventi e regole.

Evento

Il registro eventi contiene informazioni sulle regole del gruppo di sicurezza di rete applicate alle macchine virtuali, in base all'indirizzo MAC. I dati seguenti vengono registrati per ogni evento. Nell'esempio seguente, i dati vengono registrati per una macchina virtuale con indirizzo IP 192.168.1.4 e indirizzo MAC 00-0D-3A-92-6A-7C:

{
    "time": "[DATE-TIME]",
    "systemId": "[ID]",
    "category": "NetworkSecurityGroupEvent",
    "resourceId": "/SUBSCRIPTIONS/[SUBSCRIPTION-ID]/RESOURCEGROUPS/[RESOURCE-GROUP-NAME]/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/[NSG-NAME]",
    "operationName": "NetworkSecurityGroupEvents",
    "properties": {
        "vnetResourceGuid":"[ID]",
        "subnetPrefix":"192.168.1.0/24",
        "macAddress":"00-0D-3A-92-6A-7C",
        "primaryIPv4Address":"192.168.1.4",
        "ruleName":"[SECURITY-RULE-NAME]",
        "direction":"[DIRECTION-SPECIFIED-IN-RULE]",
        "priority":"[PRIORITY-SPECIFIED-IN-RULE]",
        "type":"[ALLOW-OR-DENY-AS-SPECIFIED-IN-RULE]",
        "conditions":{
            "protocols":"[PROTOCOLS-SPECIFIED-IN-RULE]",
            "destinationPortRange":"[PORT-RANGE-SPECIFIED-IN-RULE]",
            "sourcePortRange":"[PORT-RANGE-SPECIFIED-IN-RULE]",
            "sourceIP":"[SOURCE-IP-OR-RANGE-SPECIFIED-IN-RULE]",
            "destinationIP":"[DESTINATION-IP-OR-RANGE-SPECIFIED-IN-RULE]"
            }
        }
}

Contatore regole

Il log contatore regole contiene informazioni su ogni regola applicata alle risorse. I dati di esempio seguenti vengono registrati ogni volta che viene applicata una regola. Nell'esempio seguente, i dati vengono registrati per una macchina virtuale con indirizzo IP 192.168.1.4 e indirizzo MAC 00-0D-3A-92-6A-7C:

{
    "time": "[DATE-TIME]",
    "systemId": "[ID]",
    "category": "NetworkSecurityGroupRuleCounter",
    "resourceId": "/SUBSCRIPTIONS/[SUBSCRIPTION ID]/RESOURCEGROUPS/[RESOURCE-GROUP-NAME]/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/[NSG-NAME]",
    "operationName": "NetworkSecurityGroupCounters",
    "properties": {
        "vnetResourceGuid":"[ID]",
        "subnetPrefix":"192.168.1.0/24",
        "macAddress":"00-0D-3A-92-6A-7C",
        "primaryIPv4Address":"192.168.1.4",
        "ruleName":"[SECURITY-RULE-NAME]",
        "direction":"[DIRECTION-SPECIFIED-IN-RULE]",
        "type":"[ALLOW-OR-DENY-AS-SPECIFIED-IN-RULE]",
        "matchedConnections":125
        }
}

Nota

L'indirizzo IP di origine per la comunicazione non viene registrato. È possibile abilitare la registrazione del flusso del gruppo di sicurezza di rete per un gruppo di sicurezza di rete, che registra tutte le informazioni sul contatore delle regole e l'indirizzo IP di origine che ha avviato la comunicazione. I dati del log del flusso di NSG vengono scritti in un account di archiviazione di Azure. È possibile analizzare i dati con la funzionalità di analisi del traffico di Azure Network Watcher.

Visualizzare e analizzare i log

Se si inviano i dati di diagnostica a:

  • Log di Monitoraggio di Azure: è possibile usare la soluzione di analisi dei gruppi di sicurezza di rete per ottenere informazioni dettagliate avanzate. La soluzione offre visualizzazioni per le regole dei gruppi di sicurezza di rete che consentono o negano il traffico, in base all'indirizzo MAC, dell'interfaccia di rete in una macchina virtuale.

  • Account di archiviazione di Azure: i dati sono scritti in un file PT1H.json . È possibile trovare il:

    • Registro eventi nel percorso seguente: insights-logs-networksecuritygroupevent/resourceId=/SUBSCRIPTIONS/[ID]/RESOURCEGROUPS/[RESOURCE-GROUP-NAME-FOR-NSG]/PROVIDERS/MICROSOFT. NETWORK/NETWORKSECURITYGROUPS/[NSG NAME]/y=[YEAR]/m=[MONTH/d=[DAY]/h=[HOUR]/m=[MINUTE]
    • Log del contatore delle regole nel percorso seguente: insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/[ID]/RESOURCEGROUPS/[RESOURCE-GROUP-NAME-FOR-NSG]/PROVIDERS/MICROSOFT. NETWORK/NETWORKSECURITYGROUPS/[NSG NAME]/y=[YEAR]/m=[MONTH/d=[DAY]/h=[HOUR]/m=[MINUTE]

Per informazioni su come visualizzare i dati dei log delle risorse, vedere Panoramica dei log della piattaforma Azure.

Passaggi successivi

  • Per altre informazioni sulla registrazione delle attività, vedere Panoramica dei log della piattaforma Azure.

    La registrazione delle attività è abilitata per impostazione predefinita per i gruppi di sicurezza di rete creati tramite qualsiasi modello di distribuzione di Azure. Per determinare quali operazioni sono state completate nei NGS nel log attività, cercare le voci che contengono i tipi di risorsa seguenti:

    • Microsoft.ClassicNetwork/networkSecurityGroups
    • Microsoft.ClassicNetwork/networkSecurityGroups/securityRules
    • Microsoft.Network/networkSecurityGroups
    • Microsoft.Network/networkSecurityGroups/securityRules
  • Per informazioni su come registrare le informazioni di diagnostica, vedere Registrare il traffico di rete da e verso una macchina virtuale usando il portale di Azure.