Сервісний центр VPSGroup ремонт комп'ютерної техніки, заправка картриджів, ремонт оргтехніки, Київ, Виставковий центр, Васильківська, 55

Аудит поштових скриньок в Exchange.

Кожному адміністратору Exchange періодично доводиться стикатися з ситуаціями, коли необхідно визначити, хто і що зробив з елементом в поштовій скриньці. Наприклад, хтось із користувачів видалив лист із загального поштової скриньки і треба з'ясувати, хто саме. Exchange Server (починаючи з версії 2010 SP1) дозволяє реєструвати подібні дії і зберігати їх в журналі аудиту.

Журнал аудиту включається на рівні поштової скриньки. Записи журналу зберігаються в самому ящику, у вкладеній папці Audits, прихованої від користувача.

Всього є три рівня аудиту поштових скриньок:

• AuditAdmin - аудит операцій, вироблених адміністраторами поштової системи;
• AuditDelegate - аудит операцій, вироблених сторонніми користувачами, яким надано (делегований) доступ до поштової скриньки;
• AuditOwner - аудит операцій, вироблених власником ящика.

В журналі аудиту реєструються такі дії.

Дія Опис Admin Delegate Owner
Copy Повідомлення скопійовано в іншу папку. Так Ні Ні
Create В папці Календар, Контакти, Нотатки або Завдання створений новий елемент (напр.запрошення). Створення повідомлень і папок не реєструється. да1 да1 Так
FolderBind Папка поштової скриньки була відкрита. да1 да2 Ні
HardDelete Елемент видалений з папки «Елементи для відновлення» (Recoverable Items) без можливості відновлення. да1 да1 Так
MailboxLogin Користувач виконав вхід в свою поштову скриньку. Ні Ні Да3
MessageBind повідомлення було відкрито або переглянуто в області перегляду. Так Ні Ні
Move Повідомлення переміщено в іншу папку. да1 Так Так
MoveToDeletedItems Повідомлення переміщено в папку «Дистанційні». да1 Так Так
SendAs повідомлення надіслано з використанням дозволів «Надіслати як». да1 да1 Ні
SendOnBehalf Повідомлення надіслано з використанням дозволів «Надіслати від імені». да1 Так Ні
SoftDelete Повідомлення видалено з папки «Дистанційні». да1 да1 Так
Update Параметри елемента оновлені. да1 да1 Так

1 - настройка за замовчуванням, при включеному аудиті.
2 - записи дій, що виконуються делегатами, об'єднуються.За 24 години в журналі створюється одна запис для доступу до окремій папці.
3 - аудит для облікових записів власника поштової скриньки працює тільки для імен входу POP3, IMAP4 або OAuth. Він не підтримується для входу в поштову скриньку з використанням NTLM або Kerberos.

Включення і настройка

Управління аудитом поштових скриньок можливо тільки з консолі PowerShell.Для прикладу візьмемо ящик pupkin_va і подивимося його налаштування:

Get-Mailbox pupkin_va | fl audit *



Як бачите, за замовчуванням аудит відключений. Для початку включимо його:

Set-Mailbox pupkin_va -AuditEnabled $ true

Потім додамо аудит для власника ящика. При аудиті дій власника може генеруватися велика кількість подій, що вплине на розмір журналу.Тому за замовчуванням аудит для власника ящика вимкнений. Включимо його для найбільш деструктивних дій, пов'язаних з перенесенням або видаленням повідомлень:

Set-Mailbox pupkin_va -AuditOwner Move, MoveToDeletedItems, SoftDelete, HardDelete

Ну і для того, щоб зменшити розмір журналу , скоротимо термін зберігання записів з 90 до 30 днів:

Set-Mailbox pupkin_va -AuditLogAgeLimit 30 -Force

Потім ще раз перевіримо настройки.



При бажанні можна вивести кожну настройку окремо. Для прикладу виведемо настройки аудиту для власника ящика:

Get-Mailbox pupkin_va | select -ExpandProperty AuditOwner



Цікавий факт - максимальний термін зберігання записів в журналі становить 24 855 днів, т.е. приблизно 68 років. А якщо точніше, то фактичний максимум становить 24 855 днів, 3 години, 14 хвилин і 7 секунд (24855.03: 14: 07). При спробі перевищити це значення буде видана помилка.



Як я вже говорив, журнал аудиту зберігається в самому ящику, в папці Audits, яка розташована в розділі Recoverable Items (Елементи з можливістю відновлення).Папка прихована від користувачів і переглянути її вміст звичайними способами неможливо (та й нема чого). Оцінити розмір папки Audits і кількість записів в ній можна з командного консолі Exchange, приблизно такою командою:

Get-MailboxFolderStatistics -Identity pupkin_va | where {$ _. Name -eq "Audits" -and $ _. FolderType -eq "Audits"} | ft Identity, ItemsInFolder, FolderSize -auto

Як бачите, розміри елементів аудиту не дуже великі і становлять близько 3 Кбайт.Але при активному використанні ящика цих елементів може бути досить багато, це треба враховувати при налаштуванні аудиту. До речі, простір, зайняте елементами аудиту, не входить в квоту, що виділяється поштової скриньки.



Примітка . Розділ Recoverable Items частково доступний за допомогою Microsoft Outlook і Outlook Web App (OWA) через функцію Recover Deleted Items, яка перераховує всі елементи в теці Deletions.За допомогою утиліти MFCMAPI також можна отримати доступ до деяких інших вкладених папок (напр. Purges, Versions), але не до папки Audits. Це логічно, адже інакше можна просто зайти в журнал аудиту і видалити записи, що свідчать про підозрілі дії.

Пошук в журналі аудиту

Для кожної дії в журналі аудиту генерується запис, що складається наступних полів .

Поле Вміст
Operation
Виконане дію:
Copy
Create
FolderBind
HardDelete
MailboxLogin
MessageBind
Move
MoveToDeletedItems
SendAs
SendOnBehalf
SoftDelete
Update
OperationResult Результат дії:
Failed
PartiallySucceeded
Succeeded
LogonType Тип облікового запису для входу користувача, який виконав дію:
Owner
Delegate
Admin
DestFolderId Ідентифікатор GUID папки призначення для операцій переміщення.
DestFolderPathName Шлях до папки призначення при операції переміщення.
FolderId Ідентифікатор GUID папки.
FolderPathName Шлях до папки.
ClientInfoString Відомості для ідентифікації клієнта або компонента Exchange, що виконує операцію.
ClientIPAddress IP-адреса комп'ютера клієнта.
ClientMachineName Ім'я комп'ютера клієнта.
ClientProcessName Ім'я процесу клієнтського додатку.
ClientVersion Версія клієнтського додатку.
InternalLogonType Тип внутрішнього користувача (співробітника організації), який виконав операцію. Для цього поля допускаються ті ж значення, що і для поля LogonType.
MailboxOwnerUPN Ім'я учасника-користувача (User Principal Name, UPN) власника поштової скриньки.
MailboxOwnerSid Ідентифікатор безпеки власника поштової скриньки (SID).
DestMailboxOwnerUPN Ім'я учасника-користувача власника поштової скриньки призначення, що виконує дії в кількох поштових скриньках.
DestMailboxOwnerSid Ідентифікатор безпеки власника поштової скриньки призначення, що виконує дії в кількох поштових скриньках.
DestMailboxOwnerGuid Ідентифікатор GUID власника поштової скриньки призначення.
CrossMailboxOperation Запис відомостей про операції, виконаної в кількох поштових скриньках (наприклад, копіювання або переміщення повідомлень в інші поштові скриньки).
LogonUserDisplayName Коротке ім'я користувача, який виконав вхід.
DelegateUserDisplayName Коротке ім'я делегованого користувача.
LogonUserSid Ідентифікатор безпеки користувача, який виконав вхід.
SourceItems Ідентифікатор ItemID елементів поштової скриньки, в якому виконано записане дію (напр.переміщення або видалення). Для дій, виконаних для декількох елементів, дане поле відображається як сукупність елементів.
SourceFolders Ідентифікатор GUID вихідної папки.
ItemId Ідентифікатор елемента.
ItemSubject Тема елемента (напр. повідомлення).
MailboxGuid Ідентифікатор GUID поштової скриньки
MailboxResolvedOwnerName Дозволена ( resolved) ім'я користувача поштової скриньки в форматі DOMAIN \ SamAccountName.
LastAccessed Час виконання дії.
Identity Ідентифікатор запису журналу аудиту.

Для пошуку потрібного події в журналі аудиту є три способи.

Синхронний пошук

Синхронний пошук здійснюється за допомогою командлета Search-MailboxAuditLog. Пошук стартує відразу, результати виводяться в командній консолі Exchange. Одночасно шукати можна тільки по одному ящику.Для прикладу запустимо в тестовому ящику пошук дій власника за 7 серпня:

Search-MailboxAuditLog -Identity pupkin_va -LogonType Owner -StartDate 8/7/2019 -ShowDetails | fl Operation, OperationResult, LastAccessed, LogonUserDisplayName, * path, * subj *

З записи прекрасно видно, що власник зайшов в ящик і спочатку перемістив повідомлення в папку "Видалені", а потім видалив його остаточно.У випадку спірної ситуації цього буде достатньо, щоб з'ясувати правду. У моєму тестовому прикладі знайдено всього дві події. В реальній ситуації кількість буде набагато більше, тому краще відразу зробити висновок результатів в файл.



Асинхронний пошук

Перевагою синхронного пошуку є швидкість його роботи.Якщо вам потрібно отримати результат негайно, то це єдиний спосіб. Але плата за швидкість - це підвищене навантаження на поштовий сервер, тому на високонавантажених серверах рекомендується використовувати асинхронний пошук. На відміну від синхронного асинхронний пошук може проводитися як по одному, так і з кількох скриньок одночасно.Збір даних здійснюється у фоновому режимі, а результати надсилаються листом на вказаний ящик у вигляді вкладеного XML-файла.

Асинхронний пошук запускається за допомогою командлета New-MailboxAuditLogSearch. Для прикладу запустимо пошук дій власника для тестового ящика pupkin_va, для отримання результату вкажемо свою поштову скриньку:

New-MailboxAuditLogSearch -Name "Pupkin" -Mailboxes pupkin_va -LogonTypes Owner -StartDate 8/6/2019 -EndDate 8/9/2019 -ShowDetails -StatusMailRecipients novikov_kv @ show.ru



Скажу відразу, асинхронний пошук працює дуже нешвидко. Залежно від критеріїв пошуку і завантаженості серверів процес може займати від 30-40 хвилин до декількох годин. Подивитися прогрес і визначити хоча-б приблизний час отримання звіту можна, залишається тільки чекати і сподіватися