Поделиться через


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

Группа безопасности сети (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 Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

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

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

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

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

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

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

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

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

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

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

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

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

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

Azure CLI

Вы можете выполнить команды в этом разделе в Azure Cloud Shell или запустив 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. Он использует идентификатор группы безопасности сети, сохраненной с помощью предыдущей команды.

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=[ЧАС]/m=[МИНУТА]
    • Журнал счетчиков правил, который находится в следующем пути: 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=[ЧАС]/m=[МИНУТА]

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

Следующие шаги

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

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

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