Tutoriel : journaliser le trafic réseau à destination et en provenance d’une machine virtuelle à l’aide du portail Azure

Un groupe de sécurité réseau (NSG) permet de filtrer le trafic entrant vers une machine virtuelle ainsi que le trafic sortant qui en provient. Vous pouvez enregistrer le trafic réseau qui transite par un groupe de sécurité réseau à l’aide de la fonctionnalité des journaux de flux NSG de Network Watcher.

Dans ce tutoriel, vous allez apprendre à :

  • Créer une machine virtuelle avec un groupe de sécurité réseau
  • Activer Network Watcher et inscrire le fournisseur Microsoft.Insights
  • Activer un journal de flux de trafic pour un groupe de sécurité réseau à l’aide de la fonctionnalité des journaux de flux NSG de Network Watcher
  • Télécharger les données enregistrées
  • Afficher les données enregistrées

Prérequis

Création d'une machine virtuelle

  1. Connectez-vous au portail Azure.

  2. Dans la zone de recherche située en haut du portail, entrez Machine virtuelle. Sélectionnez Machines virtuelles.

  3. Dans Machines virtuelles, sélectionnez + Créer, puis + Machine virtuelle.

  4. Entrez ou sélectionnez les informations suivantes dans Créer une machine virtuelle.

    Paramètre Valeur
    Détails du projet
    Abonnement Sélectionnez votre abonnement.
    Resource group Sélectionnez Créer nouveau.
    Entrez myResourceGroup dans Nom.
    Sélectionnez OK.
    Détails de l’instance
    Nom de la machine virtuelle Entrez myVM.
    Région Sélectionnez (États-Unis) USA Est.
    Options de disponibilité Sélectionnez Aucune redondance d’infrastructure requise.
    Type de sécurité Conservez la valeur par défaut Standard.
    Image Sélectionnez Centre de données Windows Server 2022 : Édition Azure - Gen2.
    Instance Azure Spot Conservez la valeur par défaut.
    Taille Sélectionnez une taille.
    Compte administrateur
    Type d'authentification sélectionnez Clé publique SSH.
    Nom d’utilisateur Entrez un nom d’utilisateur.
    Mot de passe Entrez un mot de passe.
    Confirmer le mot de passe Confirmez le mot de passe.
    Règles des ports d’entrée
    Aucun port d’entrée public Conservez la valeur par défaut de Autoriser les ports sélectionnés.
    Sélectionner des ports d’entrée Conservez la valeur par défaut de RDP (3389) .
  5. Sélectionnez Revoir + créer.

  6. Sélectionnez Créer.

La création de la machine virtuelle prend quelques minutes. Ne passez pas aux étapes restantes tant que la création de la machine virtuelle n’est pas terminée. Pendant que le portail crée la machine virtuelle, il crée également un groupe de sécurité réseau nommé myVM-nsg et l’associe à l’interface réseau de la machine virtuelle.

Activer Network Watcher

Si vous avez déjà un observateur réseau activé dans la région USA Est, passez à l’étape Inscription du fournisseur Insights.

  1. Dans la zone de recherche située en haut du portail, entrez Network Watcher. Sélectionnez Network Watcher dans les résultats de recherche.

  2. Dans la page Vue d’ensemble de Network Watcher, sélectionnez + Ajouter.

    Screenshot of enable network watcher in portal.

  3. Sélectionnez votre abonnement dans Ajouter un observateur réseau. Sélectionnez (États-Unis) USA Est dans Région.

  4. Sélectionnez Ajouter.

Inscription du fournisseur Insights

L’enregistrement du flux NSG nécessite le fournisseur Microsoft.Insights. Pour inscrire le fournisseur, procédez comme suit :

  1. Dans la zone de recherche située en haut du portail, entrez Abonnements. Sélectionnez Abonnements dans les résultats de la recherche.

  2. Sélectionnez l’abonnement pour lequel vous souhaitez activer le fournisseur dans Abonnements.

  3. Sélectionnez Fournisseurs de ressources dans les Paramètres de votre abonnement.

  4. Entrez Microsoft.Insights dans la zone de filtre.

  5. Confirmez que l’état du fournisseur affiché est Inscrit. Si l’état est Non inscrit, sélectionnez le fournisseur, puis Inscrire.

Activer le journal de flux NSG

Les données du journal de flux NSG sont écrites dans un compte Stockage Azure. Procédez comme suit pour créer un compte de stockage pour les données de journal.

  1. Dans la zone de recherche située en haut du portail, entrez Compte de stockage. Sélectionnez Comptes de stockage dans les résultats de la recherche.

  2. Dans Comptes de stockage, sélectionnez + Créer.

  3. Entrez ou sélectionnez les informations suivantes dans Créer un compte de stockage.

    Paramètre Valeur
    Détails du projet
    Abonnement Sélectionnez votre abonnement.
    Resource group Sélectionnez myResourceGroup.
    Détails de l’instance
    Nom du compte de stockage Entrez un nom pour votre compte de stockage.
    Doit comporter entre 3 et 24 caractères, uniquement des chiffres et des lettres minuscules, et doit être unique dans tout le Stockage Azure.
    Région Sélectionnez (États-Unis) USA Est.
    Performances Conservez la valeur par défaut Standard.
    Redondance Conservez la valeur par défaut Stockage géo-redondant (GRS).
  4. Sélectionnez Revoir + créer.

  5. Sélectionnez Créer.

La création du compte de stockage peut prendre environ une minute. Ne passez pas aux étapes restantes tant que la création du compte de stockage n’est pas terminée. Dans tous les cas, le compte de stockage doit se trouver dans la même région que le groupe de sécurité réseau (NSG).

  1. Dans la zone de recherche située en haut du portail, entrez Network Watcher. Sélectionnez Network Watcher dans les résultats de recherche.

  2. Sélectionnez Journaux de flux NSG dans Journaux.

  3. Dans Network Watcher | Journaux de flux NSG, sélectionnez + Créer.

    Screenshot of create Network Security Group flow log.

  4. Entrez ou sélectionnez les informations suivantes dans Créer un journal de flux.

    Paramètre Valeur
    Détails du projet
    Abonnement Sélectionnez votre abonnement.
    Groupe de sécurité réseau Sélectionnez myVM-nsg.
    Nom du journal de flux Conservez la valeur par défaut myVM-nsg-myResourceGroup-flowlog.
    Détails de l’instance
    Sélectionner le compte de stockage
    Abonnement Sélectionnez votre abonnement.
    Comptes de stockage Sélectionnez le compte de stockage que vous avez créé dans les étapes précédentes.
    Rétention (en jours) Entrez une durée de conservation pour les journaux.
  5. Sélectionnez Revoir + créer.

  6. Sélectionnez Créer.

Télécharger le journal de flux

  1. Dans la zone de recherche située en haut du portail, entrez Compte de stockage. Sélectionnez Comptes de stockage dans les résultats de la recherche.

  2. Sélectionnez le compte de stockage que vous avez créé dans les étapes précédentes.

  3. Dans Stockage de données, sélectionnez Conteneurs.

  4. Sélectionnez le conteneur insights-logs-networksecuritygroupflowevent.

  5. Dans le conteneur, naviguez dans l’arborescence des dossiers jusqu’à ce que vous accédiez à un fichier PT1H.json. Les fichiers journaux sont écrits dans une arborescence des dossiers qui respecte la convention de nommage suivante :

    https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{nsgName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json

  6. Sélectionnez ... à droite du fichier PT1H.json, puis Télécharger.

    Screenshot of download Network Security Group flow log.

Afficher le journal de flux

L’exemple JSON suivant affiche des données que vous verrez dans le fichier PT1H.json pour chaque flux journalisé :

Événement du journal de flux version 1

{
    "time": "2018-05-01T15:00:02.1713710Z",
    "systemId": "<Id>",
    "category": "NetworkSecurityGroupFlowEvent",
    "resourceId": "/SUBSCRIPTIONS/<Id>/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/MYVM-NSG",
    "operationName": "NetworkSecurityGroupFlowEvents",
    "properties": {
        "Version": 1,
        "flows": [
            {
                "rule": "UserRule_default-allow-rdp",
                "flows": [
                    {
                        "mac": "000D3A170C69",
                        "flowTuples": [
                            "1525186745,192.168.1.4,10.0.0.4,55960,3389,T,I,A"
                        ]
                    }
                ]
            }
        ]
    }
}

Événement du journal de flux version 2

{
    "time": "2018-11-13T12:00:35.3899262Z",
    "systemId": "a0fca5ce-022c-47b1-9735-89943b42f2fa",
    "category": "NetworkSecurityGroupFlowEvent",
    "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/FABRIKAMRG/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/FABRIAKMVM1-NSG",
    "operationName": "NetworkSecurityGroupFlowEvents",
    "properties": {
        "Version": 2,
        "flows": [
            {
                "rule": "DefaultRule_DenyAllInBound",
                "flows": [
                    {
                        "mac": "000D3AF87856",
                        "flowTuples": [
                            "1542110402,94.102.49.190,10.5.16.4,28746,443,U,I,D,B,,,,",
                            "1542110424,176.119.4.10,10.5.16.4,56509,59336,T,I,D,B,,,,",
                            "1542110432,167.99.86.8,10.5.16.4,48495,8088,T,I,D,B,,,,"
                        ]
                    }
                ]
            },
            {
                "rule": "DefaultRule_AllowInternetOutBound",
                "flows": [
                    {
                        "mac": "000D3AF87856",
                        "flowTuples": [
                            "1542110377,10.5.16.4,13.67.143.118,59831,443,T,O,A,B,,,,",
                            "1542110379,10.5.16.4,13.67.143.117,59932,443,T,O,A,E,1,66,1,66",
                            "1542110379,10.5.16.4,13.67.143.115,44931,443,T,O,A,C,30,16978,24,14008",
                            "1542110406,10.5.16.4,40.71.12.225,59929,443,T,O,A,E,15,8489,12,7054"
                        ]
                    }
                ]
            }
        ]
    }
}

La valeur de la zone mac dans la sortie précédente est l’adresse MAC de l’interface réseau qui a été créée lors de la création de la machine virtuelle. Les informations séparées par des virgules dans flowTuples sont les suivantes :

Exemple de données Ce que représentent les données Explication
1542110377 Horodatage Indique la date et l’heure du flux au format UNIX EPOCH. Dans l’exemple précédent, la date est convertie au 1 mai 2018 à 14:59:05 (GMT).
10.0.0.4 Adresse IP source Adresse IP source dont provient le flux. 10.0.0.4 est l’adresse IP privée de la machine virtuelle que vous avez créée à l’étape Créer une machine virtuelle.
13.67.143.118 Adresse IP de destination Adresse IP de destination du flux.
44931 Port source Port source dont provient le flux.
443 Port de destination Port de destination du flux. Comme le trafic était destiné au port 443, la règle nommée UserRule_default-allow-rdp dans le fichier journal a traité le flux.
T Protocol Indique si le protocole du flux était TCP (T) ou UDP (U).
O Sens Indique si le trafic était entrant (I) ou sortant (O).
Un Action Indique si le trafic était autorisé (A) ou refusé (D).
C État du flux Version 2 uniquement Capture l’état du flux. Les états possibles sont B : début, lors de la création d’un flux. Aucune statistique n’est fournie. C : continuation d’un flux en cours. Des statistiques sont fournies toutes les 5 minutes. E : fin, lorsqu’un flux est arrêté. Des statistiques sont fournies.
30 Paquets envoyés - Source vers destination Version 2 uniquement Nombre total de paquets TCP ou UDP envoyés de la source à la destination depuis la dernière mise à jour.
16978 Octets envoyés - Source vers destination Version 2 uniquement Nombre total d’octets de paquets TCP ou UDP envoyés de la source vers la destination depuis la dernière mise à jour. Les octets de paquets incluent l’en-tête et la charge utile du paquet.
24 Paquets envoyés - Destination vers source Version 2 uniquement Nombre total de paquets TCP ou UDP envoyés de la destination vers la source depuis la dernière mise à jour.
14008 Octets envoyés - Destination vers source Version 2 uniquement Le nombre total d’octets de paquets TCP et UDP envoyés de la destination à la source depuis la dernière mise à jour. Les octets de paquets incluent l’en-tête et la charge utile du paquet.

Étapes suivantes

Dans ce didacticiel, vous avez appris à :

  • Activer la journalisation des flux d’un groupe de sécurité réseau
  • Téléchargez et affichez les données journalisées dans un fichier.

Les données brutes du fichier JSON peuvent être difficiles à interpréter. Pour visualiser les données des journaux de flux, vous pouvez utiliser Azure Traffic Analytics, puis Microsoft Power BI.

Pour connaître d’autres méthodes d’activation des journaux de flux NSG, consultez PowerShell, Azure CLI, l’API REST et les Modèles Resource Manager.

Passez à l’article suivant pour découvrir comment superviser la communication réseau entre deux machines virtuelles :