Partilhar via


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

Um NSG (grupo de segurança de rede) inclui regras que permitem ou negam tráfego para uma sub-rede de rede virtual, interface de rede ou ambas.

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

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

Os logs de recursos estão disponíveis apenas para NSGs implantados por meio do modelo de implantação do Azure Resource Manager. Não é possível habilitar o log de recursos para NSGs implantados por meio do modelo de implantação clássico. Para obter mais informações, consulte Compreender modelos de implantação.

O log de recursos é habilitado separadamente para cada NSG para o qual coletar dados de diagnóstico. Se você estiver interessado em logs de atividade ou operacionais, consulte Visão geral dos logs da plataforma Azure. Se você estiver interessado no tráfego IP fluindo através de NSGs, consulte Logs de fluxo para grupos de segurança de rede.

Ativar registo

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

Portal do Azure

  1. Inicie sessão no portal do Azure.

  2. Na caixa de pesquisa na parte superior do portal do Azure, insira 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.

  4. Em Monitorização, selecione Definições de diagnóstico e, em seguida, selecione Adicionar definição de diagnóstico.

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

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

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

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

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

    Para obter mais informações, consulte Destinos de log.

  8. Selecione Guardar.

  9. Visualize e analise logs. Para obter mais informações, consulte Exibir e analisar logs.

Azure PowerShell

Nota

Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja 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 a partir do seu computador. Cloud Shell é um shell interativo gratuito. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.

Se você executar o PowerShell a partir do seu computador, precisará do módulo do Azure PowerShell, versão 1.0.0 ou posterior. Execute Get-Module -ListAvailable Az para localizar a versão instalada. Se precisar de atualizar, veja Install Azure PowerShell module (Instalar o módulo do Azure PowerShell). Se você executar 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 log 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 nomeado myNsg que existe em um grupo de recursos chamado myResourceGroup, digite o seguinte comando:

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

Você pode gravar logs de recursos em diferentes tipos de destino. Para obter mais informações, consulte Destinos de log. Neste artigo, os logs são enviados para um destino de espaço de trabalho do Log Analytics. Se você não tiver um espaço de trabalho existente, crie um usando o cmdlet New-AzOperationalInsightsWorkspace .

Recupere um espaço de trabalho existente do Log Analytics com o cmdlet Get-AzOperationalInsightsWorkspace . Por exemplo, para obter e armazenar um espaço de trabalho existente nomeado myWorkspace em um grupo de recursos chamado myWorkspaces, digite o seguinte comando:

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

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

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

Se você quiser fazer logon em um destino diferente de um espaço de trabalho do Log Analytics, use um parâmetro apropriado no comando. Para obter mais informações, consulte Logs de recursos do Azure.

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

Visualize e analise logs. Para obter mais informações, consulte Exibir e analisar logs.

CLI do Azure

Você pode executar os comandos nesta seção no Cloud Shell ou executando a CLI do Azure a partir do seu computador. Cloud Shell é um shell interativo gratuito. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.

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

Para habilitar o log de recursos, você precisa da ID de um NSG existente. Se você não tiver um NSG existente, crie um usando 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 nomeado myNsg que existe em um grupo de recursos chamado myResourceGroup, digite o seguinte comando:

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

Você pode gravar logs de recursos em diferentes tipos de destino. Para obter mais informações, consulte Destinos de log. Neste artigo, os logs são enviados para um destino de espaço de trabalho do Log Analytics, por exemplo. Para obter mais informações, consulte Categorias de log.

Habilite o log de recursos para o NSG com az monitor diagnostic-settings create. O exemplo a seguir registra dados de categoria de evento e contador em um espaço de trabalho existente chamado myWorkspace, que existe em um grupo de recursos chamado 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 espaço de trabalho existente, crie um usando o portal do Azure ou o Azure PowerShell. Há duas categorias de log para as quais você pode habilitar logs.

Se você quiser registrar dados apenas para uma categoria ou outra, remova a categoria para a qual você não deseja registrar dados no comando anterior. Se você quiser fazer logon em um destino diferente de um espaço de trabalho do Log Analytics, use um parâmetro apropriado. Para obter mais informações, consulte Logs de recursos do Azure.

Visualize e analise logs. Para obter mais informações, consulte Exibir e analisar logs.

Destinos de registo

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

Categorias de registo

Os dados formatados em JSON são gravados para as seguintes categorias de log: contador de eventos e regras.

Evento

O log de eventos contém informações sobre quais regras NSG são aplicadas a 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
        }
}

Nota

O endereço IP de origem da comunicação não é registado. Você pode habilitar o log de fluxo NSG para um NSG, que registra todas as informações do contador de regras e o endereço IP de origem que iniciou a comunicação. Os dados de registo de fluxo do NSG são escritos numa conta de Armazenamento do Microsoft Azure. Você pode analisar os dados com o recurso de análise de tráfego do Azure Network Watcher.

Ver e analisar registos

Se você enviar dados de diagnóstico para:

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

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

    • Log de eventos no seguinte caminho: insights-logs-networksecuritygroupevent/resourceId=/SUBSCRIPTIONS/[ID]/RESOURCEGROUPS/[RESOURCE-GROUP-NAME-FOR-NSG]/PROVIDERS/MICROSOFT. NETWORK/NETWORKSECURITYGROUPS/[NOME NSG]/y=[ANO]/m=[MÊS/d=[DIA]/h=[HORA]/m=[MINUTO]
    • Log do contador de regras no seguinte caminho: insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/[ID]/RESOURCEGROUPS/[RESOURCE-GROUP-NAME-FOR-NSG]/PROVIDERS/MICROSOFT. NETWORK/NETWORKSECURITYGROUPS/[NOME NSG]/y=[ANO]/m=[MÊS/d=[DIA]/h=[HORA]/m=[MINUTO]

Para saber como exibir dados de log de recursos, consulte Visão geral dos logs da plataforma Azure.

  • Para obter mais informações sobre o registro de atividades, consulte Visão geral dos logs da plataforma Azure.

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

    • Microsoft.ClassicNetwork/networkSecurityGroups
    • Microsoft.ClassicNetwork/networkSecurityGroups/securityRules
    • Microsoft.Network/networkSecurityGroups
    • Microsoft.Network/networkSecurityGroups/securityRules
  • Para saber como registrar informações de diagnóstico, consulte Registrar tráfego de rede de e para uma máquina virtual usando o portal do Azure.