Exercice - Créer des requêtes de journal Azure Monitor de base pour extraire des informations de données de journal

Effectué

L’équipe des opérations ne dispose pas de suffisamment d’informations sur le comportement de ses systèmes pour diagnostiquer et résoudre efficacement les problèmes. Pour résoudre ce problème, l’équipe a configuré un espace de travail Azure Monitor avec les services Azure de la société. Elle exécute des requêtes Kusto pour obtenir l’état du système et tente d’identifier les causes des problèmes susceptibles de se produire.

L’équipe s’intéresse en particulier à la supervision des événements de sécurité pour rechercher d’éventuelles tentatives d’intrusion dans le système. Un attaquant pourrait tenter de manipuler les applications en cours d’exécution sur le système. Par conséquent, l’équipe souhaite également collecter des données d’application en vue d’une analyse plus approfondie. Un attaquant peut aussi tenter d’arrêter les ordinateurs qui constituent le système. L’équipe souhaite donc examiner comment et quand les machines sont arrêtées et redémarrées.

Dans cet exercice, vous allez vous entraîner à exécuter des requêtes de journal Azure sur un projet de démonstration qui contient des exemples de données dans des tables, des journaux et des requêtes.

Créer des requêtes de journal Azure Monitor de base pour extraire des informations de données de journal

Utilisons le volet des journaux du projet de démonstration Azure pour nous entraîner à écrire des requêtes. L’espace de travail du projet de démonstration est prérempli avec des échantillons de données. Azure propose une requête optimisée de type SQL avec des options de visualisation des données dans un langage appelé KQL (Kusto Query Language).

  1. Ouvrez l’environnement de démonstration des journaux. Dans le coin supérieur gauche, sous Nouvelle requête 1, se trouve Version de démonstration, qui identifie l’espace de travail ou l’étendue de la requête. Le côté gauche de ce volet contient plusieurs onglets : Tables, Requêtes et Fonctions. Le côté droit comporte un bloc-notes pour la création ou la modification de requêtes.

  2. Sous l’onglet Nouvelle requête 1, entrez une requête de base sur la première ligne du bloc-notes. Cette requête récupère les détails des 10 événements de sécurité les plus récents.

    SecurityEvent
        | take 10
    
  3. Dans la barre de commandes, sélectionnez Exécuter pour exécuter la requête et afficher les résultats. Vous pouvez développer chaque ligne du volet des résultats pour plus d’informations.

  4. Triez les données par heure en ajoutant un filtre à votre requête :

    SecurityEvent
        | top 10 by TimeGenerated
    
  5. Ajoutez une clause de filtre et un intervalle de temps. Exécutez cette requête pour récupérer les enregistrements datant de plus de 30 minutes qui ont un niveau supérieur ou égal à 10 :

    SecurityEvent
        | where TimeGenerated < ago(30m)
        | where toint(Level) >= 10
    
  6. Exécutez la requête suivante pour rechercher dans la table AppEvents les enregistrements de l’événement Clicked Schedule Button appelé lors des dernières 24 heures :

    AppEvents 
        | where TimeGenerated > ago(24h)
        | where Name == "Clicked Schedule Button"
    
  7. Exécutez la requête suivante pour afficher le nombre d’ordinateurs différents qui ont généré des événements de pulsation chaque semaine au cours des trois dernières semaines. Les résultats apparaissent sous forme de graphique à barres :

    Heartbeat
        | where TimeGenerated >= startofweek(ago(21d))
        | summarize dcount(Computer) by endofweek(TimeGenerated) | render barchart kind=default
    

Utiliser des requêtes de journal Azure prédéfinies pour extraire les informations des données de journal

En plus d’écrire des requêtes à partir de zéro, l’équipe des opérations peut également bénéficier de requêtes prédéfinies dans les journaux Azure, qui répondent aux questions courantes relatives à l’intégrité, à la disponibilité, à l’utilisation et aux performances de leurs ressources.

  1. Utilisez le paramètre Intervalle de temps dans la barre de commandes pour définir une plage personnalisée. Sélectionnez le mois, l’année et le jour dans une plage allant de janvier à aujourd’hui. Vous pouvez définir et appliquer une heure personnalisée à n’importe quelle requête.

  2. Dans la barre d’outils, sélectionnez Requêtes. Le volet Requêtes s’affiche. Dans la liste déroulante du menu de gauche, vous pouvez voir une liste des exemples de requêtes regroupées par Catégorie, Type de requête, Type de ressource, Solution ou Sujet.

  3. Dans la liste déroulante, sélectionnez Catégorie, puis Informatique et outils de gestion.

  4. Dans la zone de recherche, entrez Mises à jour distinctes manquantes sur les ordinateurs. Sélectionnez la requête dans le volet gauche, puis sélectionnez Exécuter. Le volet Journaux réapparaît avec la requête qui retourne la liste des mises à jour Windows manquantes pour les machines virtuelles chargées d’envoyer des journaux à l’espace de travail.

    Notes

    Vous pouvez également exécuter cette même requête à partir du volet Journaux. Dans le volet gauche, sélectionnez l’onglet Requêtes, puis Catégorie dans la liste déroulante Regrouper par. Faites ensuite défiler la liste vers le bas, développez Informatique et outils de gestion, puis double-cliquez sur Mises à jour distinctes manquantes sur les ordinateurs. Sélectionnez Exécuter pour exécuter la requête. Quand vous sélectionnez une requête prédéfinie dans le volet gauche, le code de requête est ajouté à toute requête présente dans le bloc-notes. N’oubliez pas d’effacer le bloc-notes avant d’ouvrir ou d’ajouter une nouvelle requête à exécuter.

  5. Dans le volet gauche, effacez la zone de recherche. Sélectionnez Requêtes, puis sélectionnez Regrouper par dans la liste déroulante Grouper par. Développez Azure Monitor et double-cliquez sur Disponibilité des ordinateurs aujourd’hui. Sélectionnez Exécuter. Cette requête crée un graphique de série chronologique avec le nombre d’adresses IP uniques qui envoient des journaux à l’espace de travail chaque heure du dernier jour.

  6. Sélectionnez Sujet dans la liste déroulante Grouper par. Faites défiler vers le bas pour développer Application de fonction, puis double-cliquez sur Afficher les journaux des applications de fonction. Sélectionnez Exécuter. Cette requête retourne une liste de journaux d’application, triés par heure avec les derniers journaux affichés en premier.

Vous remarquerez qu’à partir des requêtes Kusto que vous avez utilisées ici, il est facile de cibler une requête sur une fenêtre de temps, un niveau d’événement ou un type de journal des événements spécifiques. L’équipe de sécurité peut facilement examiner les pulsations pour identifier le moment où les serveurs ne sont pas disponibles, ce qui peut indiquer une attaque par déni de service. Si elle détecte le moment où un serveur n’était pas disponible, elle peut rechercher les événements du journal de sécurité survenus autour de ce moment-là pour déterminer si une attaque est à l’origine de l’interruption. En outre, des requêtes prédéfinies peuvent aussi évaluer la disponibilité des Machines Virtuelles, identifier les mises à jour Windows manquantes et passer en revue les journaux de pare-feu afin de voir les flux réseau refusés destinés aux Machines Virtuelles concernées.