Автор статьи — Paul Cunningham, обладатель статуса Microsoft MVP и нескольких сертификатов по Exchange Server 2007, 2010 and 2013. Paul также является издателем ресурса Exchange Server Pro.
Оригинальный материал на английском языке.
В годы моей работы администратором Exchаnge самым частым заданием из разряда «ктоэтосделал?!» было найти отправителя конкретного письма с общего почтового ящика.
Представьте себе, что общий почтовый ящик «HelpDesk» используется большой командой ИТ-персонала и все эти сотрудники имеют разрешения на отправку писем от имени общей учетной записи (например, для того, чтобы отправлять оповещения об отключении или техническом обслуживании систем).
В один из дней сотрудник службы поддержки, устав от рутинных операций, отправляет «гениальное» письмо в рассылку по всей компании, письмо получает негативный отклик.
Задача в том, чтобы найти – кто именно отправил такой «подарок», решение можно найти разными способами: например, можно отследить ip-адрес, с которого было отправлено сообщение, затем сопоставить адрес с компьютером и найти пользователя. Можно также потратить время, проверяя вручную папки «Отправленные» у всех подозреваемых. Также неплохим вариантом остаётся задать вопрос, кто это сделал – иногда можно надеяться на честный ответ.
В любом случае возможность определить отправителя по журналам событий Exchange не помешает, и хорошая новость заключается в том, что такая возможность есть! (в случае если у вас используется Microsoft Exchange 2010 SP1 или более поздняя версия, включая Exchange 2013). Нужная функция называется «mailbox audit logging», и плохая новость состоит в том, что она по умолчанию выключена. Как вы понимаете, функцию надо было включить до инцидента с письмом, в противном случае событие отправки не попадёт в журнал Exchange.
Проводим поиск отправителя с помощью Центра администрирования Exchange
В случае если функция «mailbox audit logging» была включена до инцидента, мы можем использовать Центр администрирования Exchange: необходимо выбрать пункт меню «Compliance Management» и далее «Auditing» в правой части экрана.
Вы увидите список из нескольких пунктов, нас интересует «Run a non-owner mailbox access report»
Установите необходимый интервал дат, нажмите на кнопку «select mailboxes…» и выберите общий почтовый ящик, затем выберите в списке «Search for access by:» внизу экрана значение «All non-owners» и запустите поиск! Если выбран большой интервал дат или в случае, если сотрудники активно используют отправку писем от имени общей учётной записи – вам придется проделать серьезную работу, чтобы докопаться до истины.
Проводим поиск отправителя с помощью скрипта PowerShell
Еще один способ установить отправителя заключается в использовании скрипта Search-MailboxAuditLog
Например, для поиска в журнале событий, произошедших с 13 по 15 января 2014г. в общем почтовом ящике «HelpDesk» нужно использовать следующую команду:
[PS] C:>Search-MailboxAuditLog -Identity "Help Desk" -LogonTypes Delegate -StartDate 1/14/2014 -EndDate 1/15/2014
RunspaceId : d8142847-166a-488a-b668-f7b84c3f3ceb
MailboxGuid : a0f10db1-5268-47a5-8f71-d1e65f55c653
MailboxResolvedOwnerName : Help Desk
LastAccessed : 14/01/2014 9:31:08 PM
Identity : exchange2013demo.com/Company/Resources/Help Desk
IsValid : True
ObjectState : New
Мы увидим, что отметка о времени соответствует отправленному письму и, также, в консоль выводятся дополнительные сведения о произошедшем событии. Для того, чтобы увидеть все подробности нужно воспользоваться параметром «–ShowDetails»:
Desk" -LogonTypes Delegate -StartDate 1/14/2014 -EndDate 1/15/2014 -ShowDetails
RunspaceId : d8142847-166a-488a-b668-f7b84c3f3ceb
Operation : SendAs
OperationResult : Succeeded
LogonType : Delegate
ExternalAccess : False
DestFolderId :
DestFolderPathName :
FolderId :
FolderPathName :
ClientInfoString : Client=MSExchangeRPC
ClientIPAddress : 192.168.0.181
ClientMachineName :
ClientProcessName : OUTLOOK.EXE
ClientVersion : 15.0.4551.1004
InternalLogonType : Owner
MailboxOwnerUPN : Sarah.Jones@exchange2013demo.com
MailboxOwnerSid : S-1-5-21-2175008225-1847283934-4039955522-1471
DestMailboxOwnerUPN :
DestMailboxOwnerSid :
DestMailboxGuid :
CrossMailboxOperation :
LogonUserDisplayName : Sarah Jones
LogonUserSid : S-1-5-21-2175008225-1847283934-4039955522-1471
SourceItems : {}
SourceFolders : {}
SourceItemIdsList :
SourceItemSubjectsList :
SourceItemFolderPathNamesList :
SourceFolderIdsList :
SourceFolderPathNamesList :
ItemId :
ItemSubject : Wheeee!
DirtyProperties :
OriginatingServer : E15MB1 (15.00.0775.022)
MailboxGuid : a0f10db1-5268-47a5-8f71-d1e65f55c653
MailboxResolvedOwnerName : Help Desk
LastAccessed : 14/01/2014 9:31:07 PM
Identity : RgAAAAD2fF/dZobvQoWbbV7P6N7eBwD7Y5OF+DDRQZRz1a4+yUyzAABaldDBAAD7Y5OF+DDRQZRz1a4+yUyzAABaldDCAAAJ
IsValid : True
ObjectState : New
Я описал эту распространенную ситуацию, чтобы продемонстрировать значимость и необходимость функции «mailbox audit logging», надеюсь, что вы задумаетесь о том, чтобы включить её в своей организации, по крайней мере для самых важных почтовых ящиков.
___
Примечание:
В статье описан аудит, доступный в Exchange 2013. К сожалению, для Exchange 2003/2007 такой детальный аудит доступа к почтовым ящикам недоступен.
Для Exchange 2003 и 2007 отлично подходит один из модулей Netwrix Auditor. Программа предоставляет отчеты о попытках доступа (включая дату, время, список действий с объектами ящика). Программу можно протестировать онлайн, чтобы оценить ее возможности.
Кроме того, для Exchange 2003, 2007 и 2013 есть модуль, который отражает информацию — кто именно назначил права пользователю на общий/чужой почтовый ящик. Протестировать и посмотреть примеры отчетов также можно онлайн в режиме тест-драйва.
___