Registro de recursos de un grupo de seguridad de red

Los grupos de seguridad de red (NSG) incluyen reglas que permiten o deniegan el tráfico a una subred de red virtual, a una interfaz de red, o a ambas.

Al habilitar el registro para un grupo de seguridad de red, puede recopilar los siguientes tipos de información del registro de recursos:

  • Evento: se registran las entradas en las que se aplican reglas de NSG a máquinas virtuales en función de la dirección MAC.
  • Contador de regla: contiene entradas para el número de veces que se aplica cada regla NSG para denegar o permitir el tráfico. El estado de estas reglas se recopila cada 300 segundos.

Los registros de diagnóstico solo están disponibles para los grupos de seguridad de red implementados con el modelo de implementación de Azure Resource Manager. No se puede habilitar el registro de diagnóstico para los grupos de seguridad de red implementados con el modelo de implementación clásica. Para entender mejor los dos modelos, consulte Descripción de los modelos de implementación de Azure.

El registro de recursos se habilita por separado para cada grupo de seguridad de red para el que desee recopilar datos. Si lo que le interesan son los registros de actividades (operaciones), consulte el registro de actividades de Azure. Si le interesa el flujo de tráfico IP a través de los grupos de seguridad de red, consulte los registros de flujo de NSG de Azure Network Watcher.

Habilitación del registro

Para habilitar el registro de recursos, puede usar Azure Portal, PowerShell o la CLI de Azure.

Azure Portal

  1. Inicie sesión en el portal.

  2. Seleccione Todos los servicios y escriba grupos de seguridad de red. Cuando aparezca Grupos de seguridad de red en los resultados de la búsqueda, selecciónelo.

  3. Seleccione el NSG para el que desea habilitar el registro.

  4. En SUPERVISIÓN, seleccione Registros de diagnósticosy, después, seleccione Turn on diagnostics (Activar diagnóstico), como se muestra en la siguiente imagen:

    Turn on diagnostics

  5. En Configuración de diagnóstico, especifique o seleccione los siguientes datos y, después, seleccione Guardar:

    Configuración Valor
    Nombre El nombre que prefiera. Por ejemplo: myNsgDiagnostics
    Archivar en una cuenta de almacenamiento, Transmitir en secuencias a un centro de eventos y Enviar a Log Analytics Puede seleccionar tantos destinos como quiera. Para más información acerca de cada uno de ellos, consulte Destinos de registro.
    REGISTRO Seleccione una de las categorías de registro, o incluso ambas. Para más información acerca de los datos que se registran en cada categoría, consulte Categorías de registro.
  6. Vea y analice los registros. Para más información, consulte Visualización y análisis de los registros.

PowerShell

Nota:

En este artículo se usa el módulo Az de PowerShell, que es el módulo de PowerShell que se recomienda para interactuar con Azure. Para empezar a trabajar con el módulo Az de PowerShell, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Puede ejecutar los comandos siguientes en Azure Cloud Shell, o mediante la ejecución de PowerShell en el equipo. Azure Cloud Shell es un shell interactivo gratuito. Tiene las herramientas comunes de Azure preinstaladas y configuradas para usarlas en la cuenta. Si ejecuta PowerShell desde el equipo, necesita el módulo Azure PowerShell versión 1.0.0 o posterior. Ejecute Get-Module -ListAvailable Az en el equipo para encontrar la versión instalada. Si necesita actualizarla, consulte Instalación del módulo de Azure PowerShell. Si ejecuta PowerShell localmente, también debe ejecutar Connect-AzAccount para iniciar sesión en Azure con una cuenta que tenga los permisos necesarios.

Para habilitar el registro de recursos, se necesita el identificador de un grupo de seguridad de red existente. Si no tiene ninguno, puede crearlo con New-AzNetworkSecurityGroup.

Recupere el grupo de seguridad de red para el que desea habilitar el registro de recursos con Get-AzNetworkSecurityGroup. Por ejemplo, para recuperar un grupo de seguridad de red denominado myNsg que existe en un grupo de recursos denominado myResourceGroup, escriba el siguiente comando:

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

Puede escribir registros de recursos para tres tipos de destino. Para más información, consulte Destinos del registro. En este artículo, los registros se envían al destino Log Analytics, pero no es más que un ejemplo. Recupere un área de trabajo de Log Analytics existente con Get-AzOperationalInsightsWorkspace. Por ejemplo, para recuperar un área de trabajo denominado myWorkspace en un grupo de recursos denominado myWorkspaces, escriba el siguiente comando:

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

Si no tiene un área de trabajo, puede crearla con New-AzOperationalInsightsWorkspace.

Existen dos categorías de registro para las que se pueden habilitar registros. Para más información, consulte Categorías de registro. Habilite el registro de recursos para el grupo de seguridad de red con Set-AzDiagnosticSetting. En el ejemplo siguiente se registran en el área de trabajo de un grupo de seguridad de red los datos de la categoría tanto del evento como del contador, para lo que se usan los identificadores del grupo de seguridad de red como del área de trabajo que recuperó antes:

Set-AzDiagnosticSetting `
  -ResourceId $Nsg.Id `
  -WorkspaceId $Oms.ResourceId `
  -Enabled $true

Si solo desea registrar los datos en una de las dos categorías, en lugar de en ambas, agregue la opción -Categories al comando anterior, seguida de NetworkSecurityGroupEvent o NetworkSecurityGroupRuleCounter. Si desea realizar el registro en un destino que no sea un área de trabajo de Log Analytics, utilice los parámetros adecuados para una cuenta de almacenamiento o un centro de eventos de Azure.

Vea y analice los registros. Para más información, consulte Visualización y análisis de los registros.

Azure CLI

Puede ejecutar los comandos siguientes en Azure Cloud Shell, o mediante la ejecución de la CLI de Azure en el equipo. Azure Cloud Shell es un shell interactivo gratuito. Tiene las herramientas comunes de Azure preinstaladas y configuradas para usarlas en la cuenta. Si ejecuta la CLI desde el equipo, necesita la versión 2.0.38 o posterior. Ejecute az --version en el equipo para encontrar la versión instalada. Si debe actualizarla, consulte Instalación de la CLI de Azure. Si ejecuta la CLI localmente, también debe ejecutar az login para iniciar sesión en Azure con una cuenta que tenga los permisos necesarios.

Para habilitar el registro de recursos, se necesita el identificador de un grupo de seguridad de red existente. Si no tiene ninguno, puede crear uno con az network nsg create.

Recupere el grupo de seguridad de red para el que desea habilitar el registro de recursos con az network nsg show. Por ejemplo, para recuperar un grupo de seguridad de red denominado myNsg que existe en un grupo de recursos denominado myResourceGroup, escriba el siguiente comando:

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

Puede escribir registros de recursos para tres tipos de destino. Para más información, consulte Destinos del registro. En este artículo, los registros se envían al destino Log Analytics, pero no es más que un ejemplo. Para más información, consulte Categorías de registro.

Habilite el registro de recursos para el grupo de seguridad de red con az monitor diagnostic-settings create. En el ejemplo siguiente se registran los datos de categoría de eventos y de contadores en un área de trabajo denominada myWorkspace, que se encuentra en un grupo de recursos denominado myWorkspaces, y el identificador del grupo de seguridad de red que recuperó anteriormente:

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

Si no tiene ningún área de trabajo existente, puede crear una mediante Azure Portal o PowerShell. Existen dos categorías de registro para las que se pueden habilitar registros.

Si solo desea registrar los datos de una categoría o la otra, quite la categoría para la que no desea registrar los datos en el comando anterior. Si desea realizar el registro en un destino que no sea un área de trabajo de Log Analytics, utilice los parámetros adecuados para una cuenta de almacenamiento o un centro de eventos de Azure.

Vea y analice los registros. Para más información, consulte Visualización y análisis de los registros.

Destinos de registro

Los datos de diagnóstico se pueden:

Categorías de registro

Se escriben datos con formato JSON para las siguientes categorías de registro:

Evento

El registro de eventos contiene información acerca de las reglas de NSG que se aplican a las máquinas virtuales en función de su dirección MAC. Los siguientes datos se registran para cada evento. En el ejemplo siguiente, los datos se registran para una máquina virtual con la dirección IP 192.168.1.4 y una dirección 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 reglas

El contador de reglas contiene información acerca de todas las reglas que se aplican a los recursos. Los datos de ejemplo siguientes se registran cada vez que se aplica una regla. En el ejemplo siguiente, los datos se registran para una máquina virtual con la dirección IP 192.168.1.4 y una dirección 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:

La dirección IP de origen de la comunicación no se ha registrado. Sin embargo, puede habilitar el registro de flujo de NSG para un NSG, lo que registra toda la información del contador de reglas, así como la dirección IP de origen que inició la comunicación. Los datos del registro de flujos de NSG se escriben en una cuenta de Azure Storage. Puede analizar los datos con la funcionalidad de análisis del tráfico Azure Network Watcher.

Visualización y análisis de los registros

Para aprender a ver los datos del registro de recursos, consulte Introducción a los registros de plataforma Azure. Si envía datos de diagnóstico a:

  • Registros de Azure Monitor: puede usar la solución de análisis de grupos de seguridad de red para obtener una información más detallada. La solución ofrece visualizaciones para de las reglas de NSG que permiten o deniegan el tráfico, por dirección MAC, de la interfaz de red de una máquina virtual.
  • Cuenta de Azure Storage: los datos se escriben en el archivo PT1H.json. Puede encontrar el:
    • Registro de eventos en la siguiente ruta de acceso: 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]
    • Registro del contador de reglas en la siguiente ruta de acceso: 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]

Pasos siguientes

  • Más información sobre el registro de actividad. El registro de actividades está habilitado de forma predeterminada para los grupo de seguridad de red creados a través de cualquier modelo de implementación de Azure. Para determinar qué operaciones se completaron en los NSG del registro de actividad, busque las entradas que contengan los siguientes tipos de recursos:
    • Microsoft.ClassicNetwork/networkSecurityGroups
    • Microsoft.ClassicNetwork/networkSecurityGroups/securityRules
    • Microsoft.Network/networkSecurityGroups
    • Microsoft.Network/networkSecurityGroups/securityRules
  • Para aprender a registrar información de diagnóstico e incluir la dirección IP de origen para cada flujo, consulte Registro de flujos de NSG.