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

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

Исходная версия продукта:   Под
Исходный номер статьи базы знаний:   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

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

Флажок сетевой доступ DTC влияет на следующую запись реестра:

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

Примечание

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

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

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

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

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

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

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

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessInbound

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

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

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

Чтобы отключить этот параметр, снимите флажок доступ к сети DTC , чтобы присвоить этому параметру реестра значение 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 SP1, Windows XP с пакетом обновления 2 (SP2) и более поздних версий Windows. Таким образом, только если удаленная служба DTC запущена на компьютере под управлением Windows Server 2003 с пакетом обновления 1 (SP1), Windows XP с пакетом обновления 2 (SP2) или более поздней версии, следует включить этот параметр.

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

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

    • Имя значения: Алловонлисекурерпккаллс
    • Тип значения: REG_DWORD
    • Данные значения: 0
  • Раздел реестра 2

    • Имя значения: ФаллбакктаунсекурерпЦифнецессари
    • Тип значения: REG_DWORD
    • Данные значения: 1
  • Раздел реестра 3

    • Имя значения: Турноффрпксекурити
    • Тип значения: REG_DWORD
    • Данные значения: 0

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

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

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

Примечание

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

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

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

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

    • Имя значения: Алловонлисекурерпккаллс
    • Тип значения: REG_DWORD
    • Данные значения: 0
  • Раздел реестра 2

    • Имя значения: ФаллбакктаунсекурерпЦифнецессари
    • Тип значения: REG_DWORD
    • Данные значения: 0
  • Раздел реестра 3

    • Имя значения: Турноффрпксекурити
    • Тип значения: 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 Возможные значения
нетворкдткакцесс HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1,1 нуль 0 или 1
нетворкдткакцесстрансактионс KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1,1 нуль 0 или 1
нетворкдткакцессинбаунд HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Неприменимо нуль 0 или 1
нетворкдткакцессаутбаунд HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Неприменимо нуль 0 или 1
алловонлисекурерпккаллс HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Неприменимо 1,1 0 или 1
фаллбакктаунсекурерпЦифнецессари HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Неприменимо нуль 0 или 1
турноффрпксекурити HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Неприменимо нуль 0 или 1

Примечание

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

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

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

  • Код ошибки 1

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

  • Код ошибки 2

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

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

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