Compartir a través de


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 Coordinador de transacciones distribuidas de Microsoft (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), algunas actualizaciones y cambios relacionados con la seguridad se introdujeron en Windows y afectan al servicio MS DTC.

Se puede acceder a estos cambios mediante el cuadro de diálogo Configuración de seguridad actualizada 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 conmute por error 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 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:

  • Service Pack 1 (SP1) de Windows Server 2003
  • 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 único equipo o pueden distribuirse entre muchos equipos en red.

Administrar 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.exe y, a continuación, seleccione Aceptar.
  2. En el árbol de consola de la herramienta administrativa Servicios de componentes, expanda Servicios de componentes, expanda 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 siguiente información se describen las nuevas opciones disponibles en el cuadro de diálogo Configuración de seguridad. Esta información también describe las entradas del Registro afectadas por las nuevas opciones del cuadro de diálogo Configuración de seguridad.

Acceso de DTC de red

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

La casilla Acceso de DTC de red afecta a la siguiente entrada del Registro:

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

Nota

En un clúster de servidores, la casilla Acceso de 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 debe permitir una transacción distribuida que se origina desde un equipo remoto para que se ejecute en el equipo local. Esta opción se encuentra desactivada de forma predeterminada. Para habilitar esta configuración, haga clic para activar la casilla Acceso de 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 de valor: NetworkDtcAccess
  • Tipo de valor: REG_DWORD

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

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

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessInbound

Permitir salida

La casilla Permitir salida le 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 Acceso de 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 de valor: NetworkDtcAccess
  • Tipo de valor: REG_DWORD

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

La casilla Permitir salida afecta a las dos de las siguientes entradas del Registro de REG_DWORD 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 modo de seguridad más grande 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 de valor: AllowOnlySecureRpcCalls
    • Tipo de valor: REG_DWORD
    • Información del valor: 1
  • Clave del Registro 2

    • Nombre de valor: FallbackToUnsecureRPCIfNecessary
    • Tipo de valor: REG_DWORD
    • Datos del valor: 0
  • Clave del Registro 3

    • Nombre de valor: TurnOffRpcSecurity
    • Tipo de valor: REG_DWORD
    • Datos 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 del autor 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 autenticación mutua requerida requiere el componente de acceso remoto para proporcionar 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 del modo de transacción remota.

  • El modo de transacción requerido de autenticación del autor de llamada entrante 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 o comprueba si se establece una conexión autenticada.

En un entorno agrupado, la cuenta de equipo del servicio DTC especifica el nombre de host del nodo de clúster. En un entorno agrupado, la autenticación DTC no usa el nombre de host del modo de transacción. En un entorno agrupado, 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 necesaria de autenticación mutua en un entorno agrupado o en los equipos que negocian transacciones con dichos equipos. Puede usar el modo de transacción 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 requerido de autenticación de llamada entrante entre equipos basados en Windows Server 2003 en un entorno agrupado.

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 está 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 está entre equipos que son miembros de un grupo de trabajo.

Autenticación del autor de llamada entrante requerida

La autenticación del autor de llamada entrante requerida requiere el servicio DTC local para comunicarse 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, solo habilite 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 del autor 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
    • Datos 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
    • Datos del valor: 0

Para obtener más información sobre la autenticación del autor de llamada entrante requerida, consulte 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 requerida 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
    • Datos del valor: 0
  • Clave del Registro 2

    • Nombre del valor: FallbackToUnsecureRPCIfNecessary
    • Tipo de valor: REG_DWORD
    • Datos 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 servidores, estas entradas del Registro se encuentran en el registro de clúster compartido.

Importancia de las nuevas opciones

Las nuevas opciones 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 el 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 comunicación más seguro 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 de 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 de 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:

Se produce un 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. Por lo tanto, asegúrese de que sigue estos pasos con atención. Para la protección añadida, realice una copia de seguridad del Registro antes de modificarlo. A continuación, puede restaurar el Registro si se produce un problema. Para obtener más información sobre cómo realizar copias de seguridad y restaurar el registro, vea Cómo hacer copia de seguridad y restaurar el registro 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 Acceso de DTC de red.

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

    • Permitir entrada
    • Permitir salida

Si desea cambiar mediante programación esta configuració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 de clúster en clústeres de servidores 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 usuarios malintencionados o por software malintencionado, como virus. Se recomienda el proceso que en este artículo se describe para permitir que los programas funcionen a medida que están diseñados 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 su entorno concreto. Si decide implementar este proceso, realice 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 del Firewall de Windows. Para ello, realice los pasos siguientes:

  1. Seleccione Iniciar, seleccione Ejecutar, escriba firewall.cpl y, 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 de la lista Programas y servicios si esta casilla aún no está activada y, a continuación, seleccione Aceptar.

Configuración que se cambia o agrega

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

Nombre de la entrada Location Valor predeterminado anterior Valor predeterminado de Windows XP SP2 Valores posibles
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 servidores basado en Windows Server 2003 SP1.

Códigos de error asociados con 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