Это вторая и заключительная часть цикла статей о функции журналов аудита администратора Exchange 2010, позволяющая проводить аудит команд, выполняемых в организации Exchange. В первой части мы начали подробно рассматривать параметры, которые можно использовать для настройки этой функции, соответственно в этой части мы закончим рассмотрение данной области, а затем перейдем к рассмотрению функции журналов администраторского аудита в действии.
Запись в журнал параметров команды
Подобно тому, как мы настраивали то, названия каких команд будут записываться в журнал, можно настраивать то, какие параметры будут записываться в него. Например, New-ReceiveConnector и Set-ReceiveConnector команды имеют параметр RemoteIPRanges. Поэтому чтобы записывать в журнал все команды, использующие параметр RemoteIPRanges, нужно выполнить следующую команду:
Set-AdminAuditLogConfig 'AdminAuditLogParameters RemoteIPRanges
Для записи в журнал всех параметров, содержащих в своем названии Database нужно выполнить следующую команду:
Set-AdminAuditLogConfig 'AdminAuditLogParameters *Database*
Как и в случае с AdminAuditLogCmdlets параметром, можно указывать несколько различных типов параметров, которые будут записываться в журнал, путем указания каждого параметра, разделяя их запятой. Например, для записи обоих параметров команды, которые имеют в своем названии RemoteIPRanges или Database, нужно выполнить следующую команду:
Set-AdminAuditLogConfig 'AdminAuditLogParameters RemoteIPRanges, *Database*
Конечно высока вероятность того, что все параметры команды нужно записывать в журнал, для чего нужно будет выполнить следующую команду, если стандартная конфигурация уже была изменена:
Set-AdminAuditLogConfig 'AdminAuditLogParameters *
Взаимодействие между AdminAuditLogCmdlets параметром и AdminAuditLogParameters параметров довольно простое для понимания. Если администратор выполняет команду, соответствующую одной из команд, перечисленных в списке параметра AdminAuditLogCmdlets, то список параметров, перечисленных в AdminAuditLogParameters, будет проверяться. Если один или несколько параметров совпадают, выполнение команды записывается в журнал. Формат записи команды в журнал мы рассмотрим чуть позже в этой статье.
Запись в журнал команд Test
Для записи или исключения из записи в журнал команд, начинающихся на Test-, таких как Test-OutlookWebServices и Test-ReplicationHealth, нужно просто задать TestCmdletLoggingEnabled параметру команды Set-AdminAuditLogConfig значение true или false. Следующие два примера показывают обе команды:
Set-AdminAuditLogConfig 'TestCmdletLoggingEnabled $true
Set-AdminAuditLogConfig 'TestCmdletLoggingEnabled $false
Рабочий пример
Давайте начнем с просмотра того, что произойдет, если мы настроим среду Exchange на запись всех команд и параметров в журнал. В этом примере мы настроили одного пользователя, Neil, на возможность открывать AuditLog почтовый ящик, который будет настроен на получение содержимого журналов администраторского аудита. Сначала нужно создать сценарий конфигурации Exchange Management Shell, подобный тому, что приведен ниже. Понятно, что вам нужно изменить имя почтового ящика для журналов аудита с auditlog@neilhobson.com на SMTP адрес почтового ящика для получения журналов аудита в вашей организации Exchange.
# ConfigAuditLog.ps1
# Configures administrator audit logging settings ' log all cmdlets and cmdlet parameters
Set-AdminAuditLogConfig 'AdminAuditLogCmdlets *
Set-AdminAuditLogConfig 'AdminAuditLogParameters *
Set-AdminAuditLogConfig 'AdminAuditLogMailbox auditlog@neilhobson.com
Set-AdminAuditLogConfig 'AdminAuditLogEnabled $true
Set-AdminAuditLogConfig 'TestCmdletLoggingEnabled $true
В качестве следующего шага нужно задать пользователю Neil разрешения доступа, чтобы он смог открывать почтовый ящик AuditLog. Хотя это можно сделать из консоли управления Exchange Management Console, данная статья посвящена работе с оболочкой Exchange Management Shell, так как функция журналов администраторского аудита может быть настроена только в Exchange Management Shell. Для предоставления разрешений полного доступа пользователю Neil к почтовому ящику AuditLog выполняем следующую команду:
Add-MailboxPermission 'Identity AuditLog 'User Neil 'AccessRights FullAccess 'InheritanceType all
В команде Add-MailboxPermission параметр 'Identity используется для указания имени почтового ящика, к которому нужно предоставить доступ, а параметр 'User используется для указания имени пользователя, которому предоставляется такой доступ. Параметр 'AccessRights указывает права, которые будут предоставлены пользователю, и в нашем случае это право полного доступа FullAccess. Наконец, параметр 'InheritanceType определяет, будут ли наследоваться разрешения.
Результаты команды показаны на рисунке 4.
Рисунок 4: Предоставление полного доступа к почтовому ящику AuditLog
После выполнения команды Add-MailboxPermission пользователь Neil будет иметь полный доступ к ящику AuditLog. На рисунке 5 видно, что почтовый ящик был открыт в Outlook Web App. Обратите внимание, что выполнение команды Add-MailboxPermission было записано в журнал, так как она выполнялась после включения журнала администраторского аудита.
Рисунок 5: Вход в почтовый ящик AuditLog
Содержимое журналов аудита
Теперь давайте рассмотрим сценарий, в котором администратор Exchange по имени Rob вносит изменения в настройки почтового ящика для пользователя Mark. Используя консоль управления Exchange Management Console, Rob решает изменить квоты размера почтового ящика пользователя Mark с параметра по умолчанию Использовать умолчания базы данных для почтового ящика (Use mailbox database defaults) на собственные параметры, которые должны выдавать предупреждение при 10240КБ и запрещать отправку новых сообщений по достижении 20480КБ. Эти параметры показаны на рисунке 6.
Рисунок 6: Настройка пользовательских квот почтового ящика
Одной из новых функций в консоли управления Exchange 2010 является то, что команда Exchange Management Shell, которая будет выполняться при внесении изменений в конфигурацию, может отображаться в консоли Exchange Management Console. Как только Rob нажимает кнопку OK, рисунок 6, окно свойств для Mark будет отображено, как показано на рисунке 7. На рисунке 7 видно, что есть значок оболочки управления в нижнем левом углу.
Рисунок 7: Значок Exchange Management Shell
Если Rob нажмет на этот значок, у него откроется отдельное окно Exchange Management Shell Command, отображающее подробную информацию о команде Exchange Management Shell, которая будет использоваться для настройки квот почтового ящика. Эта команда показана на рисунке 8. Мы можем посмотреть эту команду сейчас, а позже убедиться, что именно эта команда была записана в журнал.
Рисунок 8: Выполнение команды Set-Mailbox
Теперь давайте подробнее рассмотрим записи журнала администраторского аудита, который появляется в почтовом ящике AuditLog в результате внесения изменений в настройку пользователем Rob. Вы видите письмо, которое записано в почтовом ящике AuditLog, на рисунке 9.
Рисунок 9: Запись журнала аудита о команде Set-Mailbox
На рисунке 9 видно, что тема письма NEILHOBSON\rob : Set-Mailbox, которая отчетливо показывает имя пользователя, создавшего запись в журнале в результате выполнения команды, а также название выполненной команды. Давайте посмотрим на каждый параметр в теле письма.
- Cmdlet Name. Очевидно, что это название команды, выполненной пользователем.
- Object Modified. Здесь показаны подробности объекта, который был изменен командой, в нашем примере это объект пользователя.
- Parameter. Вы уже видели на рисунке 8, что команда Set-Mailbox выполнялась с 4 различными параметрами, а именно Identity, UseDatabaseQuotaDefaults, IssueWarningQuota и ProhibitSendQuota. Эти 4 параметра записаны здесь в записи журнала.
- Property Modified. Это поле указывает, какие свойства объекта были изменены, а, следовательно, оно идентично полю Рarameter. К тому же, одно из полей Property Modified говорит о том, что объект был изменен.
- Caller. Поле Caller указывает имя пользователя, который на самом деле выполнил команду.
- Succeeded. Здесь показано, было ли выполнение команды успешным, (возвращается со значением true), или безуспешным (возвращается со значением false).
- Error. Если команда, выполняемая администратором, была неуспешной, сообщение об ошибке будет показано здесь.
- Run Date. Это поле показывает дату и время в формате Coordinated Universal Time (UTC), когда администратор выполнил команду.
Заключение
На этом завершим данный цикл статей о функции журналов администраторского аудита в Exchange 2010. Нет сомнений, что это будет весьма полезная функция для тех организаций, которым нужно отслеживать изменения конфигурации, вносимые в их инфраструктуре Exchange 2010, по разным причинам.