25 мая 2010 г.

Контролируем доступ к чужим ящикам в MS Exchange 2007

В Exchange есть такая интересная возможность как управление чужим ящиком. Любой человек с правами администратора Exchange может дать права пользователю подключиться к чужому ящику. Такая возможность нужна и полезна, например, для того чтобы срочно достать письмо из ящика человека, который в настоящий момент недоступен или для работы с двумя ящиками в Outlook 2007 (Outlook 2010 уже умеет работать с двумя и более ящиками Exchange).

В то же время, это не та возможность, которую можно использовать бесконтрольно, т.к. возможны злоупотребления.

В этом случае на помощь приходит функция, которая появилась в Exchange 2007 SP2 - функция аудита доступа к почтовым ящикам. Эта функция имеет более широкое применение, с ее помощью можно многое записывать в журнал, но я рассмотрю только применительно к вещам, описанным выше.

Можно это сделать используя графическую консоль, как рассказано в статье Аудит доступа к почтовым ящикам в Exchange 2007, но можно это сделать и с помощью PowerShell, причем таким образом это делается проще.

Итак, на сервере с ролью MailBox выполняю команду:

Set-Location 'HKLM:\System\CurrentControlSet\Services\MSExchangeIS\Diagnostics\9000 Private'

она переносит нас в нужный раздел реестра.

Теперь

Set-ItemProperty -Path . -Name '9074 Folder Access' -Value 3

Этой командой меняется значение ключа в реестре. Проверяю:

9000 Private>Get-ItemProperty -Path .

Должно получиться что-то типа этого:

PSPath                          : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeIS\Diagnostics\9000 Private
PSParentPath                    : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeIS\Diagnostics
PSChildName                     : 9000 Private
PSDrive                         : HKLM
PSProvider                      : Microsoft.PowerShell.Core\Registry
9003 Transport General          : 0
9005 General                    : 0
9010 Transport Sending          : 0
9011 Transport Delivering       : 0
9012 Transfer Into Gateway      : 0
9013 Transfer Out Of Gateway    : 0
9014 MTA Connections            : 0
9015 Logons                     : 0
9016 Access Control             : 0
9017 Send On Behalf Of          : 0
9018 Send As                    : 0
9019 Rules                      : 0
9021 Storage Limits             : 0
9026 Background Cleanup         : 0
9028 DS Synchronization         : 0
9030 Views                      : 0
9050 Download                   : 0
9052 Local Replication          : 0
9074 Folder Access              : 3
9075 Message Access             : 3
9076 Extended Send As           : 3
9077 Extended Send On Behalf Of : 3

Теперь нужно сделать так, чтобы пользователь из-под которого делается бэкап таким образом не контролировался, т.к. иначе я получу дикое количество записей в журнале после каждого бэкапа, что мне не нужно:

Get-MailboxDatabase | Add-ADPermission -User domain\user -ExtendedRights ms-exch-store-bypass-access-auditing -InheritanceType all

Ну и, наконец, нужно сделать самую неприятную для админа процедуру – перезапустить Information Store. Результаты можно смотреть в журнале Exchange Auditing

Подробнее про аудит можно прочитать тут и тут.

Комментариев нет:

Отправить комментарий