Новые функции в службе координатора распределенных транзакций в Windows

В этой статье описываются некоторые обновления и изменения, связанные с безопасностью Windows, а также их влияние на службу координатора распределенных транзакций (Майкрософт) (MS DTC).

Исходная версия продукта: Windows
Исходный номер базы знаний: 899191

Сводка

Начиная с Windows Server 2003 с пакетом обновления 1 (SP1) и Windows XP с пакетом обновления 2 (SP2), в Windows появились некоторые обновления и изменения, связанные с безопасностью, которые влияют на службу MS DTC.

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

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

Изменив параметры в диалоговом окне Конфигурация безопасности , вы можете управлять взаимодействием службы DTC с удаленными компьютерами по сети.

В этой статье описываются новые функции службы MS DTC в следующих операционных системах:

  • Windows Server 2003 с пакетом обновления 1 (SP1)
  • Windows XP с пакетом обновления 2 (SP2)
  • Windows Vista
  • Windows Server 2008
  • Windows 7
  • Windows Server 2008 R2
  • Windows 8
  • Windows Server 2012
  • Windows 8.1
  • Windows Server 2012 R2

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

Управление сетевым обменом данными с помощью конфигурации безопасности

В Windows служба DTC обеспечивает больший контроль над сетевым обменом данными между компьютерами. По умолчанию весь сетевой обмен данными отключен. Диалоговое окно Конфигурация безопасности DTC было улучшено, чтобы можно было управлять этими параметрами связи. Чтобы просмотреть диалоговое окно Конфигурация безопасности , выполните следующие действия.

  1. Запустите средство администрирования служб компонентов. Для этого нажмите кнопку Пуск, выберите Выполнить, введитеdcomcnfg.exe, а затем нажмите кнопку ОК.
  2. В дереве консоли средства администрирования Служб компонентов разверните узлы Службы компонентов, Компьютеры, щелкните правой кнопкой мыши Мой компьютер и выберите Свойства.
  3. Перейдите на вкладку MSDTC и выберите Конфигурация безопасности.

Новые параметры в конфигурации безопасности

В следующих сведениях описываются новые параметры, доступные в диалоговом окне Конфигурация безопасности . Эти сведения также описывают записи реестра, на которые влияют новые параметры в диалоговом окне Конфигурация безопасности .

Доступ к сети DTC

Поле Network DTC Access проверка позволяет определить, может ли служба DTC получить доступ к сети. Чтобы включить сетевые транзакции DTC Access проверка, необходимо выбрать один из других проверка полей в проверка Доступ к сети DTC.

Поле Network DTC Access проверка влияет на следующую запись реестра:

  • Путь к реестру: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Имя значения: NetworkDtcAccess
  • Тип значения: REG_DWORD
  • Данные значения: 0 (по умолчанию)

Примечание.

В кластере серверов поле Network DTC Access проверка влияет на значение в разделе реестра общего кластера в разделе реестра ресурсов MS DTC. Раздел реестра общего кластера для MS DTC находится в расположении HKEY_LOCAL_MACHINE\Cluster\Resources\<MSDTC resource GUID> .

По умолчанию значение NetworkDtcAccess записи реестра равно 0. Значение 0 отключает NetworkDtcAccess запись реестра. Чтобы включить NetworkDtcAccess запись реестра, задайте для этого параметра реестра значение 1.

Разрешить входящий трафик

Поле Разрешить входящий проверка позволяет определить, следует ли разрешить выполнение распределенной транзакции, исходящей с удаленного компьютера, на локальном компьютере. По умолчанию этот параметр отключен. Чтобы включить этот параметр, щелкните поле Network DTC Access проверка, чтобы задать для следующей записи реестра значение 1:

  • Путь к реестру: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Имя значения: NetworkDtcAccess
  • Тип значения: REG_DWORD

Чтобы отключить этот параметр, снимите флажок Network DTC Access проверка, чтобы задать для этой записи реестра значение 0.

Поле Разрешить входящий проверка влияет на следующие REG_DWORD записи реестра в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessInbound

Разрешить исходящий трафик

Поле Разрешить исходящий проверка позволяет определить, следует ли разрешить локальному компьютеру инициировать транзакцию и выполнять ее на удаленном компьютере. Чтобы включить этот параметр, выберите поле Network DTC Access проверка, чтобы задать для следующей записи реестра значение 1:

  • Путь к реестру: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Имя значения: NetworkDtcAccess
  • Тип значения: REG_DWORD

Чтобы отключить этот параметр, снимите флажок Network DTC Access проверка, чтобы задать для этой записи реестра значение 0.

Поле Разрешить исходящий проверка влияет на следующие REG_DWORD записи реестра в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessOutbound

Требуется взаимная проверка подлинности

Параметр Требуется взаимная проверка подлинности добавляет поддержку взаимной проверки подлинности в Windows. Обязательная взаимная проверка подлинности задает максимальный режим безопасности, доступный в настоящее время для сетевого взаимодействия. Этот режим транзакций рекомендуется использовать для клиентских компьютеров под управлением Windows XP с пакетом обновления 2 (SP2) и серверных компьютеров под управлением Windows Server 2003 с пакетом обновления 1 (SP1).

Обязательная взаимная проверка подлинности влияет на следующие записи реестра в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Раздел реестра 1

    • Имя значения: AllowOnlySecureRpcCalls
    • Тип значения: REG_DWORD
    • Значение данных: 1
  • Раздел реестра 2

    • Имя значения: FallbackToUnsecureRPCIfNecessary
    • Тип значения: REG_DWORD
    • Значение данных: 0
  • Раздел реестра 3

    • Имя значения: TurnOffRpcSecurity
    • Тип значения: REG_DWORD
    • Значение данных: 0

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

  • Режим обязательной транзакции взаимной проверки подлинности требует, чтобы компонент удаленного доступа предоставлял подключение с локальным компьютером с проверкой подлинности. Эта проверка подлинности проверяется олицетворением на локальном компьютере. Кроме того, если обмен данными с удаленным доступом осуществляется между двумя службами DTC, эти сведения для проверки подлинности должны указывать учетную запись компьютера, соответствующую имени узла компьютера в режиме удаленной транзакции.

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

  • Режим транзакции "Не требуется проверка подлинности " не проверяет соединение, прошедшее проверку подлинности, и не проверяет, установлено ли соединение с проверкой подлинности.

В кластеризованной среде учетная запись компьютера для службы DTC указывает имя узла кластера. В кластеризованной среде проверка подлинности DTC не использует имя узла режима транзакций. В кластеризованной среде имя узла режима транзакций — это имя виртуальной службы. Таким образом, нельзя использовать режим обязательной транзакции взаимной проверки подлинности в кластерной среде или на любых компьютерах, на которых выполняется согласование транзакций с такими компьютерами. Режим обязательной транзакции взаимной проверки подлинности можно использовать между двумя некластеризованными компьютерами под управлением Windows Server 2003 с пакетом обновления 1 (SP1) или между двумя компьютерами под управлением Windows XP с пакетом обновления 2 (SP2).

Используйте режим обязательной транзакции проверки подлинности входящего вызывающего абонента между компьютерами под управлением Windows Server 2003 в кластерной среде.

Используйте режим транзакции "Не требуется проверка подлинности" , в котором выполняются одно или несколько из следующих условий:

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

Требуется проверка подлинности входящего вызывающего абонента

Требуется, чтобы локальная служба DTC взаимодействовала с удаленной службой DTC, используя только зашифрованные сообщения. Проверка подлинности будет выполняться только для входящего подключения. Эту функцию поддерживают только Windows Server 2003 с пакетом обновления 1 (SP1), Windows XP с пакетом обновления 2 (SP2) и более поздние версии Windows. Поэтому включите этот параметр, только если удаленная служба DTC работает на компьютере под управлением Windows Server 2003 с пакетом обновления 1 (SP1), Windows XP с пакетом обновления 2 (SP2) или более поздней версии Windows.

Обязательная проверка подлинности входящего вызывающего абонента влияет на следующие записи реестра в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Раздел реестра 1

    • Имя значения: AllowOnlySecureRpcCalls
    • Тип значения: REG_DWORD
    • Значение данных: 0
  • Раздел реестра 2

    • Имя значения: FallbackToUnsecureRPCIfNecessary
    • Тип значения: REG_DWORD
    • Значение данных: 1
  • Раздел реестра 3

    • Имя значения: TurnOffRpcSecurity
    • Тип значения: REG_DWORD
    • Значение данных: 0

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

Проверка подлинности не требуется

Отсутствие обязательной проверки подлинности обеспечивает совместимость операционной системы между более ранними версиями операционной системы Windows. Если этот параметр включен, сетевое взаимодействие между службами DTC может вернуться к обмену данными без проверки подлинности или к незашифрованной связи, если не удается установить безопасный канал связи.

Примечание.

Этот параметр рекомендуется использовать, если удаленная служба DTC запущена на компьютере под управлением Microsoft Windows 2000 или на компьютере под управлением Windows XP, более ранней, чем Windows XP с пакетом обновления 2 (SP2).

Вы также можете использовать не требуется проверка подлинности, чтобы разрешить ситуацию, когда службы DTC выполняются на компьютерах, которые находятся в доменах, для которых не установлено отношение доверия. Кроме того, для решения ситуации, когда службы DTC выполняются на компьютерах, входящих в рабочую группу, можно использовать параметр "Не требуется проверка подлинности ".

Не требуется проверка подлинности влияет на следующие записи реестра в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Раздел реестра 1

    • Имя значения: AllowOnlySecureRpcCalls
    • Тип значения: REG_DWORD
    • Значение данных: 0
  • Раздел реестра 2

    • Имя значения: FallbackToUnsecureRPCIfNecessary
    • Тип значения: REG_DWORD
    • Значение данных: 0
  • Раздел реестра 3

    • Имя значения: TurnOffRpcSecurity
    • Тип значения: REG_DWORD
    • Значение данных: 1

Примечание.

В кластере серверов эти записи реестра находятся в общем реестре кластера.

Важность новых параметров

Новые параметры, доступные в диалоговом окне Конфигурация безопасности , позволяют применять параметры безопасности к исходящим или входящим сетевым коммуникациям. По умолчанию после установки Windows компьютер не принимает сетевой трафик. Таким образом, компьютер менее уязвим для доступа к сети злоумышленником. Кроме того, протоколы, отправляемые по сети, обновляются для поддержки более безопасного режима шифрования и взаимной проверки подлинности. Это помогает снизить вероятность того, что злоумышленник может перехватить и перехватить обмен данными между службами DTC.

Изменения сетевого взаимодействия в Windows

Сетевое взаимодействие, исходящее из службы DTC или поступающее в службу DTC, отключено. Например, если объект COM+ пытается обновить базу данных Microsoft SQL Server, расположенную на удаленном компьютере, с помощью транзакции DTC, эта транзакция не будет выполнена. И наоборот, если на компьютере размещается база данных SQL Server, к которому компоненты удаленного компьютера пытаются получить доступ с помощью транзакции DTC, эта транзакция не будет выполнена.

С службой DTC связаны следующие проблемы:

Сбой транзакций из-за проблем с сетевым подключением

Важно!

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

Если транзакции DTC завершаются сбоем из-за проблем с сетевым подключением, щелкните, чтобы выбрать следующие проверка поля в диалоговом окне Конфигурация безопасности:

  • Щелкните, чтобы выбрать проверка сетевой доступ DTC.

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

    • Разрешить входящий трафик
    • Разрешить исходящий трафик

Если вы хотите программно изменить эти параметры в составе Windows, можно напрямую изменить параметры реестра, соответствующие заданным параметрам. После изменения параметров реестра необходимо перезапустить службу DTC.

Рекомендуется не изменять реестр вручную, чтобы изменить эти параметры. При изменении этих параметров реестра вручную могут возникнуть проблемы со службой кластеров в кластерах серверов под управлением Windows Server 2003 с пакетом обновления 1 (SP1).

Брандмауэр Windows блокирует трафик DTC

Важно!

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

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

  1. Нажмите кнопку Пуск, выберите Выполнить, введитеfirewall.cpl, а затем нажмите кнопку ОК.
  2. В диалоговом окне Брандмауэр Windows перейдите на вкладку Исключения , а затем выберите Добавить программу.
  3. Выберите Обзор, найдите и выберите C:\Windows\System32\msdtc.exe, а затем нажмите кнопку Открыть.
  4. Нажмите кнопку ОК, выберите полеmsdtc.exe проверка в списке Программы и службы, если этот проверка еще не выбран, а затем нажмите кнопку ОК.

Измененные или добавленные параметры

В следующей таблице описаны записи реестра, которые были изменены после Windows XP с пакетом обновления 2 (SP2) по сравнению с более ранними версиями Windows.

Имя записи Расположение Предыдущее значение по умолчанию Значение по умолчанию Для Windows XP с пакетом обновления 2 (SP2) Возможные значения
NetworkDtcAccess HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 0 0 или 1
NetworkDtcAccessTransactions KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 0 0 или 1
NetworkDtcAccessInbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Неприменимо 0 0 или 1
NetworkDtcAccessOutbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Неприменимо 0 0 или 1
AllowOnlySecureRpcCalls HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Неприменимо 1 0 или 1
FallbackToUnsecureRPCIfNecessary HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Неприменимо 0 0 или 1
TurnOffRpcSecurity HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Неприменимо 0 0 или 1

Примечание.

Эти изменения отображаются в реестре общего кластера на серверном кластере под управлением Windows Server 2003 с пакетом обновления 1 (SP1).

Коды ошибок, связанные с изменениями службы DTC

При выполнении транзакций DTC между компьютерами может появить один из следующих кодов ошибок:

  • Код ошибки 1

    MessageId: XACT_E_NETWORK_TX_DISABLED
    MessageText:
    Диспетчер транзакций отключил поддержку удаленных или сетевых транзакций.
    #define XACT_E_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D024L)

  • Код ошибки 2

    MessageId: XACT_E_PARTNER_NETWORK_TX_DISABLED
    MessageText:
    Диспетчер транзакций партнера отключил поддержку удаленных и сетевых транзакций.
    #define XACT_E_PARTNER_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D025L)

Сфера применения

  • Windows Server 2012 R2
  • Windows 8.1
  • Windows 8
  • Windows 7
  • Windows Vista
  • Windows Server 2008
  • Windows Server 2003
  • Windows XP