Правила транспорта системы Microsoft Exchange Server 2007 предоставляют полноценный интерфейс для управления сообщениями на основе анализа их свойств. Ради совершенствования этой функциональности — упрощения процесса администрирования и повышения точности контроля содержимого и соответствия нормам — компания Microsoft изменила архитектуру системы Exchange. Классификация сообщений дополняет правила транспорта путем маркирования сообщений (вручную или автоматически) перед последующей обработкой. Данные возможности реализованы в архитектуре взаимодействия системы Exchange 2007 с клиентскими решениями Outlook 2007 и Outlook Web Access (OWA) 2007.

Exchange 2007: изменения в транспортной архитектуре

В системах Exchange 2003 и Exchange 2000 разработчики Microsoft реализовали расширяемый механизм SMTP службы Microsoft Internet Information Services (IIS), который использовался для предоставления услуг электронной почты и запускался процессом inetinfo.exe. Для интеграции с механизмом IIS SMTP и обеспечения программного доступа к транспортной подсистеме SMTP в Exchange использовались механизмы, построенные на объектной модели Component Object Model (COM). Приемники событий SMTP обеспечивали связь между расширениями Exchange механизма IIS SMTP и транспортом сообщений. Создание кода, необходимого для реализации комплексного приемника событий, выходило за рамки навыков большинства администраторов Exchange.

В ходе разработки Exchange 2007 специалисты Microsoft переписали транспортную систему «с нуля». Теперь управление механизмом SMTP и обработкой сообщений осуществляется с помощью службы Microsoft Exchange Transport Service (MSExchangeTransport.exe), встроенной в Exchange. Новая архитектура позволяет агентам последовательно обращаться к потоку SMTP при обнаружении определенных событий. События SMTP Receive Agent представляют собой различные команды и процессы в диалоге SMTP. В таблице 1 представлены различные события в том порядке, в котором они появляются в ходе транзакции SMTP.

Транспортные агенты и правила

Транспортные агенты представляют собой код, взаимодействующий с сообщениями SMTP с помощью библиотек классов, заданных в системе Exchange 2007. Агенты могут просматривать и изменять свойства сообщений и их содержимое в процессе обработки событий SMTP Receive Agent. Работа правил транспорта зависит от используемого транспортного агента: агент Edge Rules используется на пограничных серверах Exchange 2007 с ролью Edge Transport, а агент Transport Rule — на центральных серверах с ролью Hub Transport. Агенты правил активируются при обработке события OnEndOfData в потоке SMTP. Администраторы назначают агентам правила направления с помощью правил транспорта.

Примером транспортного агента могут служить агенты «антиспамовой» службы, используемые серверами Edge Transport, на которых они установлены «по умолчанию», а также центральными серверами Exchange с ролью Hub Transport, на которые «антиспамовые» агенты устанавливаются вручную. Агенты службы «антиспам» активируются при появлении среди событий SMTP строк, содержащих свойства сообщения, и могут изменить, отклонить или даже переадресовать электронное письмо. Для просмотра списка транспортных агентов, установленных на сервере, можно воспользоваться командой оболочки Exchange Management Shell (EMS)

Get-TransportPipeline

На экране 1 показан пример выходных данных этой команды для сервера Edge Transport. Вы можете посмотреть, в каких точках процесса транспорта размещены агенты службы «антиспам», а также убедиться в том, что событие OnEndOfData вызывает запуск агента Edge Rules.

Выходные данные команды Get-TransportPipeline для сервера Edge Transport

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

Edge или Hub: история о двух ролях

Правилами транспорта можно управлять через консоль Exchange Management Console (EMC) или через оболочку EMS. Правила могут быть реализованы на серверах Exchange 2007 с установленными ролями Edge Transport или Hub Transport. Процесс администрирования правил на серверах с разными ролями идентичен, однако области применения создаваемых наборов правил различаются.

Правила транспорта на сервере с ролью Edge Transport в первую очередь должны обеспечивать «чистоту» сообщений. Агент Edge Rules может защитить внутреннюю сеть от угроз, распространяемых через электронную почту, таких как эпидемии вирусов или атаки типа denial of service. Он также ограничивает распространение внутренних угроз на компьютеры клиентов компании других внешних абонентов путем идентификации и блокировки нежелательных исходящих сообщений. Сервер с ролью Edge Transport является почтовым шлюзом, поэтому с помощью правила транспорта вы можете создать механизм, гарантирующий, что в папки входящей почты Inbox, принадлежащие вашим пользователям, будут попадать только нужные письма.

Правила для серверов Edge Transport хранятся в локальных экземплярах службы каталогов Active Directory Application Mode (ADAM). Таким образом, при использовании нескольких серверов с ролью Edge Transport каждый из них будет иметь собственный набор транспортных правил. Каталог ADAM является портативным подмножеством службы каталогов Active Directory (AD) и не реплицируется между серверами. Вы можете задействовать идентичные, дублирующие друг друга серверы Edge Transport, использующие одинаковые наборы правил транспорта, или уникальные серверы Edge Transport для управления различными потоками почтового трафика, например отдельные шлюзовые серверы для входящих и исходящих потоков сообщений.

Правила транспорта на серверах централизованной обработки с ролью Hub Transport используются в основном для контроля соответствия сообщений предъявляемым требованиям и применения заданных политик. Вы можете ограничить или запретить доставку почтовых сообщений между группами пользователей внутри организации, и при этом быть уверенными, что определенная информация не будет отправлена случайному абоненту. Правила на серверах Hub Transport также могут применяться для добавления информационных блоков, таких как официальная информация, к телу письма перед его передачей на исходящий шлюзовой сервер. Эти правила хранятся в контейнере Exchange Configuration каталога AD. Так как правила транспорта находятся в базе AD и реплицируются на все контроллеры домена, все серверы с ролью Hub Transport работают с единым набором правил транспорта. А поскольку каждое сообщение, проходящее через организацию Exchange 2007, должно быть обработано хотя бы одним сервером Hub Transport, к каждому сообщению применяется соответствующее правило сервера Hub Transport. Данная схема создает мощную платформу для реализации системы обмена сообщениями, удовлетворяющей принятым требованиям.

Правило транспорта состоит из трех компонентов: условия, исключения и действия. Условия и исключения иногда называют предикатами. Таблица 2 содержит список предикатов и действий, доступных при создании правил для серверов Edge Transport и Hub Transport. Правила Hub Transport имеют больше параметров, обеспечивающих дополнительный контроль потока сообщений. Правила Edge Transport анализируют свойства сообщений и определяют действие, которое необходимо совершить над письмом: пропустить, исправить или запретить пересылку.

Доступных параметров в правилах транспорта может быть недостаточно, чтобы соответствовать требованиям любой организации, и при этом отсутствует возможность их редактирования. Однако разработчики могут создавать собственные транспортные агенты, позволяющие выполнять те требования, для которых недостаточно базового набора параметров в правилах транспорта.

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

Что такое классификации сообщений

Классификации сообщений, как и категории сообщений в приложении Outlook, — это механизм маркировки и дифференциации сообщений. Метки классификации могут использоваться в правилах транспорта для вызова того или иного действия. Классификации могут назначаться правилом сервера Hub Transport или пользователем перед отправкой сообщения. Данный механизм впервые введен в системе Exchange 2007 и может использоваться только в службах Outlook 2007 и OWA 2007. Предыдущие версии клиентских служб не распознают классификации сообщений.

В состав Exchange входит несколько предварительно настроенных классификаций. Их можно удалить или модифицировать, однако они могут и отвечать потребностям вашей компании. Список встроенных классификаций приведен ниже.

  • A/C Privileged (письмо от юриста, конфиденциальное);
  • Attachment Removed (вложение удалено);
  • Company Confidential (служебное, конфиденциальное);
  • Company Internal (служебное)
  • Originator Requested Alternate Recipient Mail (письмо с просьбой предоставить отправителю альтернативный адрес);
  • Partner (письмо от партнера).

Использование команды оболочки EMS Get-MessageClassification с параметром вывода format list позволяет вывести на экран подробную информацию о классификациях сообщений. Ниже приведен пример использования данной команды для классификации A/C Privileged (сокращение расшифровывается как Attorney/Client («юрист/клиент»), а не как Air Conditioning («кондиционирование воздуха»), хотя летом так и хочется остановиться на втором варианте):

Get-MessageClassification

«A/C Privileged» | fl

На экране 2 показаны результаты выполнения данной команды.

Результат выполнения команды Get-MessageClassification

Добавление новых классификаций сообщений

Создание новой классификации для использования в правилах или клиентах Outlook 2007 и OWA 2007 выполняется на сервере. Используется команда EMS с соответствующим именем, New-MessageClassification. Кроме того, необходимо задать несколько параметров. Параметр Display-Name, как мы вскоре увидим, задает имя, под которым данная классификация присутствует в списке, отображаемом в службах Outlook 2007 и OWA 2007 при выборе классификации сообщения. Поля SenderDescription и RecipientDescription отображаются в сообщениях, получивших данную классификацию. Полный список параметров данной команды приведен в статье на Microsoft TechNet «New-MessageClassification» (technet.microsoft.com/en-us/library/

bb124400.aspx).

Например, команда

New-MessageClassification -Name Articles

-DisplayName Windows IT Pro

-SenderDescription "This message

contains information and content

supporting Windows IT Pro magazine

articles"

создает классификацию сообщений с минимальным набором необходимых параметров. Она имеет идентификатор Articles и отображаемое имя Windows IT Pro. Новая классификация добавляется в контейнер Exchange Configuration каталога AD. Классификации сообщений могут быть удалены аналогичным способом с помощью команды Remove-MessageClassification.

Использование классификаций: настройка Outlook

По умолчанию служба Outlook не распознает классификации сообщений. Классификации хранятся в каталоге AD, и для использования в Outlook их необходимо экспортировать в файл XML. Экспорт можно выполнить с помощью сценария PowerShell, размещенного в папке scripts установочного каталога Exchange 2007 (program filesmicrosoftexchange serverscriptsexport-messageclassification.ps1). При выполнении сценария укажите файл XML как контейнер для выходных данных:

c:program filesmicrosoftexchange serverscriptsexport-messageclassification. ps1 >> mclass.xml

При повторном экспортировании данных в один и тот же файл XML новое содержимое будет добавлено в конец файла, что сделает файл нечитаемым для службы Outlook. Вы должны либо использовать уникальное имя, либо удалить все файлы XML с тем же именем перед экспортом.

Классификации сообщений могут использоваться только службами Outlook 2007, работающими через протокол MAPI, или службами OWA, установленными на серверах Exchange 2007 с ролью Client Access и имеющими доступ к почтовым ящикам системы Exchange 2007. Классификации не распознаются системами Windows Mobile, клиентами, использующими системы ActiveSync или интернет-протоколы, такие как POP3 и IMAP4. Описание классификаций добавляется в экспортированный файл XML, однако его еще необходимо передать клиентам. Вы можете использовать общие сетевые папки, но рекомендуется перемещать файл XML на конкретную систему, особенно если ваши пользователи работают автономно в режиме Cached Exchange Mode.

Для активации применения классификаций сообщений службой Outlook 2007 необходимо на компьютере каждого пользователя создать и настроить подраздел реестра HKEY_CURRENT_USERSoftwareMicrosoftOffice12.0CommonPolicy. Подраздел Policy не создается по умолчанию и должен быть создан только в тех случаях, когда почтовый ящик пользователя размещается на сервере Exchange 2007 Mailbox. Также нет необходимости настраивать те почтовые клиенты, которые не будут иметь доступ к системе классификаций сообщений. Внутри подраздела Policy необходимо настроить следующие параметры:

  • «AdminClassificationPath»="c:\Emailmclass.xml";
  • «EnableClassifications»=dword:00000001;
  • «TrustClassifications»=dword:00000001.

Полный путь и имя файла XML должны совпадать со значением, указанным в параметре AdminClassificationPath.

Распространение классификаций сообщений шаг за шагом

Классификация сообщений в системе Exchange 2007 не является настройкой клиентских служб Outlook и OWA, которую можно один раз выполнить и забыть. Любые изменения или добавления, вносимые в систему классификаций на сервере Exchange, требуют повторного экспорта файла XML и его распространения на системы с клиентами Outlook. Вернемся немного назад и вспомним, какие шаги необходимо предпринять для обновления и распространения классификаций сообщений на клиентские системы.

  1. Создать или изменить классификацию сообщений с помощью оболочки EMS.
  2. Запустить сценарий экспорта и создать файл XML для клиентских систем.
  3. Создать подраздел реестра на клиентских системах (в тех системах, в которых он не был создан ранее).
  4. Перенести файл XML на клиентские системы и разместить его в папке, указанной в параметре AdminClassificationPath.
  5. При необходимости перезапустить Outlook.

После выполнения этих шагов новые и измененные классификации сообщений могут быть использованы в правилах транспорта для управления потоком сообщений и поддержки соответствия системы предъявляемым требованиям, а также для применения политик.

Необходимость вручную создавать и распространять файл XML стала ахиллесовой пятой системы классификаций сообщений, ограничив возможность ее внедрения, особенно в крупных организациях. Однако после того, как компания создаст необходимый набор классификаций и сделает его доступным для клиентов Outlook 2007, дальнейшее вмешательство уже не требуется. Сложность механизма развертывания системы классификации проявляется только при необходимости внесения изменений — добавления новой классификации или повторной настройки клиентской системы.

В сетях Windows существуют инструменты, в том числе службы Group Policy и Office Customization Tool for Office 2007, которые могут помочь в распространении обновлений на клиентские системы. Некоторые пакеты управления приложениями, созданные сторонними разработчиками, также могут вносить изменения в реестр и распространять файлы на различные компьютеры. Даже при использовании этих средств система классификации сообщений сильно усложняет администрирование окружения, при этом возможные выгоды от внедрения не обязательно будут оправдывать затраченные усилия.

Совместное использование правил транспорта и классификаций

Классификации сообщений позволяют пользователям и организациям описывать сообщения более подробно. Изначально они никак не связаны с правилами транспорта. Правила сервера централизованной обработки Hub Transport позволяют управлять потоком сообщений внутри организации. Правила срабатывают, когда сообщения отвечают одному или нескольким условиям, после чего выполняется проверка, не попадают ли письма под действие исключений. Если сообщение успешно проходит проверку предикатов, то выполняется настроенное действие. На каждом шаге — условия, исключения, действие — существует возможность организовать проверку классификации сообщения.

Используем простую классификацию с именем Articles, созданную ранее. Для начала выполним шаги, описанные в предыдущем разделе. С помощью оболочки EMS добавим описание получателя:

Set-MessageClassification-Identity Articles -RecipientDescription "Alert! Windows IT Pro Article Content!"

RecipientDescription — это необязательный параметр, указываемый при создании классификации. Запустим сценарий экспорта для создания нового файла XML, описывающего внесенное изменение. Если вы хотите сделать несколько изменений, рациональнее будет выполнить их все перед созданием файла XML.

Стоит проверить корректность сделанных изменений, послав тестовое сообщение и убедившись, что классификация сообщений успешно применяется к данному сообщению. Создайте новое электронное письмо и выберите новую классификацию из раскрывающегося меню под кнопкой Permissions (экран 3). После выбора классификации в верхней части сообщения появится текст описания отправителя.

После выбора классификации сообщения давайте в целях обучения создадим правило транспорта. Задачей этого правила будет назначение классификации Articles сообщениям, отправленным на адрес внутреннего редактора, при условии, что эти сообщения не имеют низкую важность. В оболочке EMC перейдите в контейнер Organization Configuration и выберите объект Hub Transport. Выполните отзыв правил транспорта, хранящихся в каталоге AD, и примените итоговую политику ко всем серверам Hub Transport в организации. Перейдите на вкладку Transport Rules и щелкните на кнопке New Transport Rule в области Action, чтобы вызвать мастер New Transport Rule.

Правилу транспорта необходимо присвоить имя, описание же является необязательным параметром. Щелкните мышью на кнопке Next, чтобы перейти на экран Conditions, установите флаг в поле sent to people и укажите получателя. После произведенных настроек правило будет применяться к сообщениям, отправленным адресату Editor (экран 4).

Настройка условия правила транспорта в мастере New Transport Rule

Затем на экране Action вы можете назначить классификацию Articles (выбрав ее по отображаемому имени Windows IT Pro) сообщениям, отвечающим условиям правила (экран 5). Теперь в правило необходимо добавить исключение для писем, имеющих низкую важность (параметр Low Importance). Создать исключение можно на экране Exceptions. Щелкните на кнопке Next, чтобы завершить создание нового правила транспорта. На заключительном экране будет отображена команда PowerShell, которую вы можете задействовать для создания данного правила из оболочки EMS.

Чтобы протестировать созданное правило, вы можете послать электронное письмо без назначенной классификации на почтовый ящик Editor и убедиться, что после доставки письму присвоена классификация Articles. На экране 6 представлено описание Recipient Description, добавленное к тексту сообщения классификацией Articles, назначенной в результате применения правила транспорта к тестовому письму.

Все условия и исключения, доступные на серверах Hub Transport (см. таблицу 2) могут использоваться в правилах транспорта, построенных на основе классификаций сообщений. Действия, вызываемые правилами транспорта, могут различаться в зависимости от классификации сообщения, и в то же время классификации могут назначаться письму при соответствии его содержания условиям правила транспорта. Адреса получателей и отправителей, определенные слова или текстовые шаблоны, входящие в состав адреса, тела сообщений, содержимое заголовков и даже имена или размер вложенных файлов — все эти данные могут использоваться для управления потоком сообщений. Например, небольшая юридическая фирма из Ванкувера использует классификации сообщений и правила транспорта для отделения важной клиентской переписки (вне зависимости от отправителя) от остального содержимого почтового ящика ресурса. При отправке важных сообщений клиентам пользователи присваивают им соответствующую классификацию. В результате правило транспорта копирует сообщение в почтовый ящик, предназначенный для писем с назначенной классификацией и заданным адресом получателя.

Некоторые компании могут использовать классификации сообщений для усиления акцента на важности или конфиденциальности электронного письма. Например, при уведомлении сотрудников об изменении плана медицинской страховки отдел кадров может выбрать классификацию, разработанную для добавления определенного текста в верхнюю часть сообщений, открываемых пользователями с помощью служб Outlook 2007 и OWA 2007.

Правила и классификации: одна голова хорошо, а две — лучше

Используя классификации сообщений при формировании правил сервера центрального транспорта Hub Transport в качестве условий, в качестве исключений или в качестве действий, вы получаете дополнительные возможности административного контроля над потоком сообщений. Правила, использующие классификации сообщений, помогут применять корпоративную политику, поддерживать окружение в соответствии с предъявленными требованиями и ограничивать доставку сообщений случайным или нежелательным адресатам. Система правил транспорта не идеальна, а неудобный механизм распространения классификаций может заставить некоторые компании отказаться от применения данного решения. И все же система маркировки сообщений, именуемая классификацией сообщений, повышает гибкость применения правил транспорта, начиная от этических ограничений и заканчивая добавлением официальных предупреждений.

Уильям Лефковиц (william@mojavemediagroup.com) — технический директор Mojave Media Group, автор статей о технологиях систем сообщений и совместной работы. Имеет сертификат MCSE и звание Microsoft Exchange MVP 

События SMTP Receive Agent

Список условий, действий и исключений в правилах для серверов Hub Transport и Edge Transport

Выбор классификации для нового электронного письма

Выбор действия правила транспорта в мастере New Transport Rule

Электронное сообщение с добавленным описанием Recipient Description