Compartilhar via


Registro de recursos para um grupo de segurança de rede

Um grupo de segurança de rede (NSG) contém regras que permitem ou negam o tráfego para uma sub-rede de rede virtual, a interface de rede ou ambos.

Ao habilitar o registro para um NSG, você pode coletar os seguintes tipos de informações do registro de recursos:

  • Evento: as entradas, para as quais regras NSG são aplicadas às VMs, são registradas com base em um endereço MAC.
  • Contador de regras: contém entradas de quantas vezes cada regra NSG é aplicada para negar ou permitir tráfego. O status para essas regras é coletado a cada 300 segundos.

Os registros de recursos estão disponíveis apenas para NSGs implantados por meio do modelo de implantação do Azure Resource Manager. Você não pode habilitar o registro de recursos em log para NSGs implantadas por meio do modelo de implantação clássico. Para obter mais informações, consulte Entenda os modelos de implantação.

O registro de recursos em log é ativado separadamente para cada NSG para a qual você deseja coletar dados de diagnóstico. Se você estiver interessado em atividades ou em logs operacionais, consulte Visão geral dos logs da plataforma do Azure. Se estiver interessado em tráfego IP fluindo por NSGs, consulte Logs de fluxo para grupo de segurança de rede.

Habilitar o registro em log

Você pode usar o portal do Azure, o Azure PowerShell ou a CLI do Azure para habilitar o registro de recursos em log.

Portal do Azure

  1. Entre no portal do Azure.

  2. Na caixa de pesquisa na parte superior do portal, digite grupos de segurança de rede. Selecione Grupos de segurança de rede nos resultados da pesquisa.

  3. Selecione o NSG para o qual você deseja habilitar o registro em log.

  4. EmMonitoramento, selecione Configurações de diagnóstico e, em seguida, selecione Adicionar configuração de diagnóstico.

    Captura de tela que mostra as configurações de diagnóstico de um NSG com a configuração Adicionar diagnóstico realçada.

  5. Na Configuração de diagnóstico, insira um nome, como myNsgDiagnostic.

  6. Em Logs, selecione allLogs ou selecione categorias individuais de logs. Para obter mais informações sobre cada categoria, consulte Categorias de log.

  7. Em Detalhes de destino, selecione um ou mais destinos:

    • Enviar para um workspace do Log Analytics.
    • Arquivar em uma conta de armazenamento.
    • Transmitir para um hub de eventos.
    • Enviar para uma solução de parceiro.

    Para mais informações, consulte Destinos de registro .

  8. Selecione Salvar.

  9. Exibir e analisar os logs. Para obter mais informações, consulte Visualizar e analisar logs.

Azure PowerShell

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Você pode executar os comandos disponíveis nesta seção no Azure Cloud Shell. Você também pode executar o PowerShell em seu computador. O Cloud Shell é um shell interativo gratuito. Ele tem ferramentas do Azure instaladas e configuradas para usar com sua conta.

Se executar o PowerShell do computador, será necessário o módulo do Azure PowerShell, versão 1.0.0 ou posterior. Execute Get-Module -ListAvailable Az para localizar a versão instalada. Se você precisa atualizar, consulte Instalar o módulo do Azure PowerShell. Se estiver executando o PowerShell localmente, também precisará executar o cmdlet Connect-AzAccount para entrar no Azure com uma conta que tenha as permissões necessárias.

Para habilitar o registro de recursos, você precisa da ID de um NSG existente. Se você não tiver um NSG existente, crie um usando o cmdlet New-AzNetworkSecurityGroup.

Obtenha o NSG para o qual você deseja habilitar o log de recursos usando o cmdlet Get-AzNetworkSecurityGroup. Armazene o NSG em uma variável para uso posterior. Por exemplo, para recuperar um NSG denominado myNsg que existe em um grupo de recursos denominado myResourceGroup, digite o seguinte comando:

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

Você pode gravar registros de recursos em log para três tipos de destino. Para mais informações, consulte Destinos de registro . Neste artigo, os logs são enviados para um destino do workspace do Log Analytics. Se você não tiver um workspace existente, crie um por meio do cmdlet New-AzOperationalInsightsWorkspace.

Recupere um espaço de trabalho do Log Analytics existente por meio do cmdlet Get-AzOperationalInsightsWorkspace. Por exemplo, para recuperar um workspace existente denominado myWorkspace em um grupo de recursos denominado myWorkspaces, digite o seguinte comando:

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

Há duas categorias de registro em log que você pode habilitar. Para mais informações, consulte Categorias de log . Habilite o registro de recursos em log para o NSG por meio do cmdlet Set-AzDiagnosticSetting. O exemplo a seguir registra em log tanto dados de categoria evento e contador no workspace para um NSG. Ele usa as IDs para o NSG e o workspace que você obteve com os comandos anteriores:

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

Se você quiser fazer registro em log em outro destinoque não um workspace do Log Analytics, use os parâmetros apropriados no comando. Para obter mais informações, confira Logs de recursos do Azure.

Para obter mais informações sobre configurações, consulte New-AzDiagnosticSetting.

Exibir e analisar os logs. Para obter mais informações, consulte Visualizar e analisar logs.

CLI do Azure

É possível executar os comandos nesta seção no Cloud Shell ou executando a CLI do Azure no computador. O Cloud Shell é um shell interativo gratuito. Ele tem ferramentas do Azure instaladas e configuradas para usar com sua conta.

Se você executar a CLI do seu computador, você precisa da versão 2.0.38 ou posterior. Execute az --version no computador para localizar a versão instalada. Se você precisar atualizar, consulte Instalar a CLI do Azure. Se estiver executando a CLI localmente, também será necessário executar az login para entrar no Azure com uma conta que tenha as permissões necessárias.

Para habilitar o registro de recursos, você precisa da ID de um NSG existente. Se você não tiver um NSG existente, você pode criar um por meio de az network nsg create.

Obtenha e armazene o NSG para o qual você deseja habilitar o log de recursos com az network nsg show. Por exemplo, para recuperar um NSG denominado myNsg que existe em um grupo de recursos denominado myResourceGroup, digite o seguinte comando:

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

Você pode gravar registros de recursos em log para três tipos de destino. Para mais informações, consulte Destinos de registro . Neste artigo, os logs são enviados para o destino Log Analytics, como exemplo. Para mais informações, consulte Categorias de log .

Habilitar o registro de recursos para o NSG com az monitor diagnostic-settings create. O exemplo a seguir registra em log dados de categoria de contador e de eventos para um workspace chamado myWorkspace, que existe em um grupo de recursos denominado myWorkspaces. Ele usa a ID do NSG que você salvou usando o comando anterior.

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

Se você não tiver um workspace existente, poderá criar um usando o portal do Azure ou o Azure PowerShell. Há duas categorias de registro log para as que você pode habilitar logs.

Se você quiser registrar dados para uma categoria ou outra, remova a categoria que você não quiser registrar dados para o comando anterior. Se você quiser fazer registro em log em outro destinoque não um workspace do Log Analytics, use os parâmetros apropriados. Para obter mais informações, confira Logs de recursos do Azure.

Exibir e analisar os logs. Para obter mais informações, consulte Visualizar e analisar logs.

Destinos do log

Você pode enviar dados de diagnóstico para as seguintes opções:

Categorias de log

Dados formatados em JSON são gravados para as seguintes categorias de log: evento e contador de regra.

Evento

O log de eventos contém informações sobre quais regras NSG são aplicadas às máquinas virtuais, com base em um endereço MAC. Os dados a seguir são registrados para cada evento. No exemplo a seguir, os dados são registrados para uma máquina virtual com o endereço IP 192.168.1.4 e um endereço MAC de 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]"
            }
        }
}

Contador de regras

O log do contador de regras contém informações sobre cada regra aplicada aos recursos. Os dados de exemplo a seguir são registrados sempre que uma regra é aplicada. No exemplo a seguir, os dados são registrados para uma máquina virtual com o endereço IP 192.168.1.4 e um endereço MAC de 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
        }
}

Observação

O endereço IP de origem para a comunicação não é registrado. Você pode habilitar o registro em log de fluxo NSG para um NSG que registra todas as informações do contador de regra, bem como o endereço IP de origem que iniciou a comunicação. Os dados do log de fluxo do NSG são gravados em uma conta do Armazenamento do Azure. Você pode analisar os dados com o análise de tráfego capacidade do Network Watcher - Observador de rede do Azure.

Exibir e analisar os logs

Se você enviar dados de diagnóstico para:

  • Registros do Azure Monitor: você pode usar a solução análise de NSG para insights avançados. A solução fornece visualizações para regras NSG que permitem ou negam o tráfego por endereço de MAC, a interface de rede em uma máquina virtual.

  • Conta do Armazenamento do Azure: os dados são gravados em um arquivo PT1H.json. Você pode encontrar o:

    • Log de eventos que está no seguinte caminho: insights-logs-networksecuritygroupevent/resourceId=/SUBSCRIPTIONS/[ID]/RESOURCEGROUPS/[NOME-DO-GRUPO-DE-RECURSOS-PARA-NSG]/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/[NOME DO NSG]/y=[ANO]/m=[MÊS/d=[DIA]/h=[HORA]/m=[MINUTO]
    • Log de contador de regras que está no seguinte caminho: insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/[ID/RESOURCEGROUPS/[NOME-DO-GRUPO-DE-RECURSOS-PARA-NSG]/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/[NOME DO NSG]/y=[ANO]/m=[MÊS]/d=[DIA]/h=[HORA]/m=[MINUTO]

Para saber como exibir dados de registro de recursos, consulte Visão geral de registros da plataforma Azure.

  • Para obter mais informações sobre o Registro de atividades em log, confira Visão geral dos logs da plataforma do Azure.

    O log de atividades é habilitado por padrão para os NSGs criados por meio do modelo de implantação do Azure. Para determinar quais operações foram concluídas em NSGs no log de atividades, procure entradas contendo os seguintes tipos de recursos:

    • Microsoft.ClassicNetwork/networkSecurityGroups
    • Microsoft.ClassicNetwork/networkSecurityGroups/securityRules
    • Microsoft.Network/networkSecurityGroups
    • Microsoft.Network/networkSecurityGroups/securityRules
  • Para aprender como registrar informações de diagnóstico em log, consulte Como registrar o tráfego de rede em log bidirecionalmente em uma máquina usando o portal do Azure.