Auditer les requêtes et les activités Microsoft Sentinel
Cet article explique comment vous pouvez afficher les données d’audit pour les requêtes exécutées et les activités effectuées dans votre espace de travail Microsoft Sentinel, par exemple, en lien avec les exigences de conformité internes et externes dans votre espace de travail Opérations de sécurité (SOC).
Microsoft Sentinel permet d’accéder aux ressources suivantes :
La table AzureActivity qui fournit des détails sur toutes les actions entreprises dans Microsoft Sentinel, telles que la modification des règles d’alerte. La table AzureActivity ne journalise pas de données de requête spécifiques. Pour plus d’informations, consultez Audit avec les journaux d’activité Azure.
La table LAQueryLogs qui fournit des détails sur les requêtes exécutées dans log Analytics, dont celles exécutées à partir de Microsoft Sentinel. Pour plus d’informations, consultez Audit avec LAQueryLogs.
Conseil
Outre les requêtes manuelles décrites dans cet article, nous vous recommandons d’utiliser le classeur intégré Audit de l’espace de travail pour vous aider à auditer les activités dans votre environnement SOC. Pour plus d’informations, consultez Visualiser et surveiller vos données à l’aide de classeurs dans Microsoft Sentinel.
Prérequis
Avant de pouvoir exécuter les exemples de requêtes de cet article, vous devez disposer de données pertinentes dans votre espace de travail Microsoft Sentinel pour interroger et accéder à Microsoft Sentinel.
Pour plus d’informations, consultez Configurer du contenu Microsoft Sentinel et Rôles et autorisations dans Microsoft Sentinel.
Audit avec les journaux d’activité Azure
Les journaux d’audit de Microsoft Sentinel sont conservés dans les Journaux d’activité Azure, où la table AzureActivity comprend toutes les actions entreprises dans votre espace de travail Microsoft Sentinel.
Utilisez la table AzureActivity pour auditer l’activité dans votre environnement SOC avec Microsoft Sentinel.
Pour interroger la table AzureActivity :
Installez la solution Solution d’activité Azure pour Sentinel et connectez le connecteur de données Activité Azure pour démarrer la diffusion en continu d’événements d’audit dans une nouvelle table appelée
AzureActivity
.Interrogez les données à l’aide du langage de requête Kusto (KQL), comme vous le feriez pour toute autre table :
- Dans la portail Azure, interrogez cette table dans la page Journaux.
- Dans la plateforme d’opérations de sécurité unifiées de Microsoft, interrogez cette table sur la page Investigation et réponse > Repérage >Repérage avancé.
La table AzureActivity inclut des données de nombreux services, dont Microsoft Sentinel. Pour filtrer uniquement les données de Microsoft Sentinel, démarrez votre requête avec le code suivant :
AzureActivity | where OperationNameValue startswith "MICROSOFT.SECURITYINSIGHTS"
Par exemple, pour déterminer qui a été le dernier utilisateur à modifier une règle d’analyse particulière, utilisez la requête suivante (en remplaçant
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
par l’ID de la règle que vous souhaitez vérifier) :AzureActivity | where OperationNameValue startswith "MICROSOFT.SECURITYINSIGHTS/ALERTRULES/WRITE" | where Properties contains "alertRules/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" | project Caller , TimeGenerated , Properties
Ajoutez des paramètres à votre requête pour explorer la table AzureActivities plus avant, en fonction de ce que vous devez signaler. Les sections suivantes fournissent d’autres exemples de requêtes à utiliser lors de l’audit avec les données de la table AzureActivity.
Pour plus d’informations, consultez Données Microsoft Sentinel incluses dans les journaux d’activité Azure.
Rechercher toutes les actions entreprises par un utilisateur spécifique au cours des dernières 24 heures
La requête de table AzureActivity suivante répertorie toutes les actions entreprises par un utilisateur Microsoft Entra spécifique au cours des dernières 24 heures.
AzureActivity
| where OperationNameValue contains "SecurityInsights"
| where Caller == "[AzureAD username]"
| where TimeGenerated > ago(1d)
Rechercher toutes les opérations de suppression
La requête de table AzureActivity suivante répertorie toutes les opérations de suppression effectuées dans votre espace de travail Microsoft Sentinel.
AzureActivity
| where OperationNameValue contains "SecurityInsights"
| where OperationName contains "Delete"
| where ActivityStatusValue contains "Succeeded"
| project TimeGenerated, Caller, OperationName
Données Microsoft Sentinel incluses dans les journaux d’activité Azure
Les journaux d’audit de Microsoft Sentinel sont conservés dans les Journaux d’activité Azure et incluent les types d’informations suivants :
Opération | Types d’informations |
---|---|
Créé | Règles d'alerte Commentaires de cas Commentaires sur l’incident Recherches enregistrées Watchlists Workbooks |
Supprimé | Règles d'alerte Signets Connecteurs de données Incidents Recherches enregistrées Paramètres Rapports de renseignement sur les menaces Watchlists Workbooks Workflow |
Updated | Règles d'alerte Signets Cas Connecteurs de données Incidents Commentaires sur l’incident Rapports de renseignement sur les menaces Workbooks Workflow |
Vous pouvez également utiliser les journaux d’activité Azure pour rechercher des autorisations et des licences utilisateur. Par exemple, le tableau suivant répertorie les opérations sélectionnées trouvées dans les journaux d’activité Azure avec la ressource spécifique dont les données de journal sont extraites.
Nom d’opération | Type de ressource |
---|---|
Créer ou mettre à jour un classeur | Microsoft.Insights/workbooks |
Supprimer un classeur | Microsoft.Insights/workbooks |
Définir un flux de travail | Microsoft.Logic/workflows |
Supprimer un flux de travail | Microsoft.Logic/workflows |
Créer une recherche enregistrée | Microsoft.OperationalInsights/workspaces/savedSearches |
Supprimer une recherche enregistrée | Microsoft.OperationalInsights/workspaces/savedSearches |
Mettre à jour des règles d’alerte | Microsoft.SecurityInsights/alertRules |
Supprimer des règles d’alerte | Microsoft.SecurityInsights/alertRules |
Mettre à jour des actions de réponse aux règles d’alerte | Microsoft.SecurityInsights/alertRules/actions |
Supprimer des actions de réponse aux règles d’alerte | Microsoft.SecurityInsights/alertRules/actions |
Mettre à jour des signets | Microsoft.SecurityInsights/bookmarks |
Supprimer des signets | Microsoft.SecurityInsights/bookmarks |
Mettre à jour des cas | Microsoft.SecurityInsights/Cases |
Mettre à jour une investigation de cas | Microsoft.SecurityInsights/Cases/investigations |
Créer des commentaires de cas | Microsoft.SecurityInsights/Cases/comments |
Mettre à jour des connecteurs de données | Microsoft.SecurityInsights/dataConnectors |
Supprimer des connecteurs de données | Microsoft.SecurityInsights/dataConnectors |
Mettre à jour les paramètres | Microsoft.SecurityInsights/settings |
Pour plus d’informations, consultez Schéma d’événement du journal d’activité Azure.
Audit avec LAQueryLogs
La table LAQueryLogs fournit des détails sur les requêtes de journal exécutées dans Log Analytics. Étant donné que Log Analytics est utilisé comme magasin de données sous-jacent de Microsoft Sentinel, vous pouvez configurer votre système pour collecter des données LAQueryLogs dans votre espace de travail Microsoft Sentinel.
Les données LAQueryLogs incluent des informations telles que les suivantes :
- Quand des requêtes ont été exécutées.
- Qui a exécuté des requêtes dans Log Analytics.
- Quel outil a été utilisé pour exécuter des requêtes dans Log Analytics, tel Microsoft Sentinel
- Textes de requête proprement dits.
- Données de performances à chaque exécution de requête.
Notes
La table LAQueryLogs inclut uniquement les requêtes exécutées dans le panneau Journaux de Microsoft Sentinel. Elle n’inclut pas les requêtes exécutées par des règles d’analytique planifiée, en utilisant le Graphe d’investigation, dans la page Repérage de Microsoft Sentinel ou dans la page Repérage avancé du portail Defender.
Un bref délai peut s’écouler entre le moment où une requête est exécutée et celui où les données apparaissent dans la table LAQueryLogs. Nous vous recommandons d’attendre environ 5 minutes avant d’interroger la table LAQueryLogs afin d’obtenir des données d’audit.
Pour interroger la table LAQueryLogs :
La table LAQueryLogs n’est pas activée par défaut dans votre espace de travail Log Analytics. Pour utiliser les données de la table LAQueryLogs lors de l’audit dans Microsoft Sentinel, commencez par activer la table LAQueryLogs dans la zone Paramètres de diagnostic de votre espace de travail Log Analytics.
Pour plus d’informations, consultez Requêtes d’audit dans les journaux d’Azure Monitor.
Ensuite, interrogez les données en utilisant KQL, comme vous le feriez avec n’importe quelle autre table.
Par exemple, la requête suivante indique le nombre de requêtes qui ont été exécutées au cours de la semaine dernière, sur une base quotidienne :
LAQueryLogs | where TimeGenerated > ago(7d) | summarize events_count=count() by bin(TimeGenerated, 1d)
Les sections suivantes présentent d’autres exemples de requêtes à exécuter sur la table LAQueryLogs lors de l’audit d’activités dans votre environnement SOC à l’aide de Microsoft Sentinel.
Nombre de requêtes exécutées où la réponse n’a pas été « OK »
La requête suivante sur la table LAQueryLogs affiche le nombre de requêtes exécutées, où autre chose qu’une réponse HTTP 200 OK a été reçue. Par exemple, ce nombre inclut les requêtes dont l’exécution a échoué.
LAQueryLogs
| where ResponseCode != 200
| count
Afficher les utilisateurs pour les requêtes faisant un usage intensif du processeur
La requête suivante sur la table LAQueryLogs répertorie les utilisateurs qui ont exécuté les requêtes faisant l’usage le plus intensif du processeur, en fonction de l’UC utilisée et de la durée de la requête.
LAQueryLogs
|summarize arg_max(StatsCPUTimeMs, *) by AADClientId
| extend User = AADEmail, QueryRunTime = StatsCPUTimeMs
| project User, QueryRunTime, QueryText
| order by QueryRunTime desc
Afficher les utilisateurs qui ont exécuté le plus de requêtes au cours la semaine dernière
La requête suivante sur la table LAQueryLogs répertorie les utilisateurs qui ont exécuté le plus de requêtes au cours de la semaine dernière.
LAQueryLogs
| where TimeGenerated > ago(7d)
| summarize events_count=count() by AADEmail
| extend UserPrincipalName = AADEmail, Queries = events_count
| join kind= leftouter (
SigninLogs)
on UserPrincipalName
| project UserDisplayName, UserPrincipalName, Queries
| summarize arg_max(Queries, *) by UserPrincipalName
| sort by Queries desc
Configuration des alertes pour les activités de Microsoft Sentinel
Vous pouvez utiliser des ressources d’audit Microsoft Sentinel pour créer des alertes proactives.
Par exemple, si vous avez des tables sensibles dans votre espace de travail Microsoft Sentinel, utilisez la requête suivante afin d’être averti chaque fois que ces tables sont interrogées :
LAQueryLogs
| where QueryText contains "[Name of sensitive table]"
| where TimeGenerated > ago(1d)
| extend User = AADEmail, Query = QueryText
| project User, Query
Superviser Microsoft Sentinel avec des workbooks, des règles et des playbooks
Utilisez les propres fonctionnalités de Microsoft Sentinel pour superviser les événements et les actions qui se produisent dans Microsoft Sentinel.
Supervisez avec des workbooks. Plusieurs classeurs Microsoft Sentinel intégrés peuvent vous aider à surveiller l’activité de l’espace de travail, y compris des informations sur les utilisateurs travaillant dans votre espace de travail, les règles d’analyse utilisées, les tactiques MITRE les plus couvertes, les ingestions bloquées ou arrêtées, et les performances de l’équipe SOC.
Pour plus d’informations, consultez Visualiser et surveiller vos données en utilisant des classeurs dans Microsoft Sentinel et Classeurs Microsoft Sentinel couramment utilisés.
Surveillez le délai d’ingestion. Si vous avez des inquiétudes concernant le délai d’ingestion, définissez une variable dans une règle analytique pour représenter le délai.
Par exemple, la règle analytique suivante peut aider à garantir que les résultats n’incluent pas de doublons et que les journaux ne sont pas oubliés lors de l’exécution des règles :
let ingestion_delay= 2min;let rule_look_back = 5min;CommonSecurityLog| where TimeGenerated >= ago(ingestion_delay + rule_look_back)| where ingestion_time() > (rule_look_back) - Calculating ingestion delay CommonSecurityLog| extend delay = ingestion_time() - TimeGenerated| summarize percentiles(delay,95,99) by DeviceVendor, DeviceProduct
Pour plus d’informations, consultez Automatiser la gestion des incidents dans Microsoft Sentinel à l’aide de règles d’automatisation.
Supervisez l’intégrité du connecteur de données à l’aide du playbook Connector Health Push Notification Solution pour surveiller l’ingestion bloquée ou arrêtée et envoyer des notifications quand un connecteur a arrêté la collecte de données ou que des machines ont cessé de générer des rapports.
Étape suivante
Dans Microsoft Sentinel, utilisez le classeur d’audit de l’espace de travail pour auditer les activités dans votre environnement SOC. Pour plus d’informations, consultez Visualiser et superviser vos données.