Journal d'audit unifié Microsoft 365 : vérifier, rechercher, conserver
Qui a lu cette boîte aux lettres, partagé ce fichier ou créé cette règle de transfert ? Dans Microsoft 365, la réponse se trouve dans le journal d'audit unifié. Encore faut-il qu'il soit actif, que la période couverte soit suffisante et que l'on sache l'interroger.
Vérifier que l'audit est actif
L'audit est activé par défaut pour la plupart des organisations, mais des locataires anciens ou des désactivations passées existent. La vérification se fait dans Exchange Online PowerShell :
Connect-ExchangeOnline Get-AdminAuditLogConfig | Format-List UnifiedAuditLogIngestionEnabled
La valeur doit être True. Vérifiez aussi que l'audit des boîtes aux lettres n'a pas été contourné par l'option AuditBypassEnabled sur certains comptes, et que l'audit par défaut des boîtes aux lettres n'est pas désactivé au niveau de l'organisation.
Une rétention qui dépend de la licence
Avec Audit (Standard), les enregistrements sont conservés 180 jours selon la documentation actuelle ; Microsoft a allongé cette durée par le passé. Audit (Premium), inclus dans les licences de type E5 ou disponible en complément, conserve par défaut un an certains enregistrements (Exchange, SharePoint, Entra ID) et permet de définir des stratégies de rétention d'audit, jusqu'à dix ans avec un module complémentaire. Les durées et le périmètre varient selon les charges de travail et les licences : consultez la documentation en vigueur plutôt que de supposer.
Rechercher dans le journal
Deux interfaces principales :
- le portail Microsoft Purview (Audit) : recherche par période, utilisateur, activité ou fichier, exécutée en tâche de fond et exportable en CSV ;
- Search-UnifiedAuditLog en PowerShell, pratique pour l'automatisation mais soumis à des limites de résultats par requête : il faut paginer avec
SessionIdetSessionCommand ReturnLargeSet.
Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date) ` -Operations New-InboxRule,Set-InboxRule -ResultSize 5000
Une API d'interrogation du journal d'audit via Microsoft Graph est également disponible ; vérifiez son statut et ses permissions avant de l'intégrer à vos outils.
MailItemsAccessed, l'événement clé des enquêtes
L'événement MailItemsAccessed enregistre l'accès aux messages, par synchronisation d'un client ou par lecture individuelle. C'est lui qui permet d'estimer quels courriers un attaquant a pu consulter. Longtemps réservé à Audit (Premium), il a été étendu à davantage de clients à partir de 2024 ; vérifiez qu'il est bien présent dans les actions auditées de vos boîtes aux lettres, car une configuration personnalisée ancienne peut l'exclure.
À retenir. En cas de compromission de messagerie, l'absence de MailItemsAccessed oblige souvent à considérer que toute la boîte a été lue, avec les conséquences qui en découlent en matière de notification de violation de données.
Exporter pour conserver plus longtemps
Si la rétention native ne couvre pas vos besoins, exportez les événements. Le connecteur Microsoft 365 de Microsoft Sentinel, l'API Office 365 Management Activity ou un SIEM tiers permettent de conserver les journaux selon votre propre politique. Mettez en place cet export avant d'en avoir besoin : comme pour les journaux Entra ID, il n'est pas rétroactif.
Ce qu'un audit vérifie
- l'ingestion du journal d'audit unifié activée ;
- l'absence de contournement de l'audit sur des boîtes aux lettres ;
- la présence de MailItemsAccessed dans les actions auditées ;
- une durée de conservation, native ou exportée, conforme à la politique interne.