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

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

Quando ativa o registo de um NSG, pode recolher os seguintes tipos de informações de registo de recursos:

  • Evento: As entradas são registadas para as quais as regras do NSG são aplicadas a máquinas virtuais, com base no endereço MAC.
  • Contador de regras: Contém entradas para quantas vezes cada regra do NSG é aplicada para permitir ou negar o tráfego. O estado destas regras é recolhido a cada 300 segundos.

Os registos de recursos só estão disponíveis para NSGs implementados através do modelo de implementação Resource Manager do Azure. Não pode ativar o registo de recursos para NSGs implementados através do modelo de implementação clássica. Para obter mais informações, veja Compreender os modelos de implementação.

O registo de recursos é ativado separadamente para cada NSG para o qual recolher dados de diagnóstico. Se estiver interessado em registos de atividade ou operacionais, veja Descrição geral dos registos da plataforma do Azure. Se estiver interessado no tráfego IP que flui através de NSGs, veja Registos de fluxo para grupos de segurança de rede.

Ativar registo

Pode utilizar o portal do Azure, Azure PowerShell ou a CLI do Azure para ativar o registo 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, introduza grupos de segurança de rede. Selecione Grupos de segurança de rede nos resultados da pesquisa.

  3. Selecione o NSG para o qual ativar o registo.

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

    Captura de ecrã a mostrar as definições de diagnóstico de um NSG com a definição Adicionar diagnóstico realçada.

  5. Na definição Diagnóstico, introduza um nome, como myNsgDiagnostic.

  6. Para Registos, selecione allLogs ou selecione categorias individuais de registos. Para obter mais informações sobre cada categoria, veja Categorias de registo.

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

    • Enviar para a área de trabalho do Log Analytics
    • Arquivar numa conta de armazenamento
    • Transmitir em fluxo para um hub de eventos
    • Enviar para a solução de parceiro

    Para obter mais informações, veja Destinos de registo.

  8. Selecione Guardar.

  9. Ver e analisar registos. Para obter mais informações, veja Ver e analisar registos.

Azure PowerShell

Nota

Recomendamos que utilize o módulo do Azure Az PowerShell para interagir com o Azure. Veja Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Pode executar os comandos que nesta secção no Azure Cloud Shell ou ao executar o PowerShell a partir do computador. O Azure Cloud Shell é uma shell interativa gratuita. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.

Se executar o PowerShell a partir do computador, precisa do módulo 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 executar o PowerShell localmente, também terá de executar o cmdlet Connect-AzAccount para iniciar sessão no Azure com uma conta que tenha as permissões necessárias.

Para ativar o registo de recursos, precisa do ID de um NSG existente. Se não tiver um NSG existente, crie um com o cmdlet New-AzNetworkSecurityGroup .

Obtenha o grupo de segurança de rede para o qual pretende ativar o registo de recursos com o cmdlet Get-AzNetworkSecurityGroup . Armazene o NSG numa variável para utilização posterior. Por exemplo, para obter um NSG com o nome myNsg que existe num grupo de recursos com o nome myResourceGroup, introduza o seguinte comando:

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

Pode escrever registos de recursos em diferentes tipos de destino. Para obter mais informações, veja Destinos de registo. Neste artigo, os registos são enviados para um destino de área de trabalho do Log Analytics . Se não tiver uma área de trabalho existente, pode criar uma com o cmdlet New-AzOperationalInsightsWorkspace .

Obtenha uma área de trabalho do Log Analytics existente com o cmdlet Get-AzOperationalInsightsWorkspace . Por exemplo, para obter e armazenar uma área de trabalho existente com o nome myWorkspace num grupo de recursos com o nome myWorkspaces, introduza o seguinte comando:

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

Existem duas categorias de registo que pode ativar. Para obter mais informações, veja Categorias de registos. Ative o registo de recursos para o NSG com o cmdlet New-AzDiagnosticSetting . O exemplo seguinte regista dados de categorias de eventos e contadores na área de trabalho de um NSG. Utiliza os IDs do NSG e da área de trabalho que obteve com os comandos anteriores:

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

Se quiser iniciar sessão num destino diferente de uma área de trabalho do Log Analytics, utilize um parâmetro adequado no comando . Para obter mais informações, veja Registos de recursos do Azure.

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

Ver e analisar registos. Para obter mais informações, veja Ver e analisar registos.

CLI do Azure

Pode executar os comandos nesta secção no Cloud Shell do Azure ou ao executar a CLI do Azure a partir do computador. O Azure Cloud Shell é uma shell interativa gratuita. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.

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

Para ativar o registo de recursos, precisa do ID de um NSG existente. Se não tiver um NSG existente, crie um com az network nsg create.

Obtenha e armazene o grupo de segurança de rede para o qual pretende ativar o registo de recursos com az network nsg show. Por exemplo, para obter um NSG com o nome myNsg que existe num grupo de recursos com o nome myResourceGroup, introduza o seguinte comando:

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

Pode escrever registos de recursos em diferentes tipos de destino. Para obter mais informações, veja Destinos de registo. Neste artigo, os registos são enviados para um destino de área de trabalho do Log Analytics , como exemplo. Para obter mais informações, veja Categorias de registos.

Ative o registo de recursos para o NSG com az monitor diagnostic-settings create. O exemplo seguinte regista dados de categorias de eventos e contadores numa área de trabalho existente com o nome myWorkspace, que existe num grupo de recursos com o nome myWorkspaces. Utiliza o ID do NSG que guardou com 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 não tiver uma área de trabalho existente, crie uma com o portal do Azure ou Azure PowerShell. Existem duas categorias de registo para as quais pode ativar os registos.

Se apenas quiser registar dados para uma categoria ou outra, remova a categoria para a qual não pretende registar dados no comando anterior. Se quiser iniciar sessão num destino diferente de uma área de trabalho do Log Analytics, utilize um parâmetro adequado. Para obter mais informações, veja Registos de recursos do Azure.

Ver e analisar registos. Para obter mais informações, veja Ver e analisar registos.

Destinos de registo

Pode enviar dados de diagnóstico para as seguintes opções:

Categorias de registo

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

Evento

O registo de eventos contém informações sobre as regras do NSG que são aplicadas a máquinas virtuais, com base no endereço MAC. Os seguintes dados são registados para cada evento. No exemplo seguinte, os dados são registados 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 registo do contador de regras contém informações sobre cada regra aplicada aos recursos. Os dados de exemplo seguintes são registados sempre que uma regra é aplicada. No exemplo seguinte, os dados são registados 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 para a comunicação não está registado. Pode ativar o registo de fluxos do NSG para um NSG, que regista 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. Pode analisar os dados com a capacidade de análise de tráfego do Azure Observador de Rede.

Ver e analisar registos

Se enviar dados de diagnóstico para:

  • Registos do Azure Monitor: pode utilizar a solução de análise de grupos de segurança de rede para obter informações melhoradas . A solução fornece visualizações para regras NSG que permitem ou negam o tráfego, por endereço MAC, da interface de rede numa máquina virtual.

  • Conta de Armazenamento do Azure: os dados são escritos num ficheiro PT1H.json . Pode encontrar:

    • Registo de eventos que está no seguinte caminho: 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]
    • Registo do contador de regras que está no seguinte caminho: 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]

Para saber como ver os dados do registo de recursos, veja Descrição geral dos registos da plataforma do Azure.

Passos seguintes

  • Para obter mais informações sobre o Registo de atividades, veja Descrição geral dos registos da plataforma do Azure.

    O registo de atividades está ativado por predefinição para NSGs criados através de qualquer modelo de implementação do Azure. Para determinar que operações foram concluídas em NSGs no registo 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 registar informações de diagnóstico, veja Registar tráfego de rede de e para uma máquina virtual com o portal do Azure.