Nueva funcionalidad en el servicio Coordinador de transacciones distribuidas de 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 del producto original:   Microsoft
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 tener acceso 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 en la red. En esta situación, puede recibir uno o más 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 transacción incluyen bases de datos, colas de mensajes y sistemas de archivos. Estos recursos protegidos por transacción pueden estar ubicados en un único equipo o pueden distribuirse entre muchos equipos de la red.

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

En Windows, el servicio DTC permite un mayor control sobre la comunicación de red entre equipos. De forma predeterminada, todas las comunicaciones de red están deshabilitadas. El cuadro de diálogo configuración de seguridad de DTC se ha mejorado para que pueda administrar esta configuración 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, seleccione ejecutar, escriba dcomcnfg.exey, a continuación, seleccione Aceptar.
  2. En el árbol de la consola de la herramienta administrativa Servicios de componentes, expanda servicios de componentes, expanda equipos, haga clic con el botón secundario en mi PCy, a continuación, seleccione propiedades.
  3. Seleccione la pestaña MSDTC y, a continuación, seleccione configuración de seguridad.

Nuevas opciones de configuración de seguridad

La siguiente información describe 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 a DTC desde la red

La casilla de verificación acceso a DTC desde la red permite determinar si el servicio DTC puede tener acceso a la red. La casilla de verificación acceso a DTC desde la red debe estar activada junto con una de las demás casillas de verificación del acceso a DTC desde la red para habilitar las transacciones de red DTC.

La casilla de verificación acceso a DTC desde la red afecta a la siguiente entrada del registro:

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

Nota

En un clúster de servidores, la casilla de verificación acceso a DTC desde la red afecta a un valor de la clave del registro del 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 NetworkDtcAccess entrada del registro está establecido en 0. Un valor de 0 desactiva la NetworkDtcAccess entrada del registro. Para activar la NetworkDtcAccess entrada del registro, establezca este valor del registro en 1.

Permitir entrante

La casilla de verificación Permitir entrada 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. De forma predeterminada, esta opción está desactivada. Para habilitar esta opción, haga clic para activar la casilla de verificación acceso a DTC desde la red para establecer la siguiente entrada del registro en 1:

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

Para deshabilitar esta opción, haga clic para desactivar la casilla de verificación acceso a DTC desde la red para establecer esta entrada del registro en 0.

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

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessInbound

Permitir saliente

La casilla de verificación Permitir saliente 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 opción, active la casilla de verificación acceso a DTC desde la red para establecer la siguiente entrada del registro en 1:

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

Para deshabilitar esta opción, desactive la casilla de verificación acceso a DTC desde la red para establecer esta entrada del registro en 0.

La casilla de verificación Permitir saliente afecta a las dos entradas del registro REG_DWORD siguientes en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security :

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessOutbound

Se requiere autenticación mutua

La opción required de autenticación mutua agrega compatibilidad con la autenticación mutua en Windows. La 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 los equipos cliente que ejecutan Windows XP SP2 junto con los equipos servidor que ejecutan Windows Server 2003 SP1.

La autenticación mutua necesaria 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
    • Datos 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 al usar la autenticación mutua es distinta de la que se establece mediante el uso de la autenticación de llamada entrante necesaria. Las tres opciones que aparecen en comunicación del administrador de transacciones se comportan de la siguiente manera:

  • El modo de transacción necesario para la autenticación mutua requiere que el componente de acceso remoto proporcione una conexión autenticada con el equipo local. La suplantación comprueba esta autenticació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 transacciones remotas.

  • El modo de transacción entrante requiere autenticación de llamada solo requiere que se autentique la conexión remota. Además, si el componente de acceso remoto es un servicio de 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 agrupado, la cuenta de equipo para el servicio DTC especifica el nombre de host del nodo del 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 necesario para la autenticación mutua   en un entorno con clústeres o en cualquier equipo que esté negociando transacciones con estos equipos. Puede usar el modo de transacción necesario para la autenticación mutua entre dos equipos no agrupados que ejecutan windows Server 2003 SP1 o entre dos equipos que ejecutan Windows XP SP2.

Use el modo de transacción entrante required Caller Authentication entre los equipos basados en Windows Server 2003 en un entorno en clúster.

Use el modo de transacción sin autenticación requerida en el que se cumplen una o varias de las siguientes condiciones:

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

Se requiere autenticación de autor de llamada entrante

La autenticación de llamada entrante necesaria requiere que el servicio DTC local se comunique con un servicio DTC remoto usando sólo 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 esta opción solo si el servicio DTC remoto se está ejecutando 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 necesaria 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: 1
  • Clave del registro 3

    • Nombre del valor: TurnOffRpcSecurity
    • Tipo de valor: REG_DWORD
    • Datos del valor: 0

Para obtener más información acerca de la autenticación de llamadas entrantes necesaria, consulte la sección de autenticación mutua requerida .

No se requiere autenticación

No se requiere autenticación habilitación de 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 comunicación no autenticada o a comunicación no cifrada si no se puede establecer un canal de comunicación seguro.

Nota

Le recomendamos que use esta configuración si el servicio DTC remoto se está ejecutando 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 la no 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 una relación de confianza establecida. Además, no se puede usar la 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
    • 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
    • Datos del valor: 1

Nota

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

Significado de las nuevas opciones

Las nuevas opciones disponibles en el cuadro de diálogo configuración de seguridad le permiten aplicar la configuración de seguridad a las comunicaciones de red entrantes o salientes. 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 cifrado más seguro y autenticado mutuamente. Esto ayuda a reducir la posibilidad de que un usuario malintencionado pueda interceptar y tomar el control de las comunicaciones entre los servicios de DTC.

Cambios en la comunicación de red en Windows

La comunicación de red que sale del servicio de DTC o que entra en el servicio de DTC está deshabilitada. Por ejemplo, si un objeto COM+ intenta actualizar una base de datos de Microsoft SQL Server que está ubicada 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 que los componentes de un equipo remoto intentan obtener acceso mediante una transacción de DTC, esta transacción no se realiza correctamente.

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

Las transacciones tienen un error 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 acerca de cómo realizar una copia de seguridad y restaurar el registro, vea Cómo realizar una copia de seguridad y restaurar el registro en Windows.

Si se produce un error en las transacciones de DTC debido a problemas de conectividad de red, active las siguientes casillas de verificación en el cuadro de diálogo configuración de seguridad :

  • Haga clic para activar la casilla de verificación acceso a DTC desde la red .

  • Haga clic para seleccionar una o ambas casillas de verificación de la comunicación del administrador de transacciones en función de los requisitos:

    • Permitir entrante
    • Permitir saliente

Si desea cambiar esta configuración mediante programación como parte de una ventana, puede modificar directamente la configuración del registro que corresponda a la configuración que desea establecer. Una vez modificada la configuración del registro, debe reiniciar el servicio DTC.

Le recomendamos que no modifique 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 los ataques de usuarios malintencionados o de software malintencionado, como los virus. Se recomienda el proceso que se describe en este artículo para permitir que los programas funcionen como están diseñados o para implementar capacidades de programa específicas. Antes de realizar estos cambios, le recomendamos que evalúe los riesgos asociados con la implementación de este proceso en su entorno particular. Si decide implementar este proceso, tome las medidas adicionales oportunas para ayudar a proteger el sistema. Le recomendamos que use 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, seleccione ejecutar, escriba firewall.cply, a continuación, seleccione Aceptar.
  2. En el cuadro de diálogo firewall de Windows , seleccione la ficha excepciones y, a continuación, seleccione Agregar programa.
  3. Seleccione examinar, busque y, a continuación C:\Windows\System32\msdtc.exe , seleccione y, a continuación, seleccione abrir.
  4. Seleccione Aceptar, active la casilla de verificación msdtc.exe de la lista programas y servicios si esta casilla no está activada y, a continuación, seleccione Aceptar.

Configuración que se ha cambiado o agregado

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

Nombre de la entrada Ubicación Valor predeterminado anterior Valor predeterminado de Windows XP SP2 Valores posibles
NetworkDtcAccess HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 comprendi 0 o 1
NetworkDtcAccessTransactions KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 comprendi 0 o 1
NetworkDtcAccessInbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security No aplicable comprendi 0 o 1
NetworkDtcAccessOutbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security No aplicable comprendi 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 comprendi 0 o 1
TurnOffRpcSecurity HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC No aplicable comprendi 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 códigos de error siguientes al ejecutar transacciones DTC entre equipos:

  • Código de error 1

    MessageId: XACT_E_NETWORK_TX_DISABLED
    MessageText:
    El administrador de transacción ha deshabilitado su soporte para transacciones de red o remotas.
    #definir _HRESULT_TYPEDEF_de XACT_E_NETWORK_TX_DISABLED (0x8004D024L)

  • Código de error 2

    MessageId: XACT_E_PARTNER_NETWORK_TX_DISABLED
    MessageText:
    El administrador de transacción asociado ha deshabilitado su soporte para transacciones de red o remotas.
    #definir _HRESULT_TYPEDEF_de XACT_E_PARTNER_NETWORK_TX_DISABLED (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