Partager via


Journalisation des ressources pour un groupe de sécurité réseau

Un groupe de sécurité réseau (NSG) comprend les règles qui autorisent ou refusent le trafic vers un sous-réseau de réseau virtuel, une interface réseau, ou les deux à la fois.

Quand vous activez la journalisation pour un groupe de sécurité réseau, vous pouvez collecter les types suivants d’informations sur le journal de ressources :

  • Événement : Les entrées sont enregistrées pour lesquelles les règles NSG sont appliquées aux machines virtuelles, en fonction d'une adresse MAC.
  • Compteur de règle : contient des entrées correspondant au nombre de fois où chaque règle NSG est appliquée pour autoriser ou refuser le trafic. L’état de ces règles est collecté toutes les 300 secondes.

Les journaux de ressources sont disponibles uniquement pour les NSG déployés via le modèle de déploiement Azure Resource Manager. Vous ne pouvez pas activer la journalisation des ressources pour des groupes de sécurité réseau déployés via le modèle de déploiement classique. Pour plus d’informations, consultez Comprendre les modèles de déploiement.

La journalisation des ressources est activée séparément pour chaque groupe de sécurité réseau sur lequel des données de diagnostic sont collectées. Si vous êtes plutôt intéressé par les journaux d’activité ou opérationnels, consultez Vue d’ensemble des journaux de la plateforme Azure. Si vous êtes intéressé par le trafic IP passant via les groupes de sécurité réseau, consultez les Journaux de flux des groupes de sécurité réseau.

Activation de la journalisation

Vous pouvez utiliser le portail Azure, Azure PowerShell ou Azure CLI pour activer la journalisation des ressources.

Portail Azure

  1. Connectez-vous au portail Azure.

  2. Dans la zone de recherche située en haut du portail Azure, entrez des groupes de sécurité réseau. Dans les résultats de la recherche, sélectionnez Groupe de sécurité réseau.

  3. Sélectionnez le NSG pour lequel vous souhaitez activer la journalisation.

  4. Sous Surveillance, sélectionnez Paramètres de diagnostic, puis sélectionnez Ajouter un paramètre de diagnostic.

    Capture d'écran qui montre les paramètres de diagnostic d'un NSG avec Ajouter un paramètre de diagnostic en surbrillance.

  5. Dans Paramètre de diagnostic, entrez un nom, tel que myNsgDiagnostic.

  6. Pour Journaux, sélectionnez allLogs ou des catégories individuelles de journaux. Pour plus d’informations sur chaque catégorie, consultez Catégories de journaux.

  7. Sous Détails de la destination, sélectionnez une ou plusieurs destinations :

    • Envoyer à un espace de travail Log Analytics.
    • Archive vers un compte de stockage.
    • Transmettre à un Event Hub.
    • Envoyer à une solution de partenaire.

    Pour plus d’informations, consultez Destinations de journaux.

  8. Sélectionnez Enregistrer.

  9. Consultez et analysez les journaux d’activité. Pour plus d’informations, voir Afficher et analyser les journaux d’activité.

Azure PowerShell

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Vous pouvez exécuter les commandes disponibles dans cette section dans Azure Cloud Shell. Vous pouvez également exécuter PowerShell depuis votre ordinateur. Cloud Shell est un shell interactif gratuit. Il contient des outils Azure courants préinstallés et configurés pour être utilisés avec votre compte.

Si vous exécutez PowerShell sur votre ordinateur, vous devez utiliser le module Azure PowerShell version 1.0.0 ou ultérieure. Exécutez Get-Module -ListAvailable Az pour rechercher la version installée. Si vous devez effectuer une mise à niveau, consultez Installer le module Azure PowerShell. Si vous exécutez PowerShell localement, vous devez aussi exécuter la cmdlet Connect-AzAccount pour vous connecter à Azure avec un compte disposant des autorisations nécessaires.

Pour activer la journalisation des ressources, vous avez besoin de l’ID d’un groupe de sécurité réseau existant. Si vous n’avez pas de groupe de sécurité réseau, créez-en un à l’aide de la cmdlet New-AzNetworkSecurityGroup.

Obtenez le NSG pour lequel vous souhaitez activer la journalisation des ressources à l’aide de l’applet de commande Get-AzNetworkSecurityGroup. Stockez le groupe de sécurité réseau dans une variable pour une utilisation ultérieure. Par exemple, pour récupérer un NSG nommé myNsg qui existe dans un groupe de ressources nommé myResourceGroup, entrez la commande suivante :

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

Vous pouvez écrire des journaux de ressources sur différents types de destination. Pour plus d’informations, consultez Destinations de journaux. Dans cet article, les journaux sont envoyés vers une destination d’espace de travail Log Analytics. Si vous n’avez pas d’espace de travail existant, créez-en un à l’aide de l’applet de commande New-AzOperationalInsightsWorkspace.

Récupérez un espace de travail Log Analytics existant à l’aide la cmdlet Get-AzOperationalInsightsWorkspace. Par exemple, pour obtenir et stocker un espace de travail existant nommé myWorkspace dans un groupe de ressources nommé myWorkspaces, entrez la commande suivante :

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

Il existe deux catégories de journalisation que vous pouvez activer. Pour plus d’informations, consultez Catégories de journal. Activez la journalisation des ressources du groupe de sécurité réseau à l’aide de la cmdlet New-AzDiagnosticSetting. L’exemple suivant journalise des données de catégorie événements et compteur dans l’espace de travail d’un groupe de sécurité réseau. Il utilise les ID du groupe de sécurité réseau et de l’espace de travail que vous avez obtenus avec les commandes précédentes :

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

Si vous voulez journaliser les données dans une autre destination que celle d’un espace de travail Log Analytics, utilisez un paramètre approprié dans la commande. Pour plus d’informations, consultez la page Journaux de ressources dans Azure.

Pour plus d’informations sur les paramètres, consultez New-AzDiagnosticSetting.

Consultez et analysez les journaux d’activité. Pour plus d’informations, voir Afficher et analyser les journaux d’activité.

Azure CLI

Vous pouvez exécuter les commandes de cette section dans Cloud Shell ou en exécutant Azure CLI à partir de votre ordinateur. Cloud Shell est un shell interactif gratuit. Il contient des outils Azure courants préinstallés et configurés pour être utilisés avec votre compte.

Si vous exécutez l’interface CLI à partir de votre ordinateur, vous avez besoin de la version 2.0.38 ou ultérieure. Exécutez az --version sur votre ordinateur pour trouver la version installée. Si vous devez effectuer une mise à niveau, consultez Installer Azure CLI. Si vous exécutez l’interface CLI localement, vous devez aussi exécuter az login pour vous connecter à Azure avec un compte disposant des autorisations nécessaires.

Pour activer la journalisation des ressources, vous avez besoin de l’ID d’un groupe de sécurité réseau existant. Si vous n’avez pas de groupe de sécurité réseau, créez-en un à l’aide de az network nsg create.

Obtenez et stockez le NSG pour lequel vous souhaitez activer la journalisation des ressources avec az network nsg show. Par exemple, pour récupérer un NSG nommé myNsg qui existe dans un groupe de ressources nommé myResourceGroup, entrez la commande suivante :

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

Vous pouvez écrire des journaux de ressources sur différents types de destination. Pour plus d’informations, consultez Destinations de journaux. Dans cet article, des journaux sont envoyés vers une destination d’espace de travail Log Analytics, par exemple. Pour plus d’informations, consultez Catégories de journal.

Activez la journalisation des ressources pour le groupe de sécurité réseau avec az monitor diagnostic-settings create. L'exemple suivant enregistre les données de catégorie d'événement et de compteur dans un espace de travail existant nommé myWorkspace, qui existe dans un groupe de ressources nommé myWorkspaces. Il utilise l’ID du groupe de sécurité réseau que vous avez enregistré à l’aide de la commande précédente.

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 vous n’avez pas d’espace de travail existant, créez-en un à l’aide du Portail Microsoft Azure ou d’Azure PowerShell. Il existe deux catégories de journalisation pour lesquelles vous pouvez activer les journaux d’activité.

Si vous souhaitez journaliser les données d’une seule des deux catégories, supprimez l’autre catégorie de la commande précédente. Si vous voulez journaliser les données dans une autre destination que celle d’un espace de travail Log Analytics, utilisez un paramètre approprié. Pour plus d’informations, consultez la page Journaux de ressources dans Azure.

Consultez et analysez les journaux d’activité. Pour plus d’informations, voir Afficher et analyser les journaux d’activité.

Destinations des journaux

Vous pouvez envoyer des données de diagnostics aux options suivantes :

Catégories de journal

Les données au format JSON sont écrites pour les catégories de journaux suivantes : événements et compteur de règle.

Événement

Le journal des événements contient des informations sur les règles NSG appliquées aux machines virtuelles, en fonction d'une adresse MAC. Les données suivantes sont enregistrées pour chaque événement. Dans l'exemple suivant, les données sont enregistrées pour une machine virtuelle avec l'adresse IP 192.168.1.4 et une adresse 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]"
            }
        }
}

Compteur de règles

Le journal du compteur de règles contient des informations sur chacune des règles appliquées aux ressources. Les données de l’exemple suivant sont enregistrées chaque fois qu’une règle est appliquée. Dans l'exemple suivant, les données sont enregistrées pour une machine virtuelle avec l'adresse IP 192.168.1.4 et une adresse 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
        }
}

Remarque

L'adresse IP source de la communication n'est pas enregistrée. Vous pouvez activer la journalisation des flux NSG d’un groupe de sécurité réseau ; il journalise toutes les informations du compteur de règle et l’adresse IP source qui a initié la communication. Les données du journal de flux NSG sont écrites dans un compte Stockage Azure. Vous pouvez analyser les données avec la fonctionnalité d’analytique du trafic d’Azure Network Watcher.

Afficher et analyser les journaux d’activité

Si vous envoyez des données de diagnostic à :

  • Journaux Azure Monitor : vous pouvez utiliser la solution d’analyse NSG pour obtenir des informations améliorées. La solution offre des visualisations pour les règles NSG qui autorisent ou refusent le trafic, par adresse MAC, de l’interface réseau sur une machine virtuelle.

  • Compte de stockage Azure : les données sont écrites dans un fichier PT1H.json. Vous pouvez trouver le :

    • Journal des événements qui se trouve dans le chemin suivant : 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]
    • Journal du compteur de règles qui se trouve dans le chemin suivant : 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]

Pour savoir comment afficher les données des journaux de ressources, consultez Vue d’ensemble des journaux de la plateforme Azure.

  • Pour plus d’informations sur la journalisation des activités, consultez Présentation des journaux de la plateforme Azure.

    La journalisation des activités est activée par défaut pour les groupes de sécurité réseau créés au moyen d’un modèle de déploiement Azure. Pour déterminer les opérations qui ont été effectuées sur les groupes de sécurité réseau dans le journal d’activité, recherchez les entrées qui contiennent les types de ressources suivants :

    • Microsoft.ClassicNetwork/networkSecurityGroups
    • Microsoft.ClassicNetwork/networkSecurityGroups/securityRules
    • Microsoft.Network/networkSecurityGroups
    • Microsoft.Network/networkSecurityGroups/securityRules
  • Pour savoir comment enregistrer les informations de diagnostic, consultez Journaliser le trafic réseau vers et depuis une machine virtuelle à l'aide du Portail Microsoft Azure.