Resursloggning för en nätverkssäkerhetsgrupp

En nätverkssäkerhetsgrupp (NSG) innehåller regler som tillåter eller nekar trafik till ett virtuellt nätverksundernät, nätverksgränssnitt eller både och.

När du aktiverar loggning för en NSG kan du samla in följande typer av resurslogginformation:

  • Händelse: Poster loggas för vilka NSG-regler tillämpas på virtuella datorer baserat på MAC-adress.
  • Regelräknare: Innehåller poster för hur många gånger varje NSG-regel tillämpas för att tillåta eller neka trafik. Statusen för dessa regler samlas in var 300:e sekund.

Resursloggar är bara tillgängliga för NSG:er som distribueras via Azure Resource Manager distributionsmodellen. Du kan inte aktivera resursloggning för NSG:er som distribuerats via den klassiska distributionsmodellen. Mer information finns i Förstå distributionsmodeller.

Resursloggning aktiveras separat för varje NSG som diagnostikdata ska samlas in för. Om du är intresserad av aktivitet, eller drift, loggar i stället kan du läsa Översikt över Azure-plattformsloggar. Om du är intresserad av IP-trafik som flödar via NSG:er läser du Flödesloggar för nätverkssäkerhetsgrupper.

Aktivera loggning

Du kan använda Azure Portal, Azure PowerShell eller Azure CLI för att aktivera resursloggning.

Azure Portal

  1. Logga in på Azure Portal.

  2. I sökrutan överst i Azure Portal anger du nätverkssäkerhetsgrupper. Välj Nätverkssäkerhetsgrupper i sökresultaten.

  3. Välj den NSG som loggning ska aktiveras för.

  4. Under Övervakning väljer du Diagnostikinställningar och sedan Lägg till diagnostikinställning:

    Skärmbild som visar diagnostikinställningarna för en NSG med inställningen Lägg till diagnostik markerad.

  5. I Diagnostikinställning anger du ett namn, till exempel myNsgDiagnostic.

  6. För Loggar väljer du allaLoggar eller väljer enskilda kategorier av loggar. Mer information om varje kategori finns i Loggkategorier.

  7. Under Målinformation väljer du ett eller flera mål:

    • Skicka till Log Analytics-arbetsytan
    • Arkivera till ett lagringskonto
    • Strömma till en händelsehubb
    • Skicka till partnerlösning

    Mer information finns i Loggmål.

  8. Välj Spara.

  9. Visa och analysera loggar. Mer information finns i Visa och analysera loggar.

Azure PowerShell

Anteckning

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Du kan köra kommandona i det här avsnittet i Azure Cloud Shell eller genom att köra PowerShell från datorn. Azure Cloud Shell är ett kostnadsfritt interaktivt gränssnitt. Den har vanliga Azure-verktyg förinstallerat och har konfigurerats för användning med ditt konto.

Om du kör PowerShell från datorn behöver du modulen Azure PowerShell version 1.0.0 eller senare. Kör Get-Module -ListAvailable Az för att hitta den installerade versionen. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul). Om du kör PowerShell lokalt måste du också köra cmdleten Connect-AzAccount för att logga in på Azure med ett konto som har nödvändiga behörigheter.

Om du vill aktivera resursloggning behöver du ID:t för en befintlig NSG. Om du inte har någon befintlig NSG skapar du en med cmdleten New-AzNetworkSecurityGroup .

Hämta den nätverkssäkerhetsgrupp som du vill aktivera resursloggning för med hjälp av cmdleten Get-AzNetworkSecurityGroup . Lagra NSG i en variabel för senare användning. Om du till exempel vill hämta en NSG med namnet myNsg som finns i en resursgrupp med namnet myResourceGroup anger du följande kommando:

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

Du kan skriva resursloggar till olika måltyper. Mer information finns i Loggmål. I den här artikeln skickas loggar till ett Log Analytics-arbetsytemål . Om du inte har någon befintlig arbetsyta kan du skapa en med hjälp av cmdleten New-AzOperationalInsightsWorkspace .

Hämta en befintlig Log Analytics-arbetsyta med cmdleten Get-AzOperationalInsightsWorkspace . Om du till exempel vill hämta och lagra en befintlig arbetsyta med namnet myWorkspace i en resursgrupp med namnet myWorkspaces anger du följande kommando:

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

Det finns två loggningskategorier som du kan aktivera. Mer information finns i Loggkategorier. Aktivera resursloggning för NSG med cmdleten New-AzDiagnosticSetting . I följande exempel loggas både händelse- och räknarekategoridata till arbetsytan för en NSG. Den använder ID:n för den NSG och arbetsyta som du fick med de tidigare kommandona:

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

Om du vill logga till ett annat mål än en Log Analytics-arbetsyta använder du en lämplig parameter i kommandot . Mer information finns i Azure-resursloggar.

Mer information om inställningar finns i New-AzDiagnosticSetting.

Visa och analysera loggar. Mer information finns i Visa och analysera loggar.

Azure CLI

Du kan köra kommandona i det här avsnittet i Azure Cloud Shell eller genom att köra Azure CLI från datorn. Azure Cloud Shell är ett kostnadsfritt interaktivt gränssnitt. Den har vanliga Azure-verktyg förinstallerat och har konfigurerats för användning med ditt konto.

Om du kör CLI från datorn behöver du version 2.0.38 eller senare. Kör az --version på datorn för att hitta den installerade versionen. Om du behöver uppgradera kan du läsa Installera Azure CLI. Om du kör CLI lokalt måste du också köra az login för att logga in på Azure med ett konto som har nödvändiga behörigheter.

Om du vill aktivera resursloggning behöver du ID:t för en befintlig NSG. Om du inte har någon befintlig NSG skapar du en med hjälp av az network nsg create.

Hämta och lagra den nätverkssäkerhetsgrupp som du vill aktivera resursloggning för med az network nsg show. Om du till exempel vill hämta en NSG med namnet myNsg som finns i en resursgrupp med namnet myResourceGroup anger du följande kommando:

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

Du kan skriva resursloggar till olika måltyper. Mer information finns i Loggmål. I den här artikeln skickas loggar till ett Log Analytics-arbetsytemål , som ett exempel. Mer information finns i Loggkategorier.

Aktivera resursloggning för NSG med az monitor diagnostic-settings create. I följande exempel loggas både händelse- och räknarekategoridata till en befintlig arbetsyta med namnet myWorkspace, som finns i en resursgrupp med namnet myWorkspaces. Den använder ID:t för den NSG som du sparade med hjälp av föregående kommando.

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

Om du inte har någon befintlig arbetsyta skapar du en med hjälp av Azure Portal eller Azure PowerShell. Det finns två loggningskategorier som du kan aktivera loggar för.

Om du bara vill logga data för den ena eller den andra kategorin tar du bort den kategori som du inte vill logga data för i föregående kommando. Om du vill logga till ett annat mål än en Log Analytics-arbetsyta använder du en lämplig parameter. Mer information finns i Azure-resursloggar.

Visa och analysera loggar. Mer information finns i Visa och analysera loggar.

Loggningsmål

Du kan skicka diagnostikdata till följande alternativ:

Loggkategorier

JSON-formaterade data skrivs för följande loggkategorier: händelse- och regelräknare.

Händelse

Händelseloggen innehåller information om vilka NSG-regler som tillämpas på virtuella datorer, baserat på MAC-adress. Följande data loggas för varje händelse. I följande exempel loggas data för en virtuell dator med IP-adressen 192.168.1.4 och mac-adressen 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]"
            }
        }
}

Regelräknare

Regelräknarloggen innehåller information om varje regel som tillämpas på resurser. Följande exempeldata loggas varje gång en regel tillämpas. I följande exempel loggas data för en virtuell dator med IP-adressen 192.168.1.4 och mac-adressen 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
        }
}

Anteckning

Käll-IP-adressen för kommunikationen loggas inte. Du kan aktivera NSG-flödesloggning för en NSG, som loggar all information om regelräknaren och käll-IP-adressen som initierade kommunikationen. Loggdata från NSG-flödet skrivs till ett Azure Storage-konto. Du kan analysera data med trafikanalysfunktionen i Azure Network Watcher.

Visa och analysera loggar

Om du skickar diagnostikdata till:

  • Azure Monitor-loggar: Du kan använda analyslösningen för nätverkssäkerhetsgrupper för förbättrade insikter. Lösningen tillhandahåller visualiseringar för NSG-regler som tillåter eller nekar trafik, per MAC-adress, för nätverksgränssnittet på en virtuell dator.

  • Azure Storage-konto: Data skrivs till en PT1H.json-fil . Du hittar följande:

    • Händelselogg som finns i följande sökväg: 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]
    • Regelräknarlogg som finns i följande sökväg: 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]

Information om hur du visar resursloggdata finns i Översikt över Azure-plattformsloggar.

Nästa steg

  • Mer information om aktivitetsloggning finns i Översikt över Azure-plattformsloggar.

    Aktivitetsloggning är aktiverat som standard för NSG:er som skapats via någon av Azure-distributionsmodellerna. Om du vill ta reda på vilka åtgärder som har slutförts på NSG:er i aktivitetsloggen letar du efter poster som innehåller följande resurstyper:

    • Microsoft.ClassicNetwork/networkSecurityGroups
    • Microsoft.ClassicNetwork/networkSecurityGroups/securityRules
    • Microsoft.Network/networkSecurityGroups
    • Microsoft.Network/networkSecurityGroups/securityRules
  • Information om hur du loggar diagnostikinformation finns i Logga nätverkstrafik till och från en virtuell dator med hjälp av Azure Portal.