Protokolování prostředků pro skupinu zabezpečení sítě

Skupina zabezpečení sítě (NSG) obsahuje pravidla, která povolují nebo zakazují provoz do podsítě virtuální sítě, síťového rozhraní nebo obojího.

Když povolíte protokolování pro skupinu zabezpečení sítě, můžete shromáždit následující typy informací protokolu prostředků:

  • Událost: Protokolují se položky, pro které se pravidla NSG použijí na virtuální počítače na základě adresy MAC.
  • Čítač pravidel: Obsahuje položky, kolikrát se každé pravidlo NSG použije k povolení nebo zamítnutí provozu. Stav těchto pravidel se shromažďuje každých 300 sekund.

Protokoly prostředků jsou dostupné jenom pro skupiny zabezpečení sítě nasazené prostřednictvím modelu nasazení Azure Resource Manager. Protokolování prostředků nemůžete povolit pro skupiny zabezpečení sítě nasazené prostřednictvím modelu nasazení Classic. Další informace najdete v tématu Principy modelů nasazení.

Protokolování prostředků se povoluje samostatně pro každou skupinu zabezpečení sítě, pro kterou se mají shromažďovat diagnostická data. Pokud vás zajímají protokoly aktivit nebo provozních protokolů, přečtěte si téma Přehled protokolů platformy Azure. Pokud vás zajímá tok provozu IP přes skupiny zabezpečení sítě, přečtěte si téma Protokoly toku pro skupiny zabezpečení sítě.

Povolit protokolování

Protokolování prostředků můžete povolit pomocí Azure Portal, Azure PowerShell nebo Azure CLI.

portál Azure

  1. Přihlaste se k Azure Portal.

  2. Do vyhledávacího pole v horní části Azure Portal zadejte skupiny zabezpečení sítě. Ve výsledcích hledání vyberte Skupiny zabezpečení sítě .

  3. Vyberte skupinu zabezpečení sítě, pro kterou chcete protokolování povolit.

  4. V části Monitorování vyberte Nastavení diagnostiky a pak vyberte Přidat nastavení diagnostiky:

    Snímek obrazovky znázorňuje nastavení diagnostiky skupiny zabezpečení sítě se zvýrazněnou možností Přidat nastavení diagnostiky.

  5. V nastavení diagnostiky zadejte název, například myNsgDiagnostic.

  6. V části Protokoly vyberte allLogs nebo vyberte jednotlivé kategorie protokolů. Další informace o jednotlivých kategoriích najdete v tématu Kategorie protokolů.

  7. V části Podrobnosti o cíli vyberte jeden nebo více cílů:

    • Odeslání do pracovního prostoru služby Log Analytics
    • Archivovat v účtu úložiště
    • Streamovat do centra událostí
    • Odeslat partnerskému řešení

    Další informace najdete v tématu Cíle protokolu.

  8. Vyberte Uložit.

  9. Umožňuje zobrazit a analyzovat protokoly. Další informace najdete v tématu Zobrazení a analýza protokolů.

Azure PowerShell

Poznámka

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Příkazy, které jsou v této části, můžete spustit v azure Cloud Shell nebo spuštěním PowerShellu z počítače. Azure Cloud Shell je bezplatné interaktivní prostředí. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.

Pokud powershell spouštíte z počítače, potřebujete modul Azure PowerShell verze 1.0.0 nebo novější. Nainstalovanou verzi zjistíte spuštěním příkazu Get-Module -ListAvailable Az. Pokud potřebujete upgrade, přečtěte si téma Instalace modulu Azure PowerShell. Pokud spouštíte PowerShell místně, musíte také spustit rutinu Connect-AzAccount a přihlásit se k Azure pomocí účtu, který má potřebná oprávnění.

Pokud chcete povolit protokolování prostředků, potřebujete ID existující skupiny zabezpečení sítě. Pokud nemáte existující skupinu zabezpečení sítě, vytvořte ji pomocí rutiny New-AzNetworkSecurityGroup .

Získejte skupinu zabezpečení sítě, pro kterou chcete povolit protokolování prostředků, pomocí rutiny Get-AzNetworkSecurityGroup . Uložte skupinu zabezpečení sítě do proměnné pro pozdější použití. Pokud například chcete načíst skupinu zabezpečení sítě s názvem myNsg , která existuje ve skupině prostředků myResourceGroup, zadejte následující příkaz:

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

Protokoly prostředků můžete zapisovat do různých cílových typů. Další informace najdete v tématu Cíle protokolu. V tomto článku se protokoly odesílají do cíle pracovního prostoru služby Log Analytics . Pokud nemáte existující pracovní prostor, můžete ho vytvořit pomocí rutiny New-AzOperationalInsightsWorkspace .

Načtěte existující pracovní prostor služby Log Analytics pomocí rutiny Get-AzOperationalInsightsWorkspace . Pokud například chcete získat a uložit existující pracovní prostor myWorkspace ve skupině prostředků myWorkspaces, zadejte následující příkaz:

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

Existují dvě kategorie protokolování, které můžete povolit. Další informace najdete v tématu Kategorie protokolů. Povolte protokolování prostředků pro skupinu zabezpečení sítě pomocí rutiny New-AzDiagnosticSetting . Následující příklad protokoluje data kategorií událostí i čítačů do pracovního prostoru pro skupinu zabezpečení sítě. Používá ID skupiny zabezpečení sítě a pracovního prostoru, která jste získali s předchozími příkazy:

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

Pokud chcete protokolovat k jinému cíli než pracovnímu prostoru služby Log Analytics, použijte v příkazu příslušný parametr. Další informace najdete v tématu Protokoly prostředků Azure.

Další informace o nastavení najdete v tématu New-AzDiagnosticSetting.

Umožňuje zobrazit a analyzovat protokoly. Další informace najdete v tématu Zobrazení a analýza protokolů.

Azure CLI

Příkazy v této části můžete spustit v Azure Cloud Shell nebo spuštěním Azure CLI z počítače. Azure Cloud Shell je bezplatné interaktivní prostředí. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.

Pokud rozhraní příkazového řádku spustíte z počítače, potřebujete verzi 2.0.38 nebo novější. Spusťte az --version na počítači a vyhledejte nainstalovanou verzi. Pokud potřebujete upgradovat, přečtěte si téma Instalace Azure CLI. Pokud rozhraní příkazového řádku spouštíte místně, musíte také spustit příkaz az login pro přihlášení k Azure pomocí účtu, který má potřebná oprávnění.

Pokud chcete povolit protokolování prostředků, potřebujete ID existující skupiny zabezpečení sítě. Pokud nemáte existující skupinu zabezpečení sítě, vytvořte ji pomocí příkazu az network nsg create.

Pomocí příkazu az network nsg show získejte a uložte skupinu zabezpečení sítě, pro kterou chcete povolit protokolování prostředků. Pokud například chcete načíst skupinu zabezpečení sítě s názvem myNsg , která existuje ve skupině prostředků myResourceGroup, zadejte následující příkaz:

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

Protokoly prostředků můžete zapisovat do různých cílových typů. Další informace najdete v tématu Cíle protokolu. V tomto článku se protokoly odesílají jako příklad do cíle pracovního prostoru služby Log Analytics . Další informace najdete v tématu Kategorie protokolů.

Povolte protokolování prostředků pro skupinu zabezpečení sítě pomocí příkazu az monitor diagnostic-settings create. Následující příklad protokoluje data kategorií událostí i čítačů do existujícího pracovního prostoru myWorkspace, který existuje ve skupině prostředků myWorkspaces. Používá ID skupiny zabezpečení sítě, které jste uložili pomocí předchozího příkazu.

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

Pokud nemáte existující pracovní prostor, vytvořte ho pomocí Azure Portal nebo Azure PowerShell. Existují dvě kategorie protokolování, pro které můžete protokoly povolit.

Pokud chcete protokolovat data jenom pro jednu nebo druhou kategorii, odeberte kategorii, pro kterou nechcete protokolovat data v předchozím příkazu. Pokud chcete protokolovat do jiného cíle než pracovního prostoru služby Log Analytics, použijte odpovídající parametr. Další informace najdete v tématu Protokoly prostředků Azure.

Umožňuje zobrazit a analyzovat protokoly. Další informace najdete v tématu Zobrazení a analýza protokolů.

Cíle protokolů

Diagnostická data můžete odesílat do následujících možností:

Kategorie protokolů

Data ve formátu JSON se zapisují pro následující kategorie protokolů: čítač událostí a pravidel.

Událost

Protokol událostí obsahuje informace o tom, která pravidla NSG se použijí na virtuální počítače na základě adresy MAC. Pro každou událost se protokolují následující data. V následujícím příkladu se data pro virtuální počítač protokolují s IP adresou 192.168.1.4 a adresou 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]"
            }
        }
}

Čítač pravidel

Protokol čítačů pravidel obsahuje informace o jednotlivých pravidlech použitých na prostředky. Následující příklad dat se protokoluje při každém použití pravidla. V následujícím příkladu se data pro virtuální počítač protokolují s IP adresou 192.168.1.4 a adresou 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
        }
}

Poznámka

Zdrojová IP adresa pro komunikaci není protokolována. Pro skupinu zabezpečení sítě můžete povolit protokolování toku NSG , která protokoluje všechny informace o čítači pravidel a zdrojovou IP adresu, která komunikaci iniciovala. Data protokolu toku NSG se zapisují do účtu Azure Storage. Data můžete analyzovat pomocí funkce analýzy provozu azure Network Watcher.

Zobrazení a analýza protokolů

Pokud odesíláte diagnostická data na adresu:

  • Protokoly Azure Monitoru: Pro lepší přehledy můžete použít řešení analýzy skupin zabezpečení sítě . Řešení poskytuje vizualizace pravidel NSG, která povolují nebo zakazují provoz síťového rozhraní ve virtuálním počítači podle adresy MAC.

  • Účet služby Azure Storage: Data se zapisuje do souboru PT1H.json . Můžete najít:

    • Protokol událostí, který je v následující cestě: 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]
    • Protokol čítačů pravidel, který je v následující cestě: 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]

Informace o tom, jak zobrazit data protokolu prostředků, najdete v tématu Přehled protokolů platformy Azure.

Další kroky

  • Další informace o protokolování aktivit najdete v tématu Přehled protokolů platformy Azure.

    Protokolování aktivit je ve výchozím nastavení povolené pro skupiny zabezpečení sítě vytvořené prostřednictvím modelu nasazení Azure. Pokud chcete zjistit, které operace se skupinami zabezpečení sítě byly v protokolu aktivit dokončeny, vyhledejte položky, které obsahují následující typy prostředků:

    • Microsoft.ClassicNetwork/networkSecurityGroups
    • Microsoft.ClassicNetwork/networkSecurityGroups/securityRules
    • Microsoft.Network/networkSecurityGroups
    • Microsoft.Network/networkSecurityGroups/securityRules
  • Informace o protokolování diagnostických informací najdete v tématu Protokolování síťového provozu do a z virtuálního počítače pomocí Azure Portal.