Иногда администраторам требуется закрыть на время доступ пользователей к серверу Exchange. Например, в случае необходимости установить на сервере программное обеспечение. При этом нужно сначала протестировать его. Но как оградить сервер Exchange от пользователей? Изменив некоторые настройки системного реестра, можно установить ограничения на доступ к Exchange 2000 Server и Exchange Server 5.5. Это позволит заблокировать отдельных клиентов, работающих с Messaging API (MAPI), группы клиентов MAPI или доступ по IP. Другой способ — выборочно предоставить доступ определенным клиентам и заблокировать его для остальных. Блокировка доступа может потребоваться при переносе почтовых ящиков на другой сервер Exchange 5.5. Так или иначе, при изменении системного реестра всегда следует иметь резервную копию на случай восстановления системы.

Блокировка клиентов MAPI

Версии Exchange 2000 Service Pack 1 и выше позволяют администратору блокировать доступ определенных клиентов MAPI или групп клиентов. Таким образом можно заставить пользователей обновить версию их почтового клиента. Например, чтобы обеспечить установку последнего пакета обновлений или программы коррекции, можно заблокировать доступ пользователей, которые еще не выполнили необходимых действий.

MAPI-клиенты могут варьироваться от исходного Capone, выпущенного Microsoft вместе с Exchange Server 4.0 в 1996 г., до последней версии — Outlook XP. Каждый клиент немного отличается версиями MAPI, обеспечивающими доступ к Exchange. Разработчики Microsoft присваивают каждому клиенту MAPI различные внутренние ID. Например, на Экране 1 показан внутренний ID для msmapi.dll, библиотеки, содержащей поддержку MAPI для Outlook XP. Данный ID соответствует 10.0.3416. Первая часть ID показывает основной номер версии. Microsoft иногда ассоциирует этот номер с внутренним номером выпуска Microsoft Office. Поскольку в Exchange собственный клиент использовался до того, как Microsoft выпустила Outlook, версии этих клиентов отличаются от версий Office (т. е. 5.0, 4.0).

Экран 1. Определение версии MAPI.

Когда MAPI-клиент подключается к Exchange, на сервер передается информация об используемой клиентом версии MAPI. В Exchange System Manager (ESM) можно увидеть, кто из пользователей подключен в настоящий момент к базе данных Store (это показано на Экране 2). Отмечу, что ID версии клиента содержит набор из четырех чисел, в отличие от трех чисел ID версии выпуска.

Настройки реестра для блокировки доступа клиентов зависят от номера версии клиента MAPI. Поэтому важно задавать корректные значения, чтобы блокировка действовала как надо. В Таблице 1 содержится список клиентов MAPI Microsoft, номера версий клиента MAPI, которые можно просмотреть в окне Help/About, и соответствующие значения системного реестра для блокировки доступа пользователей. Если администратор не уверен в выбранном номере, он может подключиться к серверу Exchange с помощью такого же почтового клиента, который требуется заблокировать, и задействовать ESM для просмотра информации об используемом MAPI. Номер версии можно получить, отбросив вторую цифру слева. На Экране 2 показано, что клиент подключился, используя MAPI версии 5.0.2819.0. Если отбросить вторую цифру слева, получится необходимый код для блокировки доступа, т. е. 5.2819.0. Если найти такое значение в Таблице 1, можно сделать вывод, что эта версия соответствует Outlook 2000.

Таблица 1. Версии клиентов MAPI.

Многие службы Exchange используют MAPI для доступа к хранилищу, поэтому важно не заблокировать доступ клиентов MAPI, версии которых начинаются с цифры 6. Например, MAPI-клиент для Exchange 2000 SP1 имеет версию 6.4712.0, а для SP2 — 6.5716.0 (самый простой способ найти данное значение — посмотреть свойства mapi32.dll в каталоге exchsrvrin). Если заблокировать доступ для этих клиентов, то такие службы, как Exchange System Attendant, перестанут работать. Для блокировки доступа клиента MAPI к хранилищу необходимо открыть редактор реестра и перейти к разделу HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServicesMSExchangeIS ParametersSystem. В меню Edit следует выбрать New, String Value для создания нового параметра типа REG_SZ с названием Disable MAPI clients (см. Экран 3). Его значение должно содержать версию клиента MAPI, доступ к которому требуется заблокировать. Можно задать диапазон номеров версий для блокировки нескольких клиентов или указать номер конкретного клиента. Например, на Экране 3 показана блокировка доступа для клиентов Exchange 5.0, Exchange 4.0 и Outlook 97 (версия из Office). Отдельное значение 5.2178.0 заблокирует доступ клиентов Outlook 98.

Можно разместить знак дефиса (-) перед значением параметра реестра, чтобы блокировать всех клиентов более ранних версий. Например, использование-5.3143.0 заблокирует доступ клиентов, имеющих версию меньше, чем Microsoft Outlook 2000 SP2 (т. е. 5.3144.0). Аналогично можно поместить дефис после значения реестра для блокировки более поздних версий. Скажем, запись 10.0.3147- будет блокировать доступ клиентов старше Outlook XP SP1 (т. е. 10.0.3416).

После изменения реестра необходимо остановить и перезапустить службу Information Store для установки блокировки доступа клиентов MAPI. После перезапуска службы пользователи, имеющие соответствующую версию клиента MAPI, не смогут открыть свои почтовые ящики и получат сообщение об ошибке, показанное на Экране 4 (для Outlook Web Access-OWA соответствует стандартное сообщение об ошибке HTTP 500 «you cannot access this page»). Таким способом можно проверить работу программного обеспечения почтового клиента на компьютере пользователя.

Блокировка доступа по IP-адресу

Системный реестр Windows не содержит настроек для блокировки доступа клиентов HTTP, IMAP4 или POP3 к серверу Exchange. Однако можно выборочно отключить доступ пользователей или остановить соответствующий виртуальный сервер. Для блокировки определенного пользователя в Windows 2000 следует открыть оснастку Active Directory Users and Computers, выбрать Advanced Features в меню View, правой кнопкой щелкнуть на учетной записи, для которой требуется заблокировать доступ, и выбрать Properties в контекстном меню. Затем нужно перейти на закладку Exchange Advanced, щелкнуть на кнопке Protocol Settings и открыть окно Protocols (см. Экран 5). Выбрав необходимый протокол, следует щелкнуть Settings, чтобы закрыть доступ. Если решено блокировать всех пользователей по определенному протоколу, требуется открыть ESM, выбрать физический сервер, на котором находится виртуальный сервер, щелкнуть Protocols, выбрать виртуальный сервер (например, Default IMAP4 Virtual Server) и щелкнуть Stop. Можно нажать Start, как только возникнет необходимость обеспечить доступ клиентов по этому протоколу.

Выборочное обеспечение доступа в Exchange 2000

Exchange 2000 SP1 и старше имеют в системном реестре два параметра, показанные в Таблице 2, которые позволяют подключаться к серверу только определенным учетным записям. Эти параметры находятся в разделе HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ServicesMSExchangeISParameters, показанном на Экране 6. Значения параметров реестра на Экране 6 дают возможность остановить подключение к хранилищу всех пользователей, кроме учетной записи со значением атрибута legacy ExchangeDN, равным

/o=Compaq/ou=Ireland/cn=Recipients/cn=TonyRedmond.

Задав значения параметров реестра, необходимо перезапустить службу Information Store для того, чтобы блокировка доступа начала действовать. Служба Store читает реестр во время запуска, определяет соответствующие параметры и проверяет содержимое Active Directory (AD) для сравнения атрибута legacyExchangeDN со значением в реестре. Store выполняет такой поиск быстро, поскольку AD индексирует атрибут legacyExchangeDN, используемый Exchange 2000 для проверки адресной информации в старых сообщениях и в адресной книге для отображения объектов AD. Если Store находит учетную запись AD, содержащую сравниваемый атрибут, то для всех остальных пользователей доступ блокируется. Если значение атрибута legacyExchangeDN нулевое или неправильное, то Store будет обеспечивать доступ всех пользователей к их почтовым ящикам.

Можно с помощью утилиты ADSI Edit задать значения атрибута legacyExchangeDN в определенной учетной записи. На Экране 7 показано, как в ADSI Edit отображается атрибут legacyExchangeDN для учетной записи с параметром mail-enabled, который можно найти в контейнере Domain Naming Context. Можно записать это значение или просто скопировать его из ADSI Edit в редактор системного реестра.

Таблица 2. Параметры реестра для блокировки доступа в Exchange 2000.

Чтобы изменить выборочный доступ, можно либо удалить параметр реестра Logon Only As, либо установить его значение в 0. Только следует помнить, что после таких изменений необходимо перезапускать службу Information Store, чтобы новые значения вступили в силу.

Выборочное обеспечение доступа в Exchange 5.5

Exchange 5.5 также позволяет выборочно предоставить пользователям доступ, но для этого существует только один параметр реестра. Опять же при изменении значений параметров реестра требуется перезапускать службу Information Store. В статье Microsoft «XADM: Limiting Logons to the Information Store» (http://support.microsoft.com/default.aspx?scid=kb;en-us;q146764) все это подробно описано. Соответствующий параметр Logon Only As (тип REG_MULTI_SZ) расположен в разделе HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ServicesMSExchangeIS.

Между одним параметром реестра в Exchange 5.5 и двумя в Exchange 2000 для обеспечения доступа есть существенная разница. Настраивая реестр для Exchange 2000, администратор предоставляет доступ к одному почтовому ящику, а параметр реестра для Exchange 5.5 позволяет ввести список почтовых ящиков, которым будут даны соответствующие права. Это различие обусловлено тем, что параметр реестра для Exchange 2000 имеет тип REG_SZ (строка), а для Exchange 5.5 соответствующий параметр имеет тип REG_MULTI_SZ (множество строк).

Таким образом, на сервере Exchange 5.5 можно ввести отличительные имена (DN) для множества почтовых ящиков, к которым нужно обеспечить доступ после установки блокировки всех остальных.

Пример:

/o=Compaq/ou=Dublin/cn=recipients/cn=TonyRedmond

/o=Compaq/ou=Dublin/cn=recipients/cn=KieranMcCorry

DN следует вводить для каждого почтового ящика в разных строках. DN является ключевым элементом в Directory Store Exchange 5.5. После перехода на Exchange 2000 значение параметра DN почтового ящика присваивается атрибуту legacyExchangeDN учетной записи, поскольку AD использует для объектов глобальные уникальные идентификаторы (GUID). Для определения значения DN в Exchange 5.5 необходимо запустить Microsoft Exchange Administrator в режиме Raw (т. е. выполнить команду admin.exe с ключом /r) и просмотреть атрибуты выбранных почтовых ящиков. В отличие от Exchange 2000, если значение параметра реестра в Exchange 5.5 будет пустым, никто не получит доступ к серверу.

Перенос почтовых ящиков

В Exchange 5.5 можно блокировать доступ пользователей на время переноса почтовых ящиков между серверами одного узла. В статье Microsoft «XADM: How to Prevent Logons During Move Mailbox» (http://support.microsoft.com/default.aspx?scid=kb;en-us;q218920) описан такой процесс с упоминанием о предоставлении доступа к скрытым почтовым ящикам, которые используются службами System Attendant и Directory Service (DS) на каждом из серверов во время миграции почтовых ящиков. Для блокировки доступа в процессе переноса почтовых ящиков следует ввести DN почтовых ящиков, которые System Attendant и DS используют в параметре Logon Only As системного реестра:

/o=OrgName/ou=Site Name/cn=Configuration/cn=Servers/cn=Server1/

cn=Microsoft System Attendant

/o=OrgName/ou=Site Name/cn=Configuration/cn=Servers/cn=Server2/

cn=Microsoft System Attendant

/o=OrgName/ou=Site Name/cn=Configuration/cn=Servers/cn=Server1/

cn=Microsoft DSA

/o=OrgName/ou=Site Name/cn=Configuration/cn=Servers/cn=Server2/

cn=Microsoft DSA

Такую же технологию можно применить и для Exchange 2000. Поскольку System Attendant всегда имеет доступ к почтовым ящикам, во время процесса переноса почтовых ящиков блокируется только доступ пользователей.

Описанные в статье изменения системного реестра помогут администраторам заблокировать доступ к серверам Exchange 2000 и Exchange 5.5. Для блокировки доступа к Exchange 2000 или Exchange 5.5 необходимо сделать следующее.

  • Войти на сервер с учетной записью, имеющей необходимые права доступа. Для Exchange 5.5 такая учетная запись должна иметь права Administrator в узле, где расположен сервер. Для Exchange 2000 она должна иметь права Exchange Administrator или Exchange Full Administrator.
  • Создать резервную копию системного реестра.
  • Открыть редактор реестра (т. е. запустить regedt32.exe или regedit.exe).
  • Изменить или добавить необходимые параметры реестра.
  • Выйти из редактора реестра.
  • Перезапустить службу Information Store.
  • Протестировать систему на предмет успешного доступа к одним почтовым ящикам и блокировки доступа для других почтовых ящиков.

Нужно помнить, что такие настройки необходимо опробовать на тестовом сервере, прежде чем внедрять их в промышленной среде. И не забывайте удалять те параметры реестра, в которых больше нет необходимости. В заключение следует отметить, что в статье рассматривалась блокировка доступа к одному серверу, но это может потребоваться на всех серверах, к которым надлежит ограничить доступ.