Ведение журнала ресурсов для группы безопасности сети

Группа безопасности сети (NSG) содержит правила, которые разрешают или запрещают трафик для подсети виртуальной сети, сетевого интерфейса или и того, и другого.

При включении ведения журнала для NSG можно собрать следующие типы данных журнала ресурсов:

  • Событие: Записываются записи, для которых правила NSG применяются к виртуальным машинам на основе MAC-адреса.
  • Счетчик правил: Содержит записи о том, сколько раз каждое правило NSG применяется для разрешения или запрета трафика. Состояние этих правил регистрируется каждые 300 секунд.

Журналы ресурсов доступны только для NSG, для которых применена модель развертывания с помощью Azure Resource Manager. Вы не можете включить ведение журнала ресурсов для групп безопасности сети, развернутых с помощью классической модели развертывания. Дополнительные сведения см. в статье Общие сведения о моделях развертывания.

Ведение журнала ресурсов включено отдельно для каждой группы безопасности сети, для которой требуется собирать диагностические данные. Если вы заинтересованы в журналах действий или операционных журналах, см. статью Общие сведения о журналах платформы Azure. Если вас интересует IP-трафик, проходящий через группы безопасности сети, см. статью Журналы потоков для групп безопасности сети.

Включение ведения журналов

Для включения ведения журнала ресурсов можно использовать портал Azure, Azure PowerShell или Azure CLI.

Портал Azure

  1. Войдите на портал Azure.

  2. В поле поиска в верхней части портал Azure введите группы безопасности сети. В результатах поиска выберите Группы безопасности сети.

  3. Выберите группу безопасности сети, для которой необходимо включить ведение журнала.

  4. В разделе Мониторинг выберите Параметры диагностики, а затем — Добавить параметр диагностики:

    Снимок экрана: параметры диагностики для группы безопасности сети с выделенным параметром

  5. В поле Параметр диагностики введите имя, например myNsgDiagnostic.

  6. В поле Журналы выберите allLogs или отдельные категории журналов. Дополнительные сведения о каждой категории см. в разделе Категории журналов.

  7. В разделе Сведения о назначении выберите одно или несколько назначений:

    • Отправка в рабочую область Log Analytics
    • "Архивировать в учетной записи хранения";
    • "Передать в концентратор событий";
    • Отправка в партнерское решение

    Дополнительные сведения см. в разделе Целевое расположение для журналов.

  8. Щелкните Сохранить.

  9. Просмотрите и проанализируйте журналы. Дополнительные сведения см. в разделе Просмотр и анализ журналов.

Azure PowerShell

Примечание

Для взаимодействия с Azure рекомендуется использовать модуль Azure Az PowerShell. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Команды, приведенные в этом разделе, можно выполнить в Cloud Shell Azure или с помощью PowerShell на компьютере. Azure Cloud Shell — это бесплатная интерактивная оболочка. Она включает предварительно установленные общие инструменты Azure и настроена для использования с вашей учетной записью.

Если вы выполняете PowerShell на локальном компьютере, вам потребуется модуль Azure PowerShell 1.0.0 или более поздней версии. Выполните командлет Get-Module -ListAvailable Az, чтобы узнать установленную версию. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell. Если вы запускаете PowerShell локально, необходимо также выполнить командлет Connect-AzAccount , чтобы войти в Azure с помощью учетной записи с необходимыми разрешениями.

Чтобы включить ведение журнала ресурсов, требуется идентификатор существующей группы NSG. Если у вас нет группы безопасности сети, создайте ее с помощью командлета New-AzNetworkSecurityGroup .

Получите группу безопасности сети, для которой требуется включить ведение журнала ресурсов, с помощью командлета Get-AzNetworkSecurityGroup . Сохраните группу безопасности сети в переменной для последующего использования. Например, чтобы получить NSG myNsg в группе ресурсов myResourceGroup, введите следующую команду.

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

Журналы ресурсов можно записывать в разные типы назначения. Дополнительные сведения см. в разделе Целевое расположение для журналов. В этой статье журналы отправляются в назначение рабочей области Log Analytics . Если у вас нет существующей рабочей области, ее можно создать с помощью командлета New-AzOperationalInsightsWorkspace .

Получите существующую рабочую область Log Analytics с помощью командлета Get-AzOperationalInsightsWorkspace . Например, чтобы получить и сохранить существующую рабочую область с именем myWorkspace в группе ресурсов myWorkspaces, введите следующую команду:

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

Существует две категории ведения журнала, которые можно включить. Дополнительные сведения см. в разделе Категории журналов. Включите ведение журнала ресурсов для NSG с помощью командлета New-AzDiagnosticSetting . В следующем примере данные категорий событий и счетчиков регистрируются в рабочей области для NSG. В нем используются идентификаторы для группы безопасности сети и рабочей области, которые вы получили с помощью предыдущих команд:

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

Если вы хотите выполнить вход в место назначения , отличное от рабочей области Log Analytics, используйте соответствующий параметр в команде . Дополнительные сведения см. в статье Журналы ресурсов Azure.

Дополнительные сведения о параметрах см. в разделе New-AzDiagnosticSetting.

Просмотрите и проанализируйте журналы. Дополнительные сведения см. в разделе Просмотр и анализ журналов.

Azure CLI

Команды, приведенные в этом разделе, можно выполнить на Cloud Shell Azure или с помощью Azure CLI с компьютера. Azure Cloud Shell — это бесплатная интерактивная оболочка. Она включает предварительно установленные общие инструменты Azure и настроена для использования с вашей учетной записью.

Для запуска CLI на компьютере требуется версия 2.0.38 или выше. Выполните az --version на компьютере, чтобы получить сведения об установленной версии. Если вам необходимо выполнить обновление, см. статью Установка Azure CLI. Если вы запускаете ИНТЕРФЕЙС командной строки локально, вам также потребуется выполнить команду az login , чтобы войти в Azure с учетной записью с необходимыми разрешениями.

Чтобы включить ведение журнала ресурсов, требуется идентификатор существующей группы NSG. Если у вас нет группы безопасности сети, создайте ее с помощью команды az network nsg create.

Получите и сохраните группу безопасности сети, для которой требуется включить ведение журнала ресурсов, с помощью команды az network nsg show. Например, чтобы получить NSG myNsg в группе ресурсов myResourceGroup, введите следующую команду.

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

Журналы ресурсов можно записывать в разные типы назначения. Дополнительные сведения см. в разделе Целевое расположение для журналов. В этой статье журналы отправляются в назначение рабочей области Log Analytics , например. Дополнительные сведения см. в разделе Категории журналов.

Включите ведение журнала ресурсов для NSG с помощью команды az monitor diagnostic-settings create. В следующем примере данные категорий событий и счетчиков записываются в существующую рабочую область myWorkspace, которая существует в группе ресурсов myWorkspaces. Он использует идентификатор NSG, сохраненный с помощью предыдущей команды.

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

Если у вас нет рабочей области, создайте ее с помощью портал Azure или Azure PowerShell. Существует две категории ведения журнала, для которых можно включить журналы.

Если вы хотите регистрировать данные только для какой-то из категорий, удалите ненужную категорию с помощью предыдущей команды. Если вы хотите выполнить вход в место назначения , отличное от рабочей области Log Analytics, используйте соответствующий параметр. Дополнительные сведения см. в статье Журналы ресурсов Azure.

Просмотрите и проанализируйте журналы. Дополнительные сведения см. в разделе Просмотр и анализ журналов.

Целевое расположение для журналов

Вы можете отправить диагностика данные следующим образом:

Категории журналов

Данные в формате JSON записываются для следующих категорий журналов: события и счетчик правил.

Событие

Журнал событий содержит сведения о том, какие правила NSG применяются к виртуальным машинам на основе MAC-адреса. Эти данные регистрируются для каждого события. В следующем примере данные зарегистрированы для виртуальной машины с IP-адресом 192.168.1.4 и 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]"
            }
        }
}

Счетчик правил

Журнал счетчика правил содержит сведения о всех случаях применения правил к ресурсам. Данные, представленные в этом примере, регистрируются для каждого применения правила. В следующем примере данные зарегистрированы для виртуальной машины с IP-адресом 192.168.1.4 и 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
        }
}

Примечание

Исходный IP-адрес для обмена данными записывается. Вы можете включить ведение журнала потоков NSG для группы безопасности сети, которая регистрирует все сведения счетчика правил и исходный IP-адрес, который инициировал обмен данными. Данные журнала потоков NSG записываются в учетную запись хранения Azure. Данные можно анализировать с помощью функции анализа трафика службы "Наблюдатель за сетями".

Просмотр и анализ журналов

Если данные диагностики отправляются в:

  • Журналы Azure Monitor, то важные сведения можно получать с помощью решения для анализа групп безопасности сети. Это решение наглядно представляет правила NSG, которые разрешают или запрещают трафик по MAC-адресу сетевого интерфейса в виртуальной машине.

  • Учетная запись хранения Azure. Данные записываются в файл PT1H.json . Расположение журналов:

    • Журнал событий, который находится по следующему пути: 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]
    • Журнал счетчиков правил, который находится по следующему пути: 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]

Сведения о просмотре данных журнала ресурсов см. в статье Общие сведения о журналах платформы Azure.

Дальнейшие действия

  • Дополнительные сведения о ведении журнала действий см. в статье Обзор журналов платформы Azure.

    Ведение журнала действий включено по умолчанию для всех создаваемых NSG, независимо от модели развертывания Azure. Чтобы определить в журнале активности, какие операции были выполнены с группами безопасности сети, найдите записи, содержащие следующие типы ресурсов:

    • Microsoft.ClassicNetwork/networkSecurityGroups
    • Microsoft.ClassicNetwork/networkSecurityGroups/securityRules
    • Microsoft.Network/networkSecurityGroups
    • Microsoft.Network/networkSecurityGroups/securityRules
  • Сведения о том, как записывать диагностические сведения, см. в статье Ведение журнала сетевого трафика к виртуальной машине и из нее с помощью портал Azure.