Nueva funcionalidad en el servicio Coordinador de transacciones distribuidas en Windows

En este artículo se describen algunas actualizaciones y cambios relacionados con la seguridad de Windows y cómo afectan al servicio Microsoft Distributed Transaction Coordinator (MS DTC).

              Versión original del producto: Windows
Número de KB original: 899191

Resumen

Desde Windows Server 2003 Service Pack 1 (SP1) y Windows XP Service Pack 2 (SP2), se han introducido algunas actualizaciones y cambios relacionados con la seguridad en Windows y afectan al servicio MS DTC.

Se puede acceder a estos cambios mediante el cuadro de diálogo Configuración de seguridad actualizado que está disponible en la herramienta administrativa Servicios de componentes.

Estos cambios se realizan en la configuración de seguridad predeterminada que hace que el tráfico DTC realice la conmutación por error de la red. En esta situación, puede recibir uno o varios mensajes de error o códigos de error.

Al modificar la configuración en el cuadro de diálogo Configuración de seguridad , puede ayudar a controlar cómo se comunica el servicio DTC con los equipos remotos a través de la red.

En este artículo se describe la nueva funcionalidad del servicio MS DTC en los siguientes sistemas operativos:

  • 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

El servicio DTC coordina las transacciones que actualizan dos o más recursos protegidos por transacciones. Los recursos protegidos por transacciones incluyen bases de datos, colas de mensajes y sistemas de archivos. Estos recursos protegidos por transacciones pueden encontrarse en un solo equipo o se pueden distribuir entre muchos equipos en red.

Administración de la comunicación de red mediante la configuración de seguridad

En Windows, el servicio DTC proporciona más control sobre la comunicación de red entre equipos. De forma predeterminada, toda la comunicación de red está deshabilitada. El cuadro de diálogo Configuración de seguridad de DTC se ha mejorado para que pueda administrar estas opciones de comunicación. Para ver el cuadro de diálogo Configuración de seguridad , siga estos pasos:

  1. Inicie la herramienta administrativa Servicios de componentes. Para ello, seleccione Inicio, Ejecutar, escriba dcomcnfg.exey, a continuación, seleccione Aceptar.
  2. En el árbol de consola de la herramienta administrativa Servicios de componentes, expanda Servicios de componentes, equipos, haga clic con el botón derecho en Mi equipo y, a continuación, seleccione Propiedades.
  3. Seleccione la pestaña MSDTC y, a continuación, seleccione Configuración de seguridad.

Nuevas opciones en Configuración de seguridad

En la información siguiente se describen las nuevas opciones que están disponibles en el cuadro de diálogo Configuración de seguridad . Esta información también describe las entradas del Registro que se ven afectadas por las nuevas opciones del cuadro de diálogo Configuración de seguridad .

Acceso DTC de red

La casilla Acceso A DTC de red le permite determinar si el servicio DTC puede acceder a la red. La casilla Network DTC Access (Acceso DTC de red) debe estar activada junto con una de las otras casillas en la casilla Network DTC Access (Acceso DTC de red) para habilitar las transacciones de DTC de red.

La casilla Network DTC Access (Acceso A DTC de red) afecta a la siguiente entrada del Registro:

  • Ruta de acceso del Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Nombre del valor: NetworkDtcAccess
  • Tipo de valor: REG_DWORD
  • Datos de valor: 0 (valor predeterminado)

Nota:

En un clúster de servidor, la casilla Acceso A DTC de red afecta a un valor de la clave del Registro de clúster compartido en la clave del Registro de recursos de MS DTC. La clave del Registro del clúster compartido para MS DTC se encuentra en la HKEY_LOCAL_MACHINE\Cluster\Resources\<MSDTC resource GUID> ubicación.

De forma predeterminada, el valor de la entrada del NetworkDtcAccess Registro se establece en 0. Un valor de 0 desactiva la entrada del NetworkDtcAccess Registro. Para activar la entrada del NetworkDtcAccess Registro, establezca este valor del Registro en 1.

Permitir entrada

La casilla Permitir entrada le permite determinar si se va a permitir que una transacción distribuida que se origina desde un equipo remoto se ejecute en el equipo local. Esta configuración está desactivada de forma predeterminada. Para habilitar esta configuración, haga clic para activar la casilla Network DTC Access (Acceso DTC de red) para establecer la siguiente entrada del Registro en 1:

  • Ruta de acceso del Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Nombre del valor: NetworkDtcAccess
  • Tipo de valor: REG_DWORD

Para deshabilitar esta configuración, haga clic para desactivar la casilla Network DTC Access (Acceso DTC de red) para establecer esta entrada del Registro en 0.

La casilla Permitir entrada afecta a las dos entradas de registro de REG_DWORD siguientes en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessInbound

Permitir salida

La casilla Permitir salida permite determinar si se permite que el equipo local inicie una transacción y ejecute esa transacción en un equipo remoto. Para habilitar esta configuración, active la casilla Network DTC Access (Acceso DTC de red ) para establecer la siguiente entrada del Registro en 1:

  • Ruta de acceso del Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Nombre del valor: NetworkDtcAccess
  • Tipo de valor: REG_DWORD

Para deshabilitar esta configuración, desactive la casilla Network DTC Access (Acceso DTC de red ) para establecer esta entrada del Registro en 0.

La casilla Permitir salida afecta a las dos entradas de registro de REG_DWORD siguientes en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessOutbound

Autenticación mutua requerida

La opción Autenticación mutua requerida agrega compatibilidad con la autenticación mutua en Windows. Autenticación mutua requerida establece el mejor modo de seguridad que está disponible actualmente para la comunicación de red. Se recomienda este modo de transacción para equipos cliente que ejecutan Windows XP SP2 junto con equipos servidor que ejecutan Windows Server 2003 SP1.

La autenticación mutua requerida afecta a las siguientes entradas del Registro en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Clave del Registro 1

    • Nombre del valor: AllowOnlySecureRpcCalls
    • Tipo de valor: REG_DWORD
    • Información del valor: 1
  • Clave del Registro 2

    • Nombre del valor: FallbackToUnsecureRPCIfNecessary
    • Tipo de valor: REG_DWORD
    • Información del valor: 0
  • Clave del Registro 3

    • Nombre del valor: TurnOffRpcSecurity
    • Tipo de valor: REG_DWORD
    • Información del valor: 0

La funcionalidad que se establece mediante la autenticación mutua requerida difiere de la funcionalidad que se establece mediante la autenticación de llamada entrante requerida. Las tres opciones que aparecen en Comunicación del Administrador de transacciones se comportan de la siguiente manera:

  • El modo de transacción de autenticación mutua requerida requiere que el componente de acceso remoto proporcione una conexión autenticada con el equipo local. Esta autenticación se comprueba mediante la suplantación en el equipo local. Además, si la comunicación de acceso remoto se realiza entre dos servicios DTC, esta información de autenticación debe especificar una cuenta de equipo que coincida con el nombre de host del equipo en modo de transacción remota.

  • El modo de transacción De autenticación de llamada entrante requerida solo requiere que se autentique la conexión remota. Además, si el componente de acceso remoto es un servicio DTC, la información de autenticación debe ser para una cuenta de equipo.

  • El modo de transacción Sin autenticación requerida no valida una conexión autenticada ni comprueba si se está estableciendo una conexión autenticada.

En un entorno clúster, la cuenta de equipo del servicio DTC especifica el nombre de host del nodo de clúster. En un entorno clúster, la autenticación DTC no usa el nombre de host del modo de transacción. En un entorno clúster, el nombre de host del modo de transacción es el nombre del servicio virtual. Por lo tanto, no puede usar el modo de transacción de autenticación mutua requerida en un entorno en clúster ni en ningún equipo que esté negociando transacciones con dichos equipos. Puede usar el modo de transacción de autenticación mutua requerida entre dos equipos no clúster que ejecutan Windows Server 2003 SP1 o entre dos equipos que ejecutan Windows XP SP2.

Use el modo de transacción De autenticación de llamada entrante requerida entre equipos basados en Windows Server 2003 en un entorno en clúster.

Use el modo de transacción Sin autenticación requerida , donde se cumplen una o varias de las condiciones siguientes:

  • El acceso a la red se realiza entre equipos que ejecutan Microsoft Windows 2000.
  • El acceso a la red está entre dos dominios que no tienen configurada una confianza mutua.
  • El acceso a la red se realiza entre equipos que son miembros de un grupo de trabajo.

Se requiere autenticación de autor de llamada entrante

La autenticación de llamada entrante requerida requiere que el servicio DTC local se comunique con un servicio DTC remoto mediante solo mensajes cifrados. Solo se autenticará la conexión entrante. Solo Windows Server 2003 SP1, Windows XP SP2 y la versión posterior de Windows admiten esta característica. Por lo tanto, habilite solo esta opción si el servicio DTC remoto se ejecuta en un equipo que ejecuta Windows Server 2003 SP1, Windows XP SP2 o una versión posterior de Windows.

La autenticación de llamada entrante requerida afecta a las siguientes entradas del Registro en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Clave del Registro 1

    • Nombre del valor: AllowOnlySecureRpcCalls
    • Tipo de valor: REG_DWORD
    • Información del valor: 0
  • Clave del Registro 2

    • Nombre del valor: FallbackToUnsecureRPCIfNecessary
    • Tipo de valor: REG_DWORD
    • Información del valor: 1
  • Clave del Registro 3

    • Nombre del valor: TurnOffRpcSecurity
    • Tipo de valor: REG_DWORD
    • Información del valor: 0

Para obtener más información sobre la autenticación de autor de llamada entrante requerida, vea la sección Autenticación mutua requerida .

No se requiere autenticación

No se requiere autenticación permite la compatibilidad del sistema operativo entre versiones anteriores del sistema operativo Windows. Cuando esta opción está habilitada, la comunicación de red entre los servicios DTC puede revertir a la comunicación no autenticada o a la comunicación no cifrada si no se puede establecer un canal de comunicación seguro.

Nota:

Se recomienda usar esta configuración si el servicio DTC remoto se ejecuta en un equipo que ejecuta Microsoft Windows 2000 o en un equipo que ejecuta una versión de Windows XP anterior a Windows XP SP2.

También puede usar Sin autenticación necesaria para resolver una situación en la que los servicios DTC se ejecutan en equipos que están en dominios que no tienen establecida una relación de confianza. Además, puede usar Sin autenticación necesaria para resolver una situación en la que los servicios DTC se ejecutan en equipos que son miembros de un grupo de trabajo.

No se requiere autenticación afecta a las siguientes entradas del Registro en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Clave del Registro 1

    • Nombre del valor: AllowOnlySecureRpcCalls
    • Tipo de valor: REG_DWORD
    • Información del valor: 0
  • Clave del Registro 2

    • Nombre del valor: FallbackToUnsecureRPCIfNecessary
    • Tipo de valor: REG_DWORD
    • Información del valor: 0
  • Clave del Registro 3

    • Nombre del valor: TurnOffRpcSecurity
    • Tipo de valor: REG_DWORD
    • Información del valor: 1

Nota:

En un clúster de servidor, estas entradas del Registro se encuentran en el registro de clúster compartido.

Importancia de las nuevas opciones

Las nuevas opciones que están disponibles en el cuadro de diálogo Configuración de seguridad permiten aplicar la configuración de seguridad a las comunicaciones de red salientes o entrantes. De forma predeterminada, después de instalar Windows, el equipo no acepta tráfico de red. Por lo tanto, el equipo es menos vulnerable al acceso a la red por parte de un usuario malintencionado. Además, los protocolos que se envían a través de la red se actualizan para admitir un modo de comunicaciones más seguro cifrado y autenticado mutuamente. Esto ayuda a reducir la posibilidad de que un usuario malintencionado pueda interceptar y asumir las comunicaciones entre los servicios DTC.

Cambios en la comunicación de red en Windows

La comunicación de red que sale del servicio DTC o entra en el servicio DTC está deshabilitada. Por ejemplo, si un objeto COM+ intenta actualizar una base de datos de Microsoft SQL Server que se encuentra en un equipo remoto mediante una transacción DTC, esta transacción no se realiza correctamente. Por el contrario, si el equipo hospeda una base de datos SQL Server a la que los componentes de un equipo remoto intentan acceder mediante una transacción DTC, esta transacción no se realiza correctamente.

Los siguientes problemas están relacionados con el servicio DTC:

Error en las transacciones debido a problemas de conectividad de red

Importante

Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. En consecuencia, asegúrese de seguir estos pasos cuidadosamente. Para mayor protección, cree una copia de seguridad del registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información sobre cómo hacer una copia de seguridad del Registro y cómo restaurarlo, consulte Cómo realizar una copia de seguridad del Registro y restaurarlo en Windows.

Si se produce un error en las transacciones DTC debido a problemas de conectividad de red, haga clic para activar las siguientes casillas en el cuadro de diálogo Configuración de seguridad :

  • Haga clic para activar la casilla Network DTC Access (Acceso de DTC de red).

  • Haga clic para seleccionar una o ambas de las siguientes casillas en Comunicación del Administrador de transacciones según sus requisitos:

    • Permitir entrada
    • Permitir salida

Si desea cambiar esta configuración mediante programación como parte de Windows, puede modificar directamente la configuración del Registro que corresponda a la configuración que desea establecer. Después de modificar la configuración del Registro, debe reiniciar el servicio DTC.

Se recomienda no modificar manualmente el registro para cambiar esta configuración. Si modifica manualmente esta configuración del Registro, puede experimentar problemas con el servicio cluster en clústeres de servidor basados en Windows Server 2003 SP1.

Firewall de Windows bloquea el tráfico DTC

Importante

Estos pasos pueden aumentar el riesgo de seguridad. Estos pasos también pueden hacer que el equipo o la red sean más vulnerables a ataques por parte de usuarios malintencionados o por software malintencionado, como virus. Se recomienda el proceso que se describe en este artículo para permitir que los programas funcionen a medida que están diseñados para o para implementar funcionalidades de programa específicas. Antes de realizar estos cambios, se recomienda evaluar los riesgos asociados a la implementación de este proceso en un entorno determinado. Si decide implementar este proceso, siga los pasos adicionales adecuados para ayudar a proteger el sistema. Se recomienda usar este proceso solo si realmente necesita este proceso.

Si usa Firewall de Windows, debe agregar el servicio DTC a la lista de excepciones en la configuración de Firewall de Windows. Para ello, siga estos pasos:

  1. Seleccione Inicio, Ejecutar, escriba firewall.cply, a continuación, seleccione Aceptar.
  2. En el cuadro de diálogo Firewall de Windows , seleccione la pestaña Excepciones y, a continuación, seleccione Agregar programa.
  3. Seleccione Examinar, busque y, a continuación, seleccione C:\Windows\System32\msdtc.exey, a continuación, seleccione Abrir.
  4. Seleccione Aceptar, active la casilla msdtc.exe en la lista Programas y servicios si esta casilla aún no está seleccionada y, a continuación, seleccione Aceptar.

Configuración que se cambia o se agrega

En la tabla siguiente se describen las entradas del Registro que se han cambiado desde Windows XP SP2 de versiones anteriores de Windows.

Nombre de la entrada Ubicación Valor predeterminado anterior Valor predeterminado de Windows XP SP2 Posibles valores
NetworkDtcAccess HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 0 0 o 1
NetworkDtcAccessTransactions KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 0 0 o 1
NetworkDtcAccessInbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security No aplicable 0 0 o 1
NetworkDtcAccessOutbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security No aplicable 0 0 o 1
AllowOnlySecureRpcCalls HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC No aplicable 1 0 o 1
FallbackToUnsecureRPCIfNecessary HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC No aplicable 0 0 o 1
TurnOffRpcSecurity HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC No aplicable 0 0 o 1

Nota:

Estos cambios aparecen en el registro de clúster compartido en un clúster de servidor basado en Windows Server 2003 SP1.

Códigos de error asociados a los cambios del servicio DTC

Puede recibir uno de los siguientes códigos de error al ejecutar transacciones DTC entre equipos:

  • Código de error 1

    MessageId: XACT_E_NETWORK_TX_DISABLED
    MessageText:
    El administrador de transacciones ha deshabilitado su compatibilidad con transacciones remotas o de red.
    #define XACT_E_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D024L)

  • Código de error 2

    MessageId: XACT_E_PARTNER_NETWORK_TX_DISABLED
    MessageText:
    El administrador de transacciones del asociado ha deshabilitado su compatibilidad con transacciones remotas o de red.
    #define XACT_E_PARTNER_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D025L)

Se aplica a

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