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 Audit avec Azure journaux d’activité.

  • 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.

Configuration requise

Audit avec Azure journaux d’activité

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 solution et connectez le connecteur de données d’activité Azure pour démarrer la diffusion en continu des événements d’audit dans une nouvelle table appelé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 & réponse > Chasse >avancée chasse .

    La table AzureActivity inclut des données provenant de nombreux services, y compris 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 savoir qui a été le dernier utilisateur à modifier une règle d’analyse particulière, utilisez la requête suivante (en xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx remplaçant par l’ID de règle de la règle que vous souhaitez case activée) :

    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 Microsoft Sentinel données incluses dans Azure journaux d’activité.

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

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

Microsoft Sentinel données 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
Watchlists
Classeurs
Deleted Règles d’alerte
Signets
Connecteurs de données
Incidents
Recherches enregistrées
Paramètres
Rapports de renseignement sur les menaces
Watchlists
Classeurs
Flux de travail
Updated Règles d’alerte
Signets
Cas
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é Azure pour case activée des autorisations et des licences utilisateur. 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 règle d’alerte Microsoft.SecurityInsights/alertRules/actions
Supprimer les actions de réponse de 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
Définir les 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 les 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 inclut uniquement les requêtes qui ont été exécutées dans le panneau Journaux d’Microsoft Sentinel. Il n’inclut pas les requêtes exécutées par des règles d’analyse planifiées, à l’aide du graphique d’investigation, dans la page Chasse Microsoft Sentinel ou dans la page Repérage avancé 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 Auditer les requêtes dans les journaux 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 »

La requête de table LAQueryLogs suivante indique le nombre de requêtes exécutées, où autre chose qu’une réponse HTTP de 200 OK a été reçue. Par exemple, ce nombre inclut les requêtes qui n’ont pas pu être exécutées.

LAQueryLogs
| where ResponseCode != 200 
| count 

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

La requête de table LAQueryLogs suivante répertorie les utilisateurs qui ont exécuté les requêtes les plus gourmandes en ressources processeur, en fonction du processeur utilisé 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
| sort by QueryRunTime desc

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

La requête de table LAQueryLogs suivante 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 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, utilisez la requête suivante pour vous avertir 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

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.

  • Surveiller avec des classeurs. 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 d’analyse suivante peut vous aider à garantir que les résultats n’incluent pas de doublons et que les journaux d’activité ne sont pas manqué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.

  • Surveillez l’intégrité du connecteur de données à l’aide du playbook De la solution de notification Push d’intégrité du connecteur pour surveiller l’ingestion bloquée ou arrêtée, et envoyer des notifications lorsqu’un connecteur a cessé de collecter des données ou que les machines ont cessé de créer des rapports.

Pour plus d’informations sur les éléments suivants utilisés dans les exemples précédents, consultez la documentation Kusto :

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

Autres ressources :

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