Nova funcionalidade no serviço Coordenador de Transações Distribuídas no Windows

Este artigo descreve algumas atualizações e alterações relacionadas à segurança do Windows e como elas afetam o serviço MS DTC (Coordenador de Transações Distribuídas da Microsoft).

Versão original do produto: Windows
Número de KB original: 899191

Resumo

Desde o Windows Server 2003 Service Pack 1 (SP1) e o Windows XP Service Pack 2 (SP2), algumas atualizações e alterações relacionadas à segurança foram introduzidas no Windows e afetam o serviço MS DTC.

Essas alterações podem ser acessadas usando a caixa de diálogo Configuração de Segurança atualizada que está disponível na ferramenta administrativa do Component Services.

Essas alterações são feitas nas configurações de segurança padrão que fazem com que o tráfego DTC falhe na rede. Nessa situação, você pode receber uma ou mais mensagens de erro ou códigos de erro.

Modificando as configurações na caixa de diálogo Configuração de Segurança , você pode ajudar a controlar como o serviço DTC se comunica com computadores remotos pela rede.

Este artigo descreve a nova funcionalidade no serviço DTC ms nos seguintes sistemas operacionais:

  • Windows Server 2003 Service Pack 1 (SP1)
  • Windows XP Service Pack 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

O serviço DTC coordena transações que atualizam dois ou mais recursos protegidos por transações. Os recursos protegidos por transações incluem bancos de dados, filas de mensagens e sistemas de arquivos. Esses recursos protegidos por transações podem estar localizados em um único computador ou podem ser distribuídos entre muitos computadores em rede.

Gerenciar a comunicação de rede usando a Configuração de Segurança

No Windows, o serviço DTC oferece mais controle sobre a comunicação de rede entre computadores. Por padrão, toda a comunicação de rede está desabilitada. A caixa de diálogo Configuração de Segurança do DTC foi aprimorada para que você possa gerenciar essas configurações de comunicação. Para exibir a caixa de diálogo Configuração de Segurança , siga estas etapas:

  1. Inicie a ferramenta administrativa do Component Services. Para fazer isso, selecione Iniciar, selecione Executar, digite dcomcnfg.exee selecione OK.
  2. Na árvore de console da ferramenta administrativa Component Services, expanda Serviços de Componentes, expanda Computadores, clique com o botão direito do mouse em Meu Computador e selecione Propriedades.
  3. Selecione a guia MSDTC e selecione Configuração de Segurança.

Novas opções na Configuração de Segurança

As informações a seguir descrevem as novas opções disponíveis na caixa de diálogo Configuração de Segurança . Essas informações também descrevem as entradas do registro afetadas pelas novas opções na caixa de diálogo Configuração de Segurança .

Acesso dtc de rede

A caixa de marcar de Acesso do DTC de Rede permite determinar se o serviço DTC pode acessar a rede. A caixa marcar de Acesso do DTC de Rede deve ser selecionada junto com uma das outras caixas de marcar na caixa de marcar de Acesso do DTC de Rede para habilitar transações DTC de rede.

A caixa de marcar de Acesso do DTC de Rede afeta a seguinte entrada do registro:

  • Caminho do registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Nome do valor: NetworkDtcAccess
  • Tipo de valor: REG_DWORD
  • Dados de valor: 0 (padrão)

Observação

Em um cluster de servidor, a caixa acesso do DTC de rede marcar afeta um valor na chave do registro de cluster compartilhado sob a chave do registro de recursos do MS DTC. A chave do registro do cluster compartilhado para MS DTC está localizada no HKEY_LOCAL_MACHINE\Cluster\Resources\<MSDTC resource GUID> local.

Por padrão, o valor da entrada do NetworkDtcAccess registro é definido como 0. Um valor de 0 desativa a entrada do NetworkDtcAccess registro. Para ativar a entrada do NetworkDtcAccess registro, defina esse valor de registro como 1.

Permitir entrada

A caixa Permitir marcar de Entrada permite determinar se é possível permitir que uma transação distribuída originária de um computador remoto seja executada no computador local. Por padrão, essa configuração é desabilitada. Para habilitar essa configuração, clique para selecionar a caixa Acesso do DTC de Rede marcar para definir a seguinte entrada de registro como 1:

  • Caminho do registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Nome do valor: NetworkDtcAccess
  • Tipo de valor: REG_DWORD

Para desabilitar essa configuração, clique para limpar a caixa marcar de Acesso do DTC de Rede para definir essa entrada do registro como 0.

A caixa Permitir marcar de Entrada afeta as duas entradas do registro de REG_DWORD a seguir em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessInbound

Permitir saída

A caixa Permitir saída marcar permite determinar se o computador local deve iniciar uma transação e executar essa transação em um computador remoto. Para habilitar essa configuração, selecione a caixa Acesso do DTC de Rede marcar para definir a seguinte entrada do registro como 1:

  • Caminho do registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Nome do valor: NetworkDtcAccess
  • Tipo de valor: REG_DWORD

Para desabilitar essa configuração, desmarque a caixa Acesso do DTC de Rede marcar para definir essa entrada de registro como 0.

A caixa Permitir marcar de Saída afeta as duas entradas do registro REG_DWORD a seguir em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessOutbound

Autenticação mútua necessária

A opção Autenticação Mútua Necessária adiciona suporte para autenticação mútua no Windows. A Autenticação Mútua Necessária define o melhor modo de segurança que está disponível atualmente para comunicação de rede. Recomendamos esse modo de transação para computadores cliente que estão executando o Windows XP SP2 junto com computadores de servidor que estão executando o Windows Server 2003 SP1.

A Autenticação Mútua Necessária afeta as seguintes entradas de registro em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Chave do Registro 1

    • Nome do valor: AllowOnlySecureRpcCalls
    • Tipo de valor: REG_DWORD
    • Dados de valor: 1
  • Chave do Registro 2

    • Nome do valor: FallbackToUnsecureRPCIfNecessary
    • Tipo de valor: REG_DWORD
    • Dados de valor: 0
  • Chave do Registro 3

    • Nome do valor: TurnOffRpcSecurity
    • Tipo de valor: REG_DWORD
    • Dados de valor: 0

A funcionalidade definida usando a Autenticação Mútua Necessária difere da funcionalidade definida usando a Autenticação de Chamador de Entrada Necessária. As três opções listadas em Comunicação do Transaction Manager se comportam da seguinte maneira:

  • O modo de transação Necessário de Autenticação Mútua requer que o componente de acesso remoto forneça uma conexão autenticada com o computador local. Essa autenticação é verificada por representação no computador local. Além disso, se a comunicação de acesso remoto for executada entre dois serviços DTC, essas informações de autenticação deverão especificar uma conta de computador que corresponda ao nome do host do computador do modo de transação remota.

  • O modo de transação Obrigatório de Autenticação de Chamador de Entrada requer apenas que a conexão remota seja autenticada. Além disso, se o componente de acesso remoto for um serviço DTC, as informações de autenticação devem ser para uma conta de computador.

  • O modo de transação Sem Autenticação Necessária não valida uma conexão autenticada nem verifica se uma conexão autenticada está sendo estabelecida.

Em um ambiente clusterizado, a conta de computador do serviço DTC especifica o nome do host do nó de cluster. Em um ambiente clusterizado, a autenticação DTC não usa o nome do host do modo de transação. Em um ambiente clusterizado, o nome do host do modo de transação é o nome do serviço virtual. Portanto, você não pode usar o modo de transação obrigatório de autenticação mútua em um ambiente clusterizado ou em qualquer computador que esteja negociando transações com esses computadores. Você pode usar o modo de transação Obrigatório de Autenticação Mútua entre dois computadores nãoclusos que estão executando o Windows Server 2003 SP1 ou entre dois computadores que estão executando o Windows XP SP2.

Use o modo de transação obrigatório de autenticação de chamador de entrada entre computadores baseados no Windows Server 2003 em um ambiente clusterizado.

Use o modo de transação Sem Autenticação Necessária em que uma ou mais das seguintes condições são verdadeiras:

  • O acesso à rede é entre computadores que estão executando o Microsoft Windows 2000.
  • O acesso à rede é entre dois domínios que não têm uma confiança mútua configurada.
  • O acesso à rede é entre computadores que são membros de um grupo de trabalho.

Autenticação de chamador de entrada necessária

A autenticação de chamador de entrada necessária requer que o serviço DTC local se comunique com um serviço DTC remoto usando apenas mensagens criptografadas. Somente a conexão de entrada será autenticada. Somente o Windows Server 2003 SP1, o Windows XP SP2 e a versão posterior do Windows dão suporte a esse recurso. Portanto, só habilite essa opção se o serviço DTC remoto estiver em execução em um computador que está executando o Windows Server 2003 SP1, Windows XP SP2 ou versão posterior do Windows.

A autenticação de chamador de entrada necessária afeta as seguintes entradas HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTCdo registro em :

  • Chave do Registro 1

    • Nome do valor: AllowOnlySecureRpcCalls
    • Tipo de valor: REG_DWORD
    • Dados de valor: 0
  • Chave do Registro 2

    • Nome do valor: FallbackToUnsecureRPCIfNecessary
    • Tipo de valor: REG_DWORD
    • Dados de valor: 1
  • Chave do Registro 3

    • Nome do valor: TurnOffRpcSecurity
    • Tipo de valor: REG_DWORD
    • Dados de valor: 0

Para obter mais informações sobre a Autenticação de Chamador de Entrada Necessária, consulte a seção Autenticação Mútua Necessária .

Nenhuma autenticação necessária

Nenhuma autenticação necessária permite a compatibilidade do sistema operacional entre versões anteriores do sistema operacional Windows. Quando essa opção está habilitada, a comunicação de rede entre os serviços DTC pode voltar à comunicação não autenticada ou à comunicação não criptografada se um canal de comunicação seguro não puder ser estabelecido.

Observação

Recomendamos que você use essa configuração se o serviço DTC remoto estiver em execução em um computador que esteja executando o Microsoft Windows 2000 ou em um computador que esteja executando uma versão do Windows XP anterior ao Windows XP SP2.

Você também pode usar Nenhuma Autenticação Necessária para resolve uma situação em que os serviços DTC estão em execução em computadores que estão em domínios que não têm uma relação de confiança estabelecida. Além disso, você pode usar Nenhuma Autenticação Necessária para resolve uma situação em que os serviços DTC estão em execução em computadores que são membros de um grupo de trabalho.

Nenhuma autenticação necessária afeta as seguintes entradas de registro em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Chave do Registro 1

    • Nome do valor: AllowOnlySecureRpcCalls
    • Tipo de valor: REG_DWORD
    • Dados de valor: 0
  • Chave do Registro 2

    • Nome do valor: FallbackToUnsecureRPCIfNecessary
    • Tipo de valor: REG_DWORD
    • Dados de valor: 0
  • Chave do Registro 3

    • Nome do valor: TurnOffRpcSecurity
    • Tipo de valor: REG_DWORD
    • Dados de valor: 1

Observação

Em um cluster de servidor, essas entradas de registro estão localizadas no registro de cluster compartilhado.

Significado das novas opções

As novas opções disponíveis na caixa de diálogo Configuração de Segurança permitem que você aplique configurações de segurança às comunicações de rede de saída ou de entrada. Por padrão, depois de instalar o Windows, o computador não aceita o tráfego de rede. Portanto, o computador é menos vulnerável ao acesso à rede por um usuário mal-intencionado. Além disso, os protocolos enviados pela rede são atualizados para dar suporte a um modo de comunicação criptografado e mutuamente autenticado com mais segurança. Isso ajuda a reduzir a chance de que um usuário mal-intencionado possa interceptar e assumir as comunicações entre os serviços DTC.

Alterações de comunicação de rede no Windows

A comunicação de rede que sai do serviço DTC ou entra no serviço DTC está desabilitada. Por exemplo, se um objeto COM+ tentar atualizar um banco de dados do Microsoft SQL Server localizado em um computador remoto usando uma transação DTC, essa transação não terá êxito. Por outro lado, se o computador hospeda um banco de dados SQL Server que os componentes de um computador remoto tentam acessar usando uma transação DTC, essa transação não terá êxito.

Os seguintes problemas estão relacionados ao serviço DTC:

As transações falham devido a problemas de conectividade de rede

Importante

Esta seção, método ou tarefa contém etapas que descrevem como modificar o Registro. Entretanto, sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Portanto, siga essas etapas cuidadosamente. Para mais proteção, faça o backup do registro antes de modificá-lo. Em seguida, você poderá restaurar o registro se ocorrer um problema. Para saber mais sobre como fazer o backup e restaurar o registro, consulte Como fazer o backup e restaurar o registro no Windows.

Se as transações DTC falharem devido a problemas de conectividade de rede, clique para selecionar as seguintes caixas de marcar na caixa de diálogo Configuração de Segurança:

  • Clique para selecionar a caixa de marcar de Acesso do DTC de Rede.

  • Clique para selecionar uma ou as duas caixas de marcar a seguir em Comunicação do Gerenciador de Transações, dependendo de seus requisitos:

    • Permitir entrada
    • Permitir saída

Se você quiser alterar programaticamente essas configurações como parte de um Windows, poderá modificar diretamente as configurações do registro que correspondem às configurações que você deseja definir. Depois de modificar as configurações do registro, você deve reiniciar o serviço DTC.

Recomendamos que você não modifique manualmente o registro para alterar essas configurações. Se você modificar manualmente essas configurações de registro, poderá ter problemas com o serviço cluster em clusters de servidor baseados no Windows Server 2003 SP1.

O Firewall do Windows bloqueia o tráfego DTC

Importante

Essas etapas podem aumentar o risco de segurança. Essas etapas também podem tornar o computador ou a rede mais vulnerável a ataques de usuários mal-intencionados ou por softwares mal-intencionados, como vírus. Recomendamos o processo que este artigo descreve para permitir que os programas operem à medida que são projetados para ou para implementar recursos específicos do programa. Antes de fazer essas alterações, recomendamos que você avalie os riscos associados à implementação desse processo em seu ambiente específico. Se você decidir implementar esse processo, siga as etapas adicionais apropriadas para ajudar a proteger o sistema. Recomendamos que você use esse processo somente se realmente precisar desse processo.

Se você usar o Firewall do Windows, deverá adicionar o serviço DTC à lista de exceções nas configurações do Firewall do Windows. Para fazer isso, siga estas etapas:

  1. Selecione Iniciar, selecione Executar, digite firewall.cple selecione OK.
  2. Na caixa de diálogo Firewall do Windows , selecione a guia Exceções e selecione Adicionar Programa.
  3. Selecione Procurar, localize e selecione C:\Windows\System32\msdtc.exe, e selecione Abrir.
  4. Selecione OK, selecione a caixa msdtc.exe marcar na lista Programas e Serviços se essa caixa de marcar ainda não estiver selecionada e selecione OK.

Configurações que são alteradas ou adicionadas

A tabela a seguir descreve as entradas do registro que são alteradas desde o Windows XP SP2 de versões anteriores do Windows.

Nome da entrada Localização Valor padrão anterior Valor padrão do Windows XP SP2 Valores possíveis
NetworkDtcAccess HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 0 0 ou 1
NetworkDtcAccessTransactions KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 0 0 ou 1
NetworkDtcAccessInbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Não aplicável 0 0 ou 1
NetworkDtcAccessOutbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Não aplicável 0 0 ou 1
AllowOnlySecureRpcCalls HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Não aplicável 1 0 ou 1
FallbackToUnsecureRPCIfNecessary HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Não aplicável 0 0 ou 1
TurnOffRpcSecurity HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Não aplicável 0 0 ou 1

Observação

Essas alterações aparecem no registro de cluster compartilhado em um cluster de servidor baseado no Windows Server 2003 SP1.

Códigos de erro associados às alterações do serviço DTC

Você pode receber um dos seguintes códigos de erro ao executar transações DTC entre computadores:

  • Código de erro 1

    MessageId: XACT_E_NETWORK_TX_DISABLED
    Messagetext:
    O gerenciador de transações desabilitou seu suporte para transações remotas/de rede.
    #define XACT_E_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D024L)

  • Código de erro 2

    MessageId: XACT_E_PARTNER_NETWORK_TX_DISABLED
    Messagetext:
    O gerenciador de transações do parceiro desabilitou seu suporte para transações remotas/de rede.
    #define XACT_E_PARTNER_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D025L)

Aplicável a

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