С помощью механизма аудита on-prem Exchange Server и облачном Exchange Online (Microsoft 365) вы можете отслеживать все действия пользователей с любыми элементами в почтовом ящике. Аудит действий пользователей в ящике поможет администратору Exchange ответить на популярный вопрос – “как найти пользователя, который удалил письмо в общем почтовом ящике”?
В этой статье мы покажем, как настроить аудит действий в ящиках Exchange Server и Microsoft 365, и выполнять поиск по событиям аудита.
Настройка аудита в ящиках Office 365 (Microsoft 365)
Сначала рассмотрим, особенности аудита в ящиках облачного тенанта Microsoft 365. Этот функционал доступен только для подписок уровня E3 и E5.
Откройте консоль PowerShell и подключитесь к своему Exchange Online с помощью модуля EXOv2:
Connect-ExchangeOnline -UserPrincipalName [email protected] -ShowProgress $true
В Exchange Online (Office 365) аудит событий по-умолчанию включен для всех тенантов с конца 2018.
Get-OrganizationConfig | Format-List AuditDisabled
Аудит можно включить/отключить в настройках каждого ящика. Выведем текущие настройки для всех ящиков:
Get-Mailbox -ResultSize Unlimited -Filter {RecipientTypeDetails -eq "UserMailbox"} | Select UserPrincipalName,AuditEnabled
Как вы видите, аудит включен. Можно отключить аудит для определенного ящика:
Set-Mailbox kbuldogov -AuditEnabled $false
В Exchange есть несколько уровней аудита в ящике:
- AuditOwner – аудит действия владельца ящика
- AuditAdmin – аудит действий администратора
- AuditDelegate – аудит действия сторонних пользователей, которым предоставлен доступ к почтовому ящику
В журнал аудита можно записывать следующие события:
- Copy
- Create
- FolderBind
- HardDelete
- MailboxLogin
- MessageBind
- Move
- MoveToDeletedItems
- SendAs
- SendOnBehalf
- SoftDelete
- Update
- UpdateCalendarDelegation
- UpdateFolderPermissions
Для каждого уровня аудита вы можете настроит те события, которые должны сохранятся в журнал. Текущие настройки аудита можно получить так:
Get-Mailbox kbuldogov| Select-Object -ExpandProperty AuditOwner
Get-Mailbox kbuldogov| Select-Object -ExpandProperty AuditDelegate
Get-Mailbox kbuldogov| Select-Object -ExpandProperty AuditAdmin
Вы можете настроить, что в журнал аудита сохранялись только определенные действия, например удаление:
Set-Mailbox kbuldogov -AuditOwner HardDelete,SoftDelete
Если нужно только добавить некоторые события аудита к текущим:
Set-Mailbox kbuldogov -AuditOwner @{Add=”MailboxLogin”,”HardDelete”}
Журналы аудита хранятся непосредственно в ящике в папке Audits. Эта папка недоступна из почтового клиента Outlook или OWA.
Текущий размер журнала аудита в ящике можно получить с помощью команды:
Get-MailboxFolderStatistics -Identity [email protected] | where {$_.FolderType -eq 'Audits'} | ft Identity, ItemsInFolder, FolderSize –auto
Аудит в почтовых ящиках Exchange Server
В on-prem Exchange Server аудит почтовых ящиков доступен с версии 2010 SP1. По умолчанию аудит ящиков отключен.
Подключитесь к своему on-prem серверу Exchange с помощью PowerShell:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://msk-exch1.winitpro.ru/PowerShell/ -Authentication Kerberos -Credential $UserCredential
Import-PSSession $Session
Вы можете включить аудит для одного почтового ящика:
Set-Mailbox kbuldogov -AuditEnabled $true
Или для всех почтовых ящиков в организации:
Get-Mailbox -ResultSize Unlimited -Filter {RecipientTypeDetails -eq “UserMailbox”} | Set-Mailbox -AuditEnabled $true
В ящике Exchange Server включен аудит доступа администраторов и делегатов (здесь настройки по-умолчанию другие, чем в Exchange Online). Аудит действий владельца отключен. Включение аудита всех событий для владельца ящика может сильно увеличить размер журнала. Лучше всего включить выборочный аудит некоторых действий (например, удаления, перемещения):
Set-Mailbox kbuldogov -AuditOwner SoftDelete,HardDelete,MoveToDeletedItems,Move
События аудита хранятся 90 дней, после чего они удаляются. Вы можете управлять глубиной журнала аудита (и его размером). Например, уменьшите срок хранения событий для ящика с 90 до 30 дней:
Get-Mailbox kbuldogov |select AuditLogAgeLimit
Set-Mailbox kbuldogov -AuditLogAgeLimit 30 -Force
Кто удалил письмо из общего ящика Exchange?
Допустим в вашей организации/тенанте Exchange, есть некий общий или персональный почтовый ящик, к которому дан доступ другим пользователям. Кто-то из пользователей удалил важное письмо из ящика и вам нужно найти кто это сделал.
Для поиска в логах аудита почтового ящика используется командлет
Search-MailboxAuditLog
. Командлет доступен как в наземном Exchange Server, так и в облачном Exchange Online (некоторые параметры и опции могут отличаться).
Следующая команда выведет все операции аудита, которые выполнялись с элементами в указанном общем ящике с 5 сентября:
Search-MailboxAuditLog -Identity [email protected] -StartDate 9/5/2021 -ShowDetails| ft MailboxOwnerUPN, LogonType, LogonUserDisplayName, Operation,OperationResult, SourceItemSubjectsList,FolderPathName, DestFolderPathName,LastAccessed|ft
Поиск может выполниться довольно долго в зависимости от количества событий аудита. В этом примере видно, кто удалил письмо с указанной темой.
Вы можете более тонко отфильтровать журналы аудита. Например, мы хотим выбрать только события удаления (HardDelete, SoftDelete, MoveToDeletedItems), которые выполнялись не-владельцем ящика:
Search-MailboxAuditLog -Identity [email protected] -StartDate 9/1/2021 -EndDate 9/7/2021 –LogonTypes Delegate,Admin -ShowDetails| Where-Object {$_.Operation -like "*Delete*"}|ft MailboxOwnerUPN, LogonType,LogonUserDisplayName,Operation, OperationResult,SourceItemSubjectsList,FolderPathName, DestFolderPathName,LastAccessed|ft
Для асинхронного поиска по событиям аудита используется командлет
New-MailboxAuditLogSearch
. Он вызывает меньшую нагрузку на почтовый сервер, выполняется в фоне, позволяет более эффективно искать среди тысяч событий и отправляет результаты на указанный почтовый ящик.
Вы также можете выполнять поиск по логам аудита через Exchange Admin Center в разделе Compliance Management -> Auditing. Можно использовать отчет Run a non-owner mailbox access report или Export mailbox audit logs.
В Exchange Online для поиска в логах можно использовать EAC (legacy способ) или новый Microsoft 365 Complicate Center (https://compliance.microsoft.com/homepage). Для поиска событий перейдите в Solutions -> Audit -> Search. Выберите даты, пользователя и тип событий которые нужно найти в разделе Exchange Mailbox Activities. В этом примере это Moved messages to Deleted Items folder, Deleted messages from Deleted Items folder)
Search-UnifiedAuditLog
.Вы можете использовать события аудита чтобы проверить, что письмо прочитано.