Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour garantir une détection des menaces complète, ininterrompue et à l’abri de toute altération dans votre service Microsoft Sentinel, suivez l’état de santé et l’intégrité de vos règles analytiques. Veillez à ce qu’ils fonctionnent de manière optimale en surveillant leurs données d’exécution des règles d’analyse, en consultant les journaux d’état et d’audit, et en utilisant une réexécution manuelle pour tester et optimiser les règles d’analyse.
Configurez des notifications d’événements d’intégrité et d’audit pour les parties prenantes concernées, qui peuvent ensuite prendre des mesures. Par exemple, définissez et envoyez des e-mails ou des messages Microsoft Teams, créez des tickets dans votre système de tickets, etc.
Cet article décrit comment utiliser la fonctionnalité d’audit et de surveillance de l’état dans Microsoft Sentinel pour suivre l’état et l’intégrité de vos règles d’analyse directement dans Microsoft Sentinel.
Pour plus d’informations concernant les informations sur les règles et la réexécution manuelle des règles, consultez Surveiller et optimiser l’exécution de vos règles d’analyse planifiées.
Résumé
Microsoft Sentinel fournit deux types de journaux d’activité pour la surveillance des règles d’analyse : les journaux d’intégrité et les journaux d’audit. Les sections suivantes résument ce que chaque journal capture et où les données sont stockées.
Journaux de l’intégrité des règles d’analytique Microsoft Sentinel :
- Ce journal capture les événements qui enregistrent l’exécution des règles d’analyse et le résultat final de ces exécutions, si elles ont réussi ou échoué, et si elles ont échoué, pourquoi.
- Le journal enregistre également, pour chaque exécution d’une règle d’analyse :
- Nombre d’événements capturés par la requête de la règle.
- Indique si le nombre d’événements a dépassé le seuil défini dans la règle, ce qui provoque le déclenchement d’une alerte par la règle.
Ces journaux sont collectés dans la table SentinelHealth de Log Analytics.
Journaux d’audit des règles Microsoft Sentinel Analytics :
- Ce journal capture les événements qui enregistrent les modifications apportées à une règle d’analyse, y compris les détails suivants :
- Nom de la règle qui a été modifiée.
- Quelles propriétés de la règle ont été modifiées.
- État des paramètres de règle avant et après la modification.
- L’utilisateur ou l’identité qui a apporté la modification.
- Adresse IP source et date/heure de la modification.
- ... et bien plus encore.
Ces journaux sont collectés dans la table SentinelAudit de Log Analytics.
- Ce journal capture les événements qui enregistrent les modifications apportées à une règle d’analyse, y compris les détails suivants :
Utiliser les tables de données SentinelHealth et SentinelAudit
Pour obtenir des données d’audit et d’intégrité à partir des tables SentinelHealth et SentinelAudit, vous devez d’abord activer la fonctionnalité d’intégrité Microsoft Sentinel pour votre espace de travail. Pour plus d’informations, consultez Activer l’audit et la surveillance de l’état pour Microsoft Sentinel.
Une fois la fonction santé activée, la table de données SentinelHealth est créée au premier événement de réussite ou d’échec généré pour vos règles d’analyse.
Comprendre les événements des tables SentinelHealth et SentinelAudit
La SentinelHealth table consigne les types d’événements de santé des règles d’analyse suivants :
- Exécution de règle d’analyse planifiée.
- Règle d’analyse en quasi-temps réel (NRT).
Pour plus d’informations, consultez Schéma des colonnes de table SentinelHealth.
La table SentinelAudit enregistre les types suivants d’événements d’audit de règle d’analyse :
- Créer ou mettre à jour une règle d’analyse.
- Règle d’analyse supprimée.
Pour plus d’informations, consultez Schéma des colonnes de table SentinelAudit.
Exécuter des requêtes pour détecter les problèmes d’état et d’intégrité
Pour obtenir de meilleurs résultats, générez vos requêtes sur les fonctions prédéfinies pour ces tables, _SentinelHealth() et _SentinelAudit() au lieu d’interroger directement les tables. Ces fonctions maintiennent la compatibilité descendante de vos requêtes si des modifications sont apportées au schéma des tables.
Dans un premier temps, filtrez les tables pour les données liées aux règles d’analyse. Utilisez le SentinelResourceType paramètre .
_SentinelHealth()
| where SentinelResourceType == "Analytics Rule"
Si vous le souhaitez, vous pouvez filtrer davantage la liste pour un type particulier de règle d’analyse. Utilisez le SentinelResourceKind paramètre pour cela.
| where SentinelResourceKind == "Scheduled"
# OR
| where SentinelResourceKind == "NRT"
Voici quelques exemples de requêtes pour vous aider à démarrer :
Recherchez les règles qui sont « règles d’analytique planifiées désactivées automatiquement » :
_SentinelHealth() | where SentinelResourceType == "Analytics Rule" | where Reason == "The analytics rule is disabled and was not executed."Comptez les règles et les exécutions qui ont réussi ou échoué, par raison :
_SentinelHealth() | where SentinelResourceType == "Analytics Rule" | summarize Occurrence=count(), Unique_rule=dcount(SentinelResourceId) by Status, ReasonRecherchez l’activité de suppression de règle dans la table SentinelAudit . Cette requête retourne des enregistrements d’audit dans lesquels une règle d’analyse a été supprimée. Vous pouvez donc suivre qui a supprimé une règle et quand :
_SentinelAudit() | where SentinelResourceType =="Analytic Rule" | where Description =="Analytics rule deleted"Recherchez l’activité sur les règles, par nom de règle et nom d’activité :
_SentinelAudit() | where SentinelResourceType =="Analytic Rule" | summarize Count= count() by RuleName=SentinelResourceName, Activity=DescriptionRechercher l’activité liée aux règles, en fonction du nom de l’appelant (l’identité à l’origine de l’activité) :
_SentinelAudit() | where SentinelResourceType =="Analytic Rule" | extend Caller= tostring(ExtendedProperties.CallerName) | summarize Count = count() by Caller, Activity=Description
Pour plus d’informations sur les opérateurs et fonctions Kusto utilisés dans les exemples de requêtes, consultez la documentation Kusto :
- opérateur où
- opérateur summarize
- tostring() fonction
- fonction d’agrégation count()
- Fonction d’agrégation dcount()
Pour plus d’informations sur KQL, consultez vue d’ensemble de Langage de requête Kusto (KQL).
Autres ressources :
- Informations de référence rapides sur KQL
- ressources d’apprentissage du langage Kusto Query Language
Interroger les problèmes d’état de santé et d’intégrité des règles planifiées
Lorsqu’une règle de planification échoue, elle est retentée cinq fois de plus dans la même fenêtre. La règle ne saute pas la fenêtre et ne manque pas d’alerte tant qu’une des six tentatives réussit.
L’échec de l’une des six tentatives indique un retard dans le déclenchement de l’alerte. La requête suivante calcule le délai exact :
_SentinelHealth()
| where SentinelResourceType == @"Analytics Rule"
| where SentinelResourceKind == "Scheduled"
| extend startTime = todatetime(ExtendedProperties["QueryStartTimeUTC"]), executionStart = todatetime(ExtendedProperties["executionStart"])
| extend delay = datetime_diff('minute', startTime, executionStart)
Pour rechercher les échecs complets (autrement dit, une fenêtre qui a été ignorée), utilisez la requête suivante :
_SentinelHealth()| where SentinelResourceType == @"Analytics Rule"
| where SentinelResourceKind == "Scheduled"
| where Status != "Success"
| extend startTime = tostring(ExtendedProperties["QueryStartTimeUTC"])
| summarize failuresByStartTime = count() by startTime, SentinelResourceId
| where failuresByStartTime == 6
| summarize count() by SentinelResourceId
Cette requête recherche les exécutions de règles d’analyse planifiées où aucune des six tentatives n’a réussi. Vous pouvez identifier une nouvelle tentative en examinant l’heure de début de la fenêtre de la règle, car les nouvelles tentatives examinent toujours l’heure de début d’origine. Cette requête vous donne la quantité de fenêtres ignorées pour chaque règle analytique. Nous pensons que les fenêtres ignorées seront rares. Si vous constatez que certaines de vos règles d’analyse comportent des fenêtres ignorées, utilisez les requêtes pour comprendre les raisons de l’échec de ces règles spécifiques ainsi que le tableau des causes d’échec et des mesures d’atténuation pour y remédier.
Interroger les problèmes d’état et d’intégrité des règles NRT
Le mécanisme de nouvelle tentative pour les règles NRT se comporte différemment des règles planifiées. Si une règle ne parvient pas à s’exécuter, le système considère également la fenêtre ayant échoué lors de l’exécution suivante (une minute plus tard). Ce comportement se poursuit jusqu’à 60 échecs (une heure).
Étant donné qu’une défaillance d’une exécution spécifique ne reflète qu’un délai d’une minute, n’examinez pas les défaillances uniques. Utilisez plutôt la requête suivante pour surveiller le délai de chaque règle analytique :
_SentinelHealth()
| where SentinelResourceKind == "NRT"
| extend startTime = todatetime(ExtendedProperties["QueryStartTimeUTC"]), endTime = todatetime(ExtendedProperties["QueryEndTimeUTC"]), alertsCreated = toint(ExtendedProperties["AlertsGeneratedAmount"])
| where alertsCreated == 0
| extend ruleDelay = datetime_diff('minute', endTime, startTime)
| project TimeGenerated, ruleDelay, SentinelResourceId
| render timechart
Vous pouvez également définir une règle d’analyse pour déclencher des alertes sur des retards importants (par exemple, si une règle NRT a un délai de plus de 10 minutes).
États, erreurs et étapes suggérées
Pour l’exécution d’une règle d’analyse planifiée ou l’exécution d’une règle d’analyse NRT, les états et descriptions suivants peuvent s’afficher :
Réussite : la règle a été exécutée avec succès, générant des
<n>alertes.Réussite : la règle s’est exécutée avec succès, mais n’a pas atteint le seuil (
<n>) requis pour générer une alerte.Échec : ces descriptions expliquent l’échec des règles et ce que vous pouvez faire à leur sujet.
Description Assainissement Une erreur de serveur interne s’est produite lors de l’exécution de la requête. Le délai d’exécution de la requête a expiré. Une table référencée dans la requête est introuvable. Vérifiez que la source de données appropriée est connectée. Une erreur sémantique s’est produite lors de l’exécution de la requête. Essayez de réinitialiser la règle d’analyse en la modifiant et en l’enregistrant (sans modifier les paramètres). Une fonction appelée par la requête est nommée avec un mot réservé. Supprimez ou renommez la fonction. Une erreur de syntaxe s’est produite lors de l’exécution de la requête. Essayez de réinitialiser la règle d’analyse en la modifiant et en l’enregistrant (sans modifier les paramètres). L’espace de travail n’existe pas. Cette requête utilise trop de ressources système et n’a pas pu s’exécuter. Passez en revue et réglez la règle d’analyse. Consultez notre documentation vue d’ensemble du langage de requête Kusto et meilleures pratiques du langage de requête Kusto. Une fonction appelée par la requête est introuvable. Vérifiez l’existence dans votre espace de travail de toutes les fonctions appelées par la requête. L’espace de travail utilisé dans la requête est introuvable. Vérifiez que tous les espaces de travail de la requête existent. Vous ne disposez pas des autorisations nécessaires pour exécuter cette requête. Essayez de réinitialiser la règle d’analyse en la modifiant et en l’enregistrant (sans modifier les paramètres). Vous ne disposez pas des autorisations d’accès à une ou plusieurs ressources dans la requête. La requête faisait référence à un chemin de stockage introuvable. L’accès à un chemin de stockage a été refusé à la requête. Plusieurs fonctions portant le même nom sont définies dans cet espace de travail. Supprimez ou renommez la fonction redondante et réinitialisez la règle en la modifiant et en l’enregistrant. Cette requête n’a retourné aucun résultat. Plusieurs jeux de résultats dans cette requête ne sont pas autorisés. Les résultats de la requête contiennent un nombre incohérent de champs par ligne. L’exécution de la règle a été retardée en raison de temps d’ingestion de données longs. L’exécution de la règle a été retardée en raison de problèmes temporaires. L’alerte n’a pas été enrichie en raison de problèmes temporaires. L’alerte n’a pas été enrichie en raison de problèmes de mappage d’entités. < nombre> entités ont été supprimées dans l’alerte <nom> en raison de la limite de taille des alertes (32 Ko). < nombre >d’entités ont été supprimées dans l’alerte <nom> en raison de problèmes de mappage d’entités. La requête a retourné <nombre> événements, ce qui dépasse la <limite> maximale de résultats autorisés pour les <règles type> de règle dans le cas d’une configuration de regroupement des événements d’alerte par ligne. Une alerte par ligne a été générée pour les <limit-1> premiers événements, et une alerte agrégée supplémentaire a été générée pour prendre en compte tous les événements.
- <number> = nombre d’événements retournés par la requête
- <limite> = actuellement 150 alertes pour les règles planifiées, 30 pour les règles NRT
- <de règle> = Planifiée ou NRT
Utiliser le classeur d’audit et de surveillance de l’état
Pour visualiser l’état des règles d’analyse et les données d’audit, installez et configurez le classeur État et audit des analyses depuis le hub de contenu de Microsoft Sentinel.
Pour rendre le classeur disponible dans votre espace de travail, installez la solution de classeur à partir du hub de contenu Microsoft Sentinel :
Dans le portail Microsoft Sentinel, sélectionnez Hub de contenu (préversion) dans le menu Gestion de contenu.
Dans le Centre de contenu, saisissez health dans la barre de recherche, puis sélectionnez Analytics Health & Audit parmi les solutions Classeur dans la catégorie Autonome des résultats.
Sélectionnez Installer dans le volet d’informations, puis sélectionnez Enregistrer qui apparaît à sa place.
Lorsque la solution indique qu’elle est installée, sélectionnez Classeurs dans le menu Gestion des menaces.
Dans la galerie Classeurs, sélectionnez l’onglet Modèles, entrez health dans la barre de recherche, puis sélectionnez Analytics Health & Audit dans les résultats.
Sélectionnez Enregistrer dans le volet d’informations pour créer une copie modifiable et utilisable du classeur. Une fois la copie créée, sélectionnez Afficher le classeur enregistré.
Une fois dans le classeur, sélectionnez d’abord l’abonnement et l’espace de travail que vous souhaitez afficher (ils sont peut-être déjà sélectionnés), puis définissez timeRange pour filtrer les données en fonction de vos besoins. Utilisez le bouton bascule Afficher l’aide pour afficher une explication à l’emplacement du classeur.
Ce classeur comporte trois sections à onglets :
Passer en revue les résumés d’intégrité et d’audit sous l’onglet Vue d’ensemble
L’onglet Vue d’ensemble affiche les résumés de l’intégrité et de l’audit :
- Résumés de l’état des exécutions des règles d’analyse dans l’espace de travail sélectionné : nombre d’exécutions, succès et échecs, ainsi que les détails des événements ayant entraîné un échec.
- Résumés d’audit des activités sur les règles d’analyse dans l’espace de travail sélectionné : nombre d’activités au fil du temps, nombre d’activités par type et nombre d’activités de différents types par règle.
Utilisez l’onglet État pour identifier les problèmes liés aux règles d’analytique
L’onglet Santé vous permet d’explorer des événements de santé spécifiques.
- Filtrez les données de page entières par status (réussite ou échec) et type de règle (planifié ou NRT).
- Consultez les tendances des exécutions de règles réussies et ayant échoué (en fonction du filtre status) sur la période sélectionnée. Vous pouvez « brosser le temps » le graphique de tendance pour voir un sous-ensemble de l’intervalle de temps d’origine.
- Filtrez le reste de la page par raison.
- Consultez le nombre total d’exécutions pour toutes les règles d’analyse, affichées proportionnellement par status dans un graphique à secteurs.
- Voici un tableau indiquant le nombre de règles d’analyse uniques exécutées, réparties par type de règle et status.
- Sélectionnez un statut pour afficher les graphiques restants correspondant à ce statut.
- Effacez le filtre en sélectionnant l’icône « Effacer la sélection » (elle ressemble à une icône « Annuler ») dans le coin supérieur droit du graphique.
- Consultez chaque status, avec le nombre de raisons possibles pour cette status. (Seules les raisons représentées dans les exécutions de la période sélectionnée sont affichées.)
- Sélectionnez un statut pour afficher les graphiques restants correspondant à ce statut.
- Effacez le filtre en sélectionnant l’icône « Effacer la sélection » (elle ressemble à une icône « Annuler ») dans le coin supérieur droit du graphique.
- Ensuite, consultez la liste de ces raisons, avec le nombre total d’exécutions de règle combinées et le nombre de règles uniques qui ont été exécutées.
- Sélectionnez une raison pour filtrer les graphiques suivants pour cette raison.
- Effacez le filtre en sélectionnant l’icône « Effacer la sélection » (elle ressemble à une icône « Annuler ») dans le coin supérieur droit du graphique.
- Ensuite, il s’agit d’une liste des règles d’analyse uniques qui ont été exécutées, avec les derniers résultats et les courbes de tendance de leurs réussites et de leurs échecs (selon le statut sélectionné pour filtrer la liste).
- Sélectionnez une règle pour explorer et afficher une nouvelle table avec toutes les exécutions de cette règle (dans la période sélectionnée).
- Effacez ce tableau en sélectionnant l’icône « Effacer la sélection » (elle ressemble à une icône « Annuler ») dans le coin supérieur droit du graphique.
- Si vous sélectionnez une règle dans la liste, un nouveau tableau s’affiche avec les détails sur l’état de santé de la règle sélectionnée.
Utiliser l’onglet Audit pour passer en revue les modifications des règles d’analyse
L’onglet Audit vous permet d’explorer des événements d’audit particuliers.
- Filtrez les données de la page entière par type de règle d’audit (planifiée ou Fusion, qui sont des règles basées sur la corrélation détectant les attaques à plusieurs étages).
- Consultez les tendances de l’activité auditée sur les règles d’analyse sur la période sélectionnée. Vous pouvez « brosser le temps » le graphique de tendance pour voir un sous-ensemble de l’intervalle de temps d’origine.
- Consultez le nombre d’événements audités, répartis par activité et type de règle.
- Sélectionnez une activité pour filtrer les graphiques suivants pour cette activité.
- Effacez le filtre en sélectionnant l’icône « Effacer la sélection » (elle ressemble à une icône « Annuler ») dans le coin supérieur droit du graphique.
- Consultez le nombre d’événements audités par nom de règle.
- Sélectionnez un nom de règle pour filtrer le tableau suivant pour cette règle, puis pour explorer et afficher une nouvelle table avec toute l’activité sur cette règle (dans la période sélectionnée). (Voir après la capture d’écran suivante.)
- Effacez le filtre en sélectionnant l’icône « Effacer la sélection » (elle ressemble à une icône « Annuler ») dans le coin supérieur droit du graphique.
- Consultez le nombre d’événements audités par l’appelant (l’identité qui a effectué l’activité).
- Si vous avez sélectionné un nom de règle dans le graphique précédent, un autre tableau s’affiche montrant les activités auditées sur cette règle. Sélectionnez la valeur qui s’affiche sous forme de lien dans la colonne ExtendedProperties pour ouvrir un panneau latéral affichant les modifications apportées à la règle.
Contenu connexe
- Surveillez et optimisez l’exécution des règles d’analyse dans Microsoft Sentinel.
- Découvrez l’audit et la surveillance de l’intégrité dans Microsoft Sentinel.
- Activez l’audit et la surveillance de l’état de santé dans Microsoft Sentinel.
- Surveillez l’état de vos règles d’automatisation et de vos playbooks.
- Surveillez l’intégrité de vos connecteurs de données.
- Consultez plus d’informations sur les schémas de table SentinelHealth et SentinelAudit .