Разработка файлов шаблонов политики защиты от потери данных в Exchange 2013

Область применения: Exchange Server 2013 г.

В этом обзоре подробно рассматриваются компоненты определения схемы XML для файлов шаблонов политик предотвращения потери данных, а также приведен пример файла политики ML-формата. Прежде чем приступить к работе, полезно понять общую архитектуру защиты от потери данных и процесс разработки правил. Дополнительные сведения см. в разделах Защита от потери данных и Определение собственных шаблонов защиты от потери данных и типов информации.

Чтобы упростить внедрение решений для защиты от потери данных и управление ими, в Microsoft Exchange Server 2013 г. появилась концептуальная модель, известная как политики защиты от потери данных и шаблоны политик. Шаблоны политик DLP содержат предварительные версии политики DLP. Чтобы быть полезным, шаблон политики DLP должен инкапсулировать все директивы и объекты данных, которые требуются для достижения определенной цели политики, такой как норматив или бизнес-потребность. Шаблон не зависит от среды. Это просто определение или модель политики, которая может быть предоставлена как часть конфигурации продукта или предоставлена независимыми издателями и партнерами программного обеспечения. С другой стороны, политики DLP — это экземпляры шаблонов время выполнения, привязанные к среде развертывания. Существующая структура политики обмена сообщениями может включать политики DLP с помощью правил транспорта. Правила транспорта предоставляют гибкие средства адаптации и выражают всю мощь DLP-решения.

Источники и структура шаблона политики

Обычно шаблоны политики DLP создаются на основе разных источников, таких как серверные директивы обработки, клиентские политики компьютера или другие программные конструкции, как показано на следующем рисунке:

Факторы, влияющие на шаблоны политик.

Простые операции управления доступны для шаблонов политик защиты от потери данных с помощью командной консоли Exchange и интернет-интерфейсов, таких как Центр администрирования Exchange, которые включают возможности импорта, экспорта, удаления и запроса. Политика DLP создается путем указания шаблона политики DLP. Такие шаблоны политики DLP могут быть установлены в системе и храниться в доменных службах Active Directory, либо браться непосредственно из поставляемых извне политик.

Шаблоны политики DLP — это XML-документы. Для политик, предоставляемых в Exchange и за ее пределами, используется одна xml-схема. Концептуальная структура XML-документа представлена в таблице ниже, где приведены основные элементы. Набор определений компонентов политики помогает достичь определенной цели политики, например регулирования или бизнес-потребности.

Структурный элемент Значение или пример
Publisher Майкрософт или партнер
Версия 15.0.1.0
Имя политики PCI-DSS
Описание Политика защиты от потери данных PCI-DSS помогает обнаруживать наличие информации, подлежащей стандарту PCI Data Security Standard (PCI DSS), включая такие сведения, как кредитные карта или дебетовые карта номера. Использование этой политики не гарантирует соответствие каким-либо нормативным требованиям. После тестирования внесите требуемые изменения в конфигурацию Exchange, чтобы передача информации соответствовала политике вашей организации. Например, возможно, вам потребуется настроить протокол TLS с известными деловыми партнерами или добавить дополнительные ограничения действия правил транспорта, такие как добавление полномочий для защиты сообщений, содержащих определенный тип данных.
Metadata Теги для описания местных законов, страны или региона, ключевых слов и многого другого.
Набор конструкций политики Определения правил транспорта, такие как условия и действия.
Определение поведения почтового клиента для работы с клиентами через интерактивные уведомления.
Дополнительные ссылки на конфигурацию, которые должны координироваться со специфическими параметрами клиентской среды.
Набор классификаций данных Определяет объекты или сходства классификации.
Объекты имеют число и вероятность; сходства — только вероятность.
Содержит собственный набор свойств и схему классификации.

Определение формата шаблона политики

Шаблоны политики DLP выражаются в XML-документах, которые соответствуют следующей схеме. Обратите внимание на то, что в XML-документе учитывается регистр. Например, dlpPolicyTemplates будет работать, но DlpPolicyTemplates не будет работать.

<?xml version="1.0" encoding="UTF-8"?>
<dlpPolicyTemplates>
  <dlpPolicyTemplate id="F7C29AEC-A52D-4502-9670-141424A83FAB" mode="Audit" state="Enabled" version="15.0.2.0">
    <contentVersion>4</contentVersion>
    <publisherName>Microsoft</publisherName>
    <name>
      <localizedString lang="en">PCI-DSS</localizedString>
    </name>
    <description>
      <localizedString lang="en">Detects the presence of information subject to Payment Card Industry Data Security Standard (PCI-DSS) compliance requirements.</localizedString>
    </description>
    <keywords></keywords>
    <ruleParameters></ruleParameters>
    <ruleParameters/>
    <policyCommands>
      <!-- The contents below are applied/executed as rules directly in PS - -->
      <commandBlock>
        <![CDATA[ new-transportRule "PCI-DSS: Monitor Payment Card Information Sent To Outside" -DlpPolicy "%%DlpPolicyName%%" -SentToScope NotInOrganization -SetAuditSeverity High -MessageContainsDataClassifications @{Name="Credit Card Number"; MinCount="1" } -Comments "Monitors payment card information sent to outside the organization as part of the PCI-DSS DLP Policy."]]>
      </commandBlock>
      <commandBlock>
        <![CDATA[ new-transportRule "PCI-DSS: Monitor Payment Card Information Sent To Within" -DlpPolicy "%%DlpPolicyName%%" -Comments "Monitors payment card information sent inside the organization as part of the PCI-DSS DLP Policy." -SentToScope InOrganization -SetAuditSeverity Low -MessageContainsDataClassifications @{Name="Credit Card Number"; MinCount="1" } ]]>
      </commandBlock>
    </policyCommands>
    <policyCommandsResources></policyCommandsResources>
  </dlpPolicyTemplate>
</dlpPolicyTemplates>

Если параметр, который вы включаете в XML-файл для любого элемента, содержит пробел, параметр необходимо заключить в двойные кавычки, иначе он не будет работать надлежащим образом. В приведенном ниже примере следующий параметр -SentToScope является допустимым и не включает двойные кавычки, так как это одна непрерывная строка символов без пробела. Однако параметр , указанный для , Comments не будет отображаться в Центре администрирования Exchange, так как в нем отсутствуют двойные кавычки и он содержит пробелы.

<CommandBlock><![CDATA[ new-transportRule "PCI-DSS: Monitor Payment Card Information Sent To Within" -DlpPolicy "PCI-DSS" -Comments Monitors payment card information sent inside the organization -SentToScope InOrganization -SetAuditSeverity Low -MessageContainsDataClassifications @{Name="Credit Card Number"; MinCount="1" } ]]> </CommandBlock>

Элемент localizedString

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

Узел ruleParameters

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

Элемент dlpPolicyTemplate

Это корневой элемент для шаблона политики DLP, обязательный для каждого шаблона. Доступные атрибуты показаны в таблице ниже:

Имя атрибута Обязательный? Описание
Версия Да Номер версии, используемой в документе шаблона политики DLP.
Состояние Нет Необязательная конфигурация по умолчанию для состояния политики.
Режим Нет Необязательная конфигурация по умолчанию для режима политики.
Id Нет GUID для уникальной идентификации данного определения шаблона политики DLP в следующем формате: "A29C69BF-4F98-47F1-9A99-5771DFD2C27F".

Дочерние элементы включают следующую последовательность элементов.

Дочерний элемент (минимум, максимум) Описание
PublisherName (1, 1) Метаданные для издателя шаблона
имя; (1, 1) Локализуемое имя для данного шаблона.
Описание (1, 1) Локализуемое описание для данного шаблона.
Ключевые слова (1, 1) Список ключевых слов, которые относятся к этому шаблону. Шаблон может содержать пустой список ключевых слов.
RuleParameters (0, 1) Список параметров шаблона, которые используются в определении политики.
PolicyCommands (0, 1) Список определений правил транспорта для этой политики. Этот элемент является необязательным.

Шаблон политики DLP Управление политикой

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

<PolicyCommands>
    <!-- The contents below are applied/executed as rules directly in PS - -->
      <CommandBlock> <![CDATA[ new-transportRule "PCI-DSS: Monitor Payment Card Information Sent To Outside" -DlpPolicy "PCI-DSS" -SentToScope NotInOrganization -SetAuditSeverity High -MessageContainsDataClassifications @{Name="Credit Card Number"; MinCount="1" } -Comments "Monitors payment card information sent to outside the organization as part of the PCI-DSS DLP policy."]]></CommandBlock>
      <CommandBlock><![CDATA[ new-transportRule "PCI-DSS: Monitor Payment Card Information Sent To Within" -DlpPolicy "PCI-DSS" -Comments "Monitors payment card information sent inside the organization as part of the PCI-DSS DLP policy." -SentToScope InOrganization -SetAuditSeverity Low -MessageContainsDataClassifications @{Name="Credit Card Number"; MinCount="1" } ]]> </CommandBlock>
  </PolicyCommands>

Формат командлетов — стандартный синтаксис командлетов командной консоли Exchange. Команды выполняются по порядку. Каждый из узлов команд может содержать блок скрипта, который будет состоять из нескольких команд. Ниже приведен пример, в котором показано, как включить пакет правил классификации внутри шаблона политики DLP и установить пакет правил при создании политики. Пакет правил классификации встраивается в шаблон политики, а затем передается командлету в шаблоне в качестве параметра:

<CommandBlock>
  <![CDATA[
$rulePack = [system.Text.Encoding]::Unicode.GetBytes('<?xml version="1.0" encoding="utf-8"?>
<rulePackage xmlns="http://schemas.microsoft.com/office/2011/mce">
  <RulePack id="c3f021a3-c265-4dc2-b3a7-41a1800bf518">
    <Version major="1" minor="0" build="0" revision="0"/>
    <Publisher id="e17451d3-9648-4117-a0b1-493a6d5c73ad"/>
    <Details defaultLangCode="en-us">
      <LocalizedDetails langcode="en-us">
        <PublisherName>Contoso</PublisherName>
        <Name>Contoso Sample Rule Pack</Name>
        <Description>This is a sample rule package</Description>
      </LocalizedDetails>
    </Details>
  </RulePack>
  <Rules>
    <Entity id="7cc35258-6b35-4415-baff-a76d1a018980" patternsProximity="300" recommendedConfidence="85" workload="Exchange">
      <Pattern confidenceLevel="85">
        <IdMatch idRef="Regex_Contoso" />
        <Any minMatches="1">
          <Match idRef="Regex_conf" />
        </Any>
      </Pattern>
    </Entity>
    <Regex id="Regex_Contoso">(?i)(\bContoso\b)</Regex>
    <Regex id="Regex_conf">(?i)(\bConfidential\b)</Regex>
    <LocalizedStrings>
      <Resource idRef="7cc35258-6b35-4415-baff-a76d1a018980">
        <Name default="true" langcode="en-us">
          Confidential Information Rule
        </Name>
        <Description default="true" langcode="en-us">
          Sample rule pack - Detects Contoso confidential information
        </Description>
      </Resource>
    </LocalizedStrings>
  </Rules>
</RulePackage>
')
New-ClassificationRuleCollection -FileData $rulePack
New-TransportRule -name "customEntity" -DlpPolicy "%%DlpPolicyName%%" -SentToScope NotInOrganization -MessageContainsDataClassifications @{Name="Confidential Information Rule"} -SetAuditSeverity High]]>
</CommandBlock>

Дочерние элементы включают следующую упорядоченную последовательность элементов.

Дочерний элемент (минимум, максимум) Описание
CommandBlock (1, n) Командный блок, который выполняется в PowerShell. Командные блоки выполняются по порядку.

Дополнительные сведения

Защита от потери данных

Определение собственных шаблонов DLP и типов сведений

Импорт настраиваемого шаблона политики защиты от потери данных из файла