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 di rete virtuale, un'interfaccia di rete o entrambi.

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

  • Evento: Le voci vengono registrate per le quali le regole NSG vengono applicate alle macchine virtuali, in base all'indirizzo MAC.
  • Contatore regole: Contiene le voci relative al numero di volte in cui ogni regola NSG viene applicata per negare o consentire 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 mancato accesso distribuiti tramite il modello di distribuzione classico. Per una migliore comprensione dei due modelli, vedere Informazioni sui modelli di distribuzione di Azure.

La registrazione delle risorse è abilitata separatamente per ogni gruppo di criteri di rete per cui si vogliono raccogliere dati di diagnostica. Se invece si è interessati ai log attività (operativi), vedere Registrazione attività diAzure. Se si è interessati al traffico IP che attraversa IGN, vedere Log di Flow NSG di Azure Network Watcher

Abilitare la registrazione

È possibile usare il portale di Azure,PowerShello l'interfaccia di amministrazione di Azure per abilitare la registrazione delle risorse.

Portale di Azure

  1. Accedere al portale.

  2. Selezionare Tutti i servizi,quindi digitare gruppi di sicurezza di rete. Quando i gruppi di sicurezza di rete vengono visualizzati nei risultati della ricerca, selezionarli.

  3. Selezionare il gruppo di protezione dei criteri di rete per cui abilitare la registrazione.

  4. In MONITORAGGIOselezionare Log di diagnosticae quindi Selezionare Attiva diagnostica,come illustrato nell'immagine seguente:

    Attivare la diagnostica

  5. In Impostazioni di diagnosticaimmettere o selezionare le informazioni seguenti e quindi selezionare Salva:

    Impostazione Valore
    Nome Un nome a scelta. Ad esempio: myNsgDiagnostics
    Archiviare in un account di archiviazione,eseguire lo stream in un hub eventie inviare a Log Analytics È possibile selezionare il numero di destinazioni scelto. Per altre informazioni su ognuna, vedere Destinazioni dei log.
    LOG Selezionare una o entrambe le categorie di log. Per altre informazioni sui dati registrati per ogni categoria, vedere Categorie di log.
  6. Visualizzare e analizzare i log. Per altre informazioni, vedere Visualizzare e analizzare i log.

PowerShell

Nota

Questo articolo usa il modulo Azure Az PowerShell, che è il modulo di PowerShell consigliato per interagire con Azure. Per iniziare a usare il modulo Az PowerShell, vedereInstallare Azure PowerShell . Per informazioni su come eseguire la migrazione al modulo di PowerShell Az, vedere Eseguire la Azure PowerShell da AzureRM a Az.

È possibile eseguire i comandi seguenti in Azure Cloud Shelloppure eseguendo PowerShell dal computer. Azure Cloud Shell è una shell interattiva gratuita. Sono disponibili 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. Esegui Get-Module -ListAvailable Az nel computer per trovare la versione installata. Se è necessario eseguire l'aggiornamento, vedere Installare Azure PowerShell modulo. Se si esegue PowerShell in locale, è necessario eseguire anche per accedere ad Azure con un Connect-AzAccount account con le autorizzazioni Connect-AzAccount

Per abilitare la registrazione delle risorse, è necessario l'ID di un gruppo di rete esistente. Se non si ha un gruppo di sicurezza di rete esistente, è possibile crearne uno con New-AzNetworkSecurityGroup.

Recuperare il gruppo di sicurezza di rete per cui si vuole abilitare la registrazione delle risorse con Get-AzNetworkSecurityGroup. Ad esempio, per recuperare un gruppo di sicurezza di rete denominato myNsg presente in un gruppo di risorse denominato myResourceGroup,immettere il comando seguente:

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

È possibile scrivere log delle risorse in tre tipi di destinazione. Per altre informazioni, vedere Destinazioni dei log. In questo articolo, i log vengono inviati alla destinazione di Log Analytics, ad esempio. Recuperare un'area di lavoro di Log Analytics esistente con Get-AzOperationalInsightsWorkspace. Ad esempio, per recuperare 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

Se non si ha un'area di lavoro esistente, è possibile crearne una con New-AzOperationalInsightsWorkspace.

Sono disponibili due categorie di registrazione per cui è possibile abilitare i log. Per altre informazioni, vedere Categorie di log. Abilitare la registrazione delle risorse per il gruppo di rete con Set-AzDiagnosticSetting. L'esempio seguente registra i dati relativi a eventi e categorie di contatori nell'area di lavoro per un gruppo di rete, usando gli ID per il gruppo di rete e l'area di lavoro recuperata in precedenza:

Set-AzDiagnosticSetting `
  -ResourceId $Nsg.Id `
  -WorkspaceId $Oms.ResourceId `
  -Enabled $true

Se si vogliono registrare solo i dati per una categoria o l'altra, invece di entrambe, aggiungere l'opzione al comando precedente, seguito da -Categories-Categories o NetworkSecurityGroupRuleCounter. Se si vuole accedere a una destinazione diversa da un'area di lavoro di Log Analytics, usare i parametri appropriati per un account di Azure Archiviazione o hub eventi.

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 seguenti in Azure Cloud Shelloppure eseguendo l'interfaccia della riga di comando di Azure dal computer. Azure Cloud Shell è una shell interattiva gratuita. Sono disponibili strumenti comuni di Azure preinstallati e configurati per l'uso con l'account. Se si esegue l'interfaccia della riga di comando dal computer, è necessaria la versione 2.0.38 o successiva. Esegui az --version nel computer per trovare la versione installata. 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, è necessario eseguire anche l'esecuzione per accedere ad Azure con un account con az login le az login

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

Recuperare 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 presente 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 log delle risorse in tre tipi di destinazione. Per altre informazioni, vedere Destinazioni dei log. In questo articolo, i log vengono inviati alla destinazione di 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 i dati relativi a eventi e categorie di contatori in un'area di lavoro esistente denominata myWorkspace, che si trova in un gruppo di risorse denominato myWorkspaces,e l'ID del gruppo di sicurezza di rete recuperato in precedenza:

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 ha un'area di lavoro esistente, è possibile crearne una usando il portale di Azure o PowerShell. Sono disponibili due categorie di registrazione per cui è possibile abilitare i log.

Se si vogliono registrare solo i dati per una categoria o l'altra, rimuovere la categoria per cui non si vogliono registrare i dati nel comando precedente. Se si vuole accedere a una destinazione diversa da un'area di lavoro di Log Analytics, usare i parametri appropriati per un account di Azure Archiviazione o hub eventi.

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

Destinazioni del log

I dati di diagnostica possono essere:

Categorie di log

I dati in formato JSON vengono scritti per le categorie di log seguenti:

Evento

Il log eventi contiene informazioni sulle regole NSG applicate alle macchine virtuali in base all'indirizzo MAC. Per ogni evento vengono registrati i dati seguenti. Nell'esempio seguente i dati vengono registrati per una macchina virtuale con l'indirizzo IP 192.168.1.4 e un 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 delle regole

Il log dei contatori delle 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 l'indirizzo IP 192.168.1.4 e un 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. È tuttavia possibile abilitare la registrazione del flusso NSG per un gruppo di rete, che registra tutte le informazioni sui contatori delle regole, nonché l'indirizzo IP di origine che ha avviato la comunicazione. I dati del log di flusso NSG vengono scritti in un account Archiviazione di Azure rete. È possibile analizzare i dati con la funzionalità di analisi del traffico di Azure Network Watcher.

Visualizzare e analizzare i log

Per informazioni su come visualizzare i dati del log delle risorse, vedere Panoramica dei log della piattaforma di Azure. Se si inviano dati di diagnostica a:

  • Log monitor di Azure:è possibile usare la soluzione di analisi del gruppo di sicurezza di rete per ottenere informazioni approfondite. La soluzione fornisce visualizzazioni per le regole del gruppo di sicurezza di rete che consentono o negano il traffico, per indirizzo MAC, dell'interfaccia di rete in una macchina virtuale.
  • Archiviazione di Azure account:i dati vengono scritti in un file PT1H.json. È possibile trovare:
    • 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 dei contatori 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]

Passaggi successivi

  • Altre informazioni sulla registrazione attività. La registrazione delle attività è abilitata per impostazione predefinita per i NSG creati tramite uno dei due modelli di distribuzione di Azure. Per determinare quali operazioni sono state completate nei gruppi di criteri di rete nel log attività, cercare le voci che contengono i tipi di risorse seguenti:
    • Microsoft.ClassicNetwork/networkSecurityGroups
    • Microsoft.ClassicNetwork/networkSecurityGroups/securityRules
    • Microsoft.Network/networkSecurityGroups
    • Microsoft.Network/networkSecurityGroups/securityRules
  • Per informazioni su come registrare le informazioni di diagnostica, per includere l'indirizzo IP di origine per ogni flusso, vedere Registrazione del flusso NSG.