Sdílet prostřednictvím


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: Položky jsou protokolovány, pro které se pravidla NSG použijí na virtuální počítače na základě adresy MAC.
  • Čítač pravidla: Obsahuje položky pro to, 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ů není možné povolit pro skupiny zabezpečení sítě nasazené prostřednictvím modelu nasazení Classic. Další informace najdete v tématu Vysvětlení modelů nasazení.

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

Povolit protokolování

K povolení protokolování prostředků můžete použít Azure Portal, Azure PowerShell nebo Azure CLI .

portál Azure

  1. Přihlaste se k portálu Azure.

  2. Do vyhledávacího pole v horní části webu 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 povolit protokolování.

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

    Snímek obrazovky ukazuje nastavení diagnostiky pro skupinu zabezpečení sítě se zvýrazněným nastavením Přidat diagnostiku.

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

  6. V části Protokoly vyberte všechny protokoly 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 jednu nebo více cílů:

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

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

  8. Zvolte Uložit.

  9. Zobrazte a analyzujte protokoly. Další informace najdete v tématu Zobrazení a analýza protokolů.

Azure PowerShell

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. 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 v Azure Cloud Shellu, můžete spustit pomocí 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 spustíte PowerShell ze svého 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 powershell spouštíte místně, musíte také spustit rutinu Connect-AzAccount 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í rutiny New-AzNetworkSecurityGroup .

Pomocí rutiny Get-AzNetworkSecurityGroup získejte skupinu zabezpečení sítě, pro kterou chcete povolit protokolování prostředků. 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 s názvem myWorkspace ve skupině prostředků s názvem 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 do jiného cíle než do pracovního prostoru služby Log Analytics, použijte v příkazu odpovídající parametr. Další informace najdete v protokolech prostředků Azure.

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

Zobrazte a analyzujte 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 Shellu 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 spustíte rozhraní příkazového řádku ze svého počítače, potřebujete verzi 2.0.38 nebo novější. Spusťte az --version na počítači nainstalovanou verzi. Pokud potřebujete upgradovat, přečtěte si téma Instalace Azure CLI. Pokud spouštíte rozhraní příkazového řádku místně, musíte se také spustit az login , abyste se přihlásili 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.

Získejte a uložte skupinu zabezpečení sítě, pro kterou chcete povolit protokolování prostředků pomocí příkazu az network nsg show. 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í do cíle pracovního prostoru služby Log Analytics, jako příklad. 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 zaznamená data kategorie událostí i čítače do existujícího pracovního prostoru s názvem myWorkspace, který existuje ve skupině prostředků myWorkspaces. Používá ID skupiny zabezpečení sítě, kterou 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í webu Azure Portal nebo Azure PowerShellu. Existují dvě kategorie protokolování, pro které můžete povolit protokoly.

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

Zobrazte a analyzujte 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 protokolují pro virtuální počítač 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č pravidla

Protokol čítače pravidla obsahuje informace o jednotlivých pravidlech použitých na prostředky. Následující ukázková data se protokolují při každém použití pravidla. V následujícím příkladu se data protokolují pro virtuální počítač 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 se nezaprotokoluje. Protokolování toku NSG můžete povolit pro skupinu zabezpečení sítě, 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 služby Azure Network Watcher.

Zobrazení a analýza protokolů

Pokud odesíláte diagnostická data do:

  • Protokoly služby Azure Monitor: K rozšířeným přehledům můžete použít řešení analýzy skupin zabezpečení sítě. Řešení poskytuje vizualizace pro pravidla NSG, která povolují nebo zakazují provoz na adrese MAC síťového rozhraní ve virtuálním počítači.

  • Účet služby Azure Storage: Data se zapisuje do souboru PT1H.json . Najdete zde:

    • 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če pravidla, 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 zobrazení dat protokolu prostředků najdete v přehledu 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 byly dokončeny u skupin zabezpečení sítě v protokolu aktivit, 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í webu Azure Portal.