Auditer les requêtes et les activités Microsoft Sentinel

Cet article explique comment 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 pour 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 éléments suivants :

  • La table AzureActivity, qui fournit des détails sur toutes les actions effectuées dans Microsoft Sentinel, telles que la modification des règles d’alerte. La table AzureActivity n’enregistre pas les données de requête spécifiques. Pour plus d’informations, consultez L’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, y compris les requêtes exécutées à partir de Microsoft Sentinel. Pour plus d’informations, consultez Audit avec LAQueryLogs.

Conseil

En plus des requêtes manuelles décrites dans cet article, nous vous recommandons d’utiliser le classeur d’audit de l’espace de travail intégré 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

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 inclut toutes les actions effectuées dans votre espace de travail Microsoft Sentinel.

Utilisez la table AzureActivity lors de l’audit de l’activité dans votre environnement SOC avec Microsoft Sentinel.

Pour interroger la table AzureActivity :

  1. Installez la solution Azure Activity pour Sentinel et connectez le connecteur de données Azure Activity pour commencer à diffuser en continu les événements d’audit vers une nouvelle table nommée AzureActivity.

  2. Interrogez les données à l’aide de Langage de requête Kusto (KQL), comme vous le feriez pour toute autre table :

    • Dans le Portail Azure, interrogez cette table dans la page Journaux.
    • Dans le portail Defender, interrogez cette table dans la page Investigation et réponse > Recherche >Recherche avancée.

    La table AzureActivity inclut des données provenant de nombreux services, y compris Microsoft Sentinel. Utilisez la requête suivante pour filtrer la table AzureActivity afin d’afficher uniquement les opérations Microsoft Sentinel :

     AzureActivity
    | where OperationNameValue startswith "MICROSOFT.SECURITYINSIGHTS"
    

    Par exemple, pour savoir quel utilisateur a été le dernier à 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 d’autres paramètres à votre requête pour explorer davantage la table AzureActivities , 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 table AzureActivity .

Pour plus d’informations, consultez les données Microsoft Sentinel incluses dans les journaux d’activité Azure.

Rechercher toutes les actions effectuées par un utilisateur spécifique au cours des dernières 24 heures

La requête de table AzureActivity suivante répertorie toutes les actions effectuées 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

Pour identifier les ressources Microsoft Sentinel qui ont été supprimées, lancez la requête suivante afin de filtrer les journaux d’activité Azure afin d’identifier les opérations de suppression réussies dans votre espace de travail.

AzureActivity
| where OperationNameValue contains "SecurityInsights"
| where OperationName contains "Delete"
| where ActivityStatusValue contains "Succeeded"
| project TimeGenerated, Caller, OperationName

Les données de 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
Created Règles d’alerte
Commentaires sur l’incident
Commentaires sur l’incident
Recherches enregistrées
Listes de suivi
Classeurs
Deleted Règles d’alerte
Favoris
Connecteurs de données
Incidents
Recherches enregistrées
Paramètres
Rapports de renseignement sur les menaces
Listes de suivi
Classeurs
Flux de travail
Updated Règles d’alerte
Favoris
Dossiers
Connecteurs de données
Incidents
Commentaires sur l’incident
Rapports de renseignement sur les menaces
Classeurs
Flux de travail

Vous pouvez également utiliser les journaux d’activité d’Azure pour vérifier les autorisations et les licences des utilisateurs. Par exemple, le tableau suivant répertorie les opérations sélectionnées trouvées dans Azure journaux d’activité avec la ressource spécifique à partir de laquelle les données de journal sont extraites.

Nom de l’opération Type de ressource
Créer ou mettre à jour un classeur Microsoft.Insights/workbooks
Supprimer le classeur Microsoft.Insights/workbooks
Définir le flux de travail Microsoft.Logic/workflows
Supprimer le flux de travail Microsoft.Logic/workflows
Créer une recherche enregistrée Microsoft.OperationalInsights/workspaces/savedSearches
Supprimer la recherche enregistrée Microsoft.OperationalInsights/workspaces/savedSearches
Mettre à jour les règles d’alerte Microsoft.SecurityInsights/alertRules
Supprimer des règles d’alerte Microsoft.SecurityInsights/alertRules
Mettre à jour les actions de réponse de la règle d’alerte Microsoft.SecurityInsights/alertRules/actions
Supprimer les actions en réponse de la règle d’alerte Microsoft.SecurityInsights/alertRules/actions
Mettre à jour les signets Microsoft.SecurityInsights/bookmarks
Supprimer des signets Microsoft.SecurityInsights/bookmarks
Cas de mise à jour Microsoft.SecurityInsights/Cases
Mise à jour de l’investigation de cas Microsoft.SecurityInsights/Cases/investigations
Créer des commentaires de cas Microsoft.SecurityInsights/Cases/comments
Mettre à jour les connecteurs de données Microsoft.SecurityInsights/dataConnectors
Supprimer des connecteurs de données Microsoft.SecurityInsights/dataConnectors
Paramètres de mise à jour Microsoft.SecurityInsights/settings

Pour plus d’informations, consultez Azure Schéma d’événements du journal d’activité.

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 :

  • 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, par exemple Microsoft Sentinel
  • Les textes de requête eux-mêmes
  • Données de performances sur chaque exécution de requête

Remarque

  • La table LAQueryLogs contient uniquement les requêtes qui ont été exécutées dans le volet Journaux de Microsoft Sentinel. Cela n’inclut pas les requêtes exécutées par des règles d’analyse planifiées, à l’aide de Investigation Graph, sur la page Chasse de Microsoft Sentinel ou sur la page Recherche avancée du portail Defender.

  • Il peut y avoir un court délai entre le moment où une requête est exécutée et le moment où les données sont remplies dans la table LAQueryLogs . Nous vous recommandons d’attendre environ 5 minutes pour interroger la table LAQueryLogs pour obtenir des données d’audit.

Pour interroger la table LAQueryLogs :

  1. La table LAQueryLogs n’est pas activée par défaut dans votre espace de travail Log Analytics. Pour utiliser les données LAQueryLogs lors de l’audit dans Microsoft Sentinel, activez d’abord 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.

  2. Ensuite, interrogez les données à l’aide de KQL, comme vous le feriez pour toute autre table.

    Par exemple, la requête suivante indique le nombre de requêtes exécutées au cours de la dernière semaine, 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 des activités dans votre environnement SOC à l’aide de Microsoft Sentinel.

Nombre de requêtes exécutées pour lesquelles la réponse n’était pas « OK »

Utilisez la requête suivante pour compter les requêtes Log Analytics qui ont rendu un code de réponse non réussie. Ce compte inclut les requêtes qui n’ont pas réussi à s’exécuter ou qui ont renvoyé autre chose qu’une réponse HTTP 200 OK .

LAQueryLogs
| where ResponseCode != 200 
| count 

Afficher les utilisateurs pour les requêtes gourmandes en ressources processeur

Pour trouver les utilisateurs ou clients effectuant les requêtes les plus gourmandes en ressources, utilisez la requête suivante pour faire apparaître la requête la plus élevée en temps CPU selon l’ID client Microsoft Entra, triée par temps CPU.

LAQueryLogs
|summarize arg_max(StatsCPUTimeMs, *) by AADClientId
| extend User = AADEmail, QueryRunTime = StatsCPUTimeMs
| project User, QueryRunTime, QueryText
| sort by QueryRunTime desc

Afficher les utilisateurs qui ont exécuté le plus de requêtes au cours de la semaine précédente

Utilisez la requête suivante pour résumer le nombre de requêtes que chaque utilisateur a effectuées au cours des sept derniers jours, ce qui aide à identifier les utilisateurs les plus actifs dans votre espace de travail pour l’audit ou l’analyse d’utilisation.

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

Configurer des alertes pour les activités de Microsoft Sentinel

Vous pouvez utiliser Microsoft Sentinel ressources d’audit pour créer des alertes proactives.

Par exemple, si vous avez des tables sensibles dans votre espace de travail Microsoft Sentinel, vous pouvez détecter quand ces tables sont consultées. La requête suivante audite l’accès à une table sensible spécifique en listant les requêtes qui l’ont référencée au cours des dernières 24 heures. Remplacez [Name of sensitive table] par le nom de la table que vous souhaitez surveiller :

LAQueryLogs
| where QueryText contains "[Name of sensitive table]"
| where TimeGenerated > ago(1d)
| extend User = AADEmail, Query = QueryText
| project User, Query

Surveiller Microsoft Sentinel avec des classeurs, des règles et des playbooks

Utilisez les propres fonctionnalités de Microsoft Sentinel pour surveiller 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, notamment des informations sur les utilisateurs qui travaillent 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 à l’aide de classeurs dans Microsoft Sentinel et Classeurs Microsoft Sentinel couramment utilisés

  • Surveillez le délai d’ingestion. Si vous avez des préoccupations concernant le délai d’ingestion, définissez une variable dans une règle d’analyse 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 avec des 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.

Voir la documentation Kusto pour les opérateurs et fonctions utilisés dans les exemples KQL dans cet article :

Pour plus d’informations sur KQL, consultez vue d’ensemble de Langage de requête Kusto (KQL).

Autres ressources :

Étapes suivantes

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 surveiller vos données.