Nouvelles fonctionnalités du service Distributed Transaction Coordinator dans Windows

Cet article décrit certaines mises à jour et modifications liées à la sécurité Windows, ainsi que la façon dont elles affectent le service Microsoft Distributed Transaction Coordinator (MS DTC).

              Version d’origine du produit : Windows
Numéro de la base de connaissances d’origine : 899191

Résumé

Depuis Windows Server 2003 Service Pack 1 (SP1) et Windows XP Service Pack 2 (SP2), certaines mises à jour et modifications liées à la sécurité ont été introduites dans Windows et affectent le service MS DTC.

Ces modifications sont accessibles à l’aide de la boîte de dialogue Configuration de la sécurité mise à jour disponible dans l’outil d’administration Services de composants.

Ces modifications sont apportées aux paramètres de sécurité par défaut qui entraînent le basculement du trafic DTC sur le réseau. Dans ce cas, vous pouvez recevoir un ou plusieurs messages d’erreur ou codes d’erreur.

En modifiant les paramètres de la boîte de dialogue Configuration de la sécurité , vous pouvez contrôler la façon dont le service DTC communique avec les ordinateurs distants sur le réseau.

Cet article décrit les nouvelles fonctionnalités du service MS DTC dans les systèmes d’exploitation suivants :

  • 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

Le service DTC coordonne les transactions qui mettent à jour au moins deux ressources protégées par transaction. Les ressources protégées par transaction incluent des bases de données, des files d’attente de messages et des systèmes de fichiers. Ces ressources protégées par transaction peuvent se trouver sur un seul ordinateur ou être distribuées entre de nombreux ordinateurs en réseau.

Gérer la communication réseau à l’aide de security Configuration

Dans Windows, le service DTC vous permet de mieux contrôler la communication réseau entre les ordinateurs. Par défaut, toutes les communications réseau sont désactivées. La boîte de dialogue Configuration de la sécurité DTC a été améliorée afin que vous puissiez gérer ces paramètres de communication. Pour afficher la boîte de dialogue Configuration de la sécurité , procédez comme suit :

  1. Démarrez l’outil d’administration Services de composants. Pour ce faire, sélectionnez Démarrer, Exécuter, tapez dcomcnfg.exe, puis sélectionnez OK.
  2. Dans l’arborescence de console de l’outil d’administration Services de composants, développez Services de composants, Ordinateurs, cliquez avec le bouton droit sur Poste de travail, puis sélectionnez Propriétés.
  3. Sélectionnez l’onglet MSDTC , puis sélectionnez Configuration de la sécurité.

Nouvelles options dans configuration de la sécurité

Les informations suivantes décrivent les nouvelles options disponibles dans la boîte de dialogue Configuration de la sécurité . Ces informations décrivent également les entrées de Registre qui sont affectées par les nouvelles options dans la boîte de dialogue Configuration de la sécurité .

Accès DTC réseau

La zone Accès DTC réseau case activée vous permet de déterminer si le service DTC peut accéder au réseau. La zone Accès DTC réseau case activée doit être cochée avec l’une des autres zones case activée sous la zone Case activée Accès DTC réseau pour activer les transactions DTC réseau.

La zone Accès DTC réseau case activée affecte l’entrée de Registre suivante :

  • Chemin d’accès au Registre : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Nom de la valeur : NetworkDtcAccess
  • Type de valeur : REG_DWORD
  • Données de valeur : 0 (valeur par défaut)

Remarque

Sur un cluster de serveurs, la zone Accès DTC réseau case activée affecte une valeur dans la clé de Registre du cluster partagé sous la clé de Registre de la ressource MS DTC. La clé de Registre du cluster partagé pour MS DTC se trouve à l’emplacement HKEY_LOCAL_MACHINE\Cluster\Resources\<MSDTC resource GUID> .

Par défaut, la valeur de l’entrée NetworkDtcAccess de Registre est définie sur 0. La valeur 0 désactive l’entrée de NetworkDtcAccess Registre. Pour activer l’entrée de NetworkDtcAccess Registre, définissez cette valeur de Registre sur 1.

Autoriser le trafic entrant

La zone Autoriser les case activée entrants vous permet de déterminer s’il faut autoriser l’exécution d’une transaction distribuée provenant d’un ordinateur distant sur l’ordinateur local. Par défaut, ce paramètre est désactivé. Pour activer ce paramètre, activez la case à cocher Accès DTC réseau case activée pour définir l’entrée de Registre suivante sur 1 :

  • Chemin d’accès au Registre : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Nom de la valeur : NetworkDtcAccess
  • Type de valeur : REG_DWORD

Pour désactiver ce paramètre, désactivez la case à cocher Accès DTC réseau case activée pour définir cette entrée de Registre sur 0.

La zone Autoriser la case activée entrante affecte les deux entrées de Registre REG_DWORD suivantes sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessInbound

Autoriser le trafic sortant

La zone Autoriser la case activée sortante vous permet de déterminer s’il faut autoriser l’ordinateur local à lancer une transaction et à exécuter cette transaction sur un ordinateur distant. Pour activer ce paramètre, cochez la case Accès DTC réseau case activée pour définir l’entrée de Registre suivante sur 1 :

  • Chemin d’accès au Registre : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Nom de la valeur : NetworkDtcAccess
  • Type de valeur : REG_DWORD

Pour désactiver ce paramètre, désactivez la case à cocher Accès DTC réseau case activée pour définir cette entrée de Registre sur 0.

La zone Autoriser la case activée sortante affecte les deux entrées de Registre REG_DWORD suivantes sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessOutbound

Authentification mutuelle requise

L’option Authentification mutuelle requise ajoute la prise en charge de l’authentification mutuelle dans Windows. L’authentification mutuelle requise définit le meilleur mode de sécurité actuellement disponible pour la communication réseau. Nous recommandons ce mode de transaction pour les ordinateurs clients qui exécutent Windows XP SP2 avec les ordinateurs serveur exécutant Windows Server 2003 SP1.

L’authentification mutuelle requise affecte les entrées de Registre suivantes sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Clé de Registre 1

    • Nom de la valeur : AllowOnlySecureRpcCalls
    • Type de valeur : REG_DWORD
    • Données de la valeur : 1
  • Clé de Registre 2

    • Nom de la valeur : FallbackToUnsecureRPCIfNecessary
    • Type de valeur : REG_DWORD
    • Données de la valeur : 0
  • Clé de Registre 3

    • Nom de la valeur : TurnOffRpcSecurity
    • Type de valeur : REG_DWORD
    • Données de la valeur : 0

La fonctionnalité définie à l’aide de l’authentification mutuelle requise diffère de la fonctionnalité définie à l’aide de l’authentification de l’appelant entrant requis. Les trois options répertoriées sous Communication du gestionnaire de transactions se comportent comme suit :

  • Le mode de transaction Authentification mutuelle requise nécessite que le composant d’accès à distance fournisse une connexion authentifiée avec l’ordinateur local. Cette authentification est vérifiée par l’emprunt d’identité sur l’ordinateur local. En outre, si la communication d’accès à distance est effectuée entre deux services DTC, ces informations d’authentification doivent spécifier un compte d’ordinateur qui correspond au nom d’hôte de l’ordinateur en mode transactionnel distant.

  • Le mode de transaction Authentification de l’appelant entrant Nécessite uniquement l’authentification de la connexion à distance. En outre, si le composant d’accès à distance est un service DTC, les informations d’authentification doivent être relatives à un compte d’ordinateur.

  • Le mode de transaction Aucune authentification requise ne valide pas une connexion authentifiée ou ne vérifie pas si une connexion authentifiée est en cours d’établissement.

Dans un environnement en cluster, le compte d’ordinateur du service DTC spécifie le nom d’hôte du nœud de cluster. Dans un environnement en cluster, l’authentification DTC n’utilise pas le nom d’hôte du mode transaction. Dans un environnement cluster, le nom d’hôte du mode transaction est le nom du service virtuel. Par conséquent, vous ne pouvez pas utiliser le mode de transaction Authentification mutuelle requise dans un environnement en cluster ou sur les ordinateurs qui négocient des transactions avec ces ordinateurs. Vous pouvez utiliser le mode de transaction Authentification mutuelle requise entre deux ordinateurs non cluster exécutant Windows Server 2003 SP1 ou entre deux ordinateurs exécutant Windows XP SP2.

Utilisez le mode de transaction Authentification de l’appelant entrant Requis entre les ordinateurs Windows Server 2003 dans un environnement en cluster.

Utilisez le mode de transaction Aucune authentification requise où une ou plusieurs des conditions suivantes sont remplies :

  • L’accès réseau se fait entre les ordinateurs qui exécutent Microsoft Windows 2000.
  • L’accès réseau se trouve entre deux domaines qui n’ont pas d’approbation mutuelle configurée.
  • L’accès réseau se fait entre les ordinateurs membres d’un groupe de travail.

Authentification de l’appelant entrant requise

Authentification de l’appelant entrant Obligatoire , le service DTC local doit communiquer avec un service DTC distant en utilisant uniquement des messages chiffrés. Seule la connexion entrante est authentifiée. Seuls Windows Server 2003 SP1, Windows XP SP2 et les versions ultérieures de Windows prennent en charge cette fonctionnalité. Par conséquent, activez cette option uniquement si le service DTC distant s’exécute sur un ordinateur exécutant Windows Server 2003 SP1, Windows XP SP2 ou une version ultérieure de Windows.

L’authentification de l’appelant entrante obligatoire affecte les entrées de Registre suivantes sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Clé de Registre 1

    • Nom de la valeur : AllowOnlySecureRpcCalls
    • Type de valeur : REG_DWORD
    • Données de la valeur : 0
  • Clé de Registre 2

    • Nom de la valeur : FallbackToUnsecureRPCIfNecessary
    • Type de valeur : REG_DWORD
    • Données de la valeur : 1
  • Clé de Registre 3

    • Nom de la valeur : TurnOffRpcSecurity
    • Type de valeur : REG_DWORD
    • Données de la valeur : 0

Pour plus d’informations sur l’authentification de l’appelant entrant obligatoire, consultez la section Authentification mutuelle requise .

Aucune authentification requise

Aucune authentification requise permet la compatibilité du système d’exploitation entre les versions antérieures du système d’exploitation Windows. Lorsque cette option est activée, la communication réseau entre les services DTC peut revenir à une communication non authentifiée ou à une communication non chiffrée si un canal de communication sécurisé ne peut pas être établi.

Remarque

Nous vous recommandons d’utiliser ce paramètre si le service DTC distant s’exécute sur un ordinateur exécutant Microsoft Windows 2000 ou sur un ordinateur qui exécute une version de Windows XP antérieure à Windows XP SP2.

Vous pouvez également utiliser Aucune authentification requise pour résoudre une situation où les services DTC s’exécutent sur des ordinateurs qui se trouvent dans des domaines qui n’ont pas de relation d’approbation établie. En outre, vous pouvez utiliser Aucune authentification requise pour résoudre une situation où les services DTC s’exécutent sur des ordinateurs membres d’un groupe de travail.

Aucune authentification requise affecte les entrées de Registre suivantes sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Clé de Registre 1

    • Nom de la valeur : AllowOnlySecureRpcCalls
    • Type de valeur : REG_DWORD
    • Données de la valeur : 0
  • Clé de Registre 2

    • Nom de la valeur : FallbackToUnsecureRPCIfNecessary
    • Type de valeur : REG_DWORD
    • Données de la valeur : 0
  • Clé de Registre 3

    • Nom de la valeur : TurnOffRpcSecurity
    • Type de valeur : REG_DWORD
    • Données de la valeur : 1

Remarque

Sur un cluster de serveurs, ces entrées de Registre se trouvent dans le registre de cluster partagé.

Importance des nouvelles options

Les nouvelles options disponibles dans la boîte de dialogue Configuration de la sécurité vous permettent d’appliquer des paramètres de sécurité aux communications réseau sortantes ou entrantes. Par défaut, après avoir installé Windows, l’ordinateur n’accepte pas le trafic réseau. Par conséquent, l’ordinateur est moins vulnérable à l’accès réseau par un utilisateur malveillant. En outre, les protocoles envoyés sur le réseau sont mis à jour pour prendre en charge un mode de communication chiffré de manière plus sécurisée et mutuellement authentifié. Cela permet de réduire le risque qu’un utilisateur malveillant puisse intercepter et prendre en charge les communications entre les services DTC.

Modifications de la communication réseau dans Windows

La communication réseau sortant du service DTC ou entrante vers le service DTC est désactivée. Par exemple, si un objet COM+ tente de mettre à jour une base de données Microsoft SQL Server située sur un ordinateur distant à l’aide d’une transaction DTC, cette transaction échoue. À l’inverse, si l’ordinateur héberge une base de données SQL Server à laquelle les composants d’un ordinateur distant tentent d’accéder à l’aide d’une transaction DTC, cette transaction échoue.

Les problèmes suivants sont liés au service DTC :

Les transactions échouent en raison de problèmes de connectivité réseau

Importante

Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le registre avant de le modifier. Vous pouvez alors le restaurer en cas de problème. Pour plus d’informations sur la procédure de sauvegarde et de restauration du Registre, consultez l’article Comment sauvegarder et restaurer le Registre dans Windows.

Si les transactions DTC échouent en raison de problèmes de connectivité réseau, cliquez pour sélectionner les zones de case activée suivantes dans la boîte de dialogue Configuration de la sécurité :

  • Cliquez pour sélectionner la zone d’case activée Accès DTC réseau.

  • Cliquez pour sélectionner l’une ou les deux zones de case activée suivantes sous Communication du gestionnaire de transactions en fonction de vos besoins :

    • Autoriser le trafic entrant
    • Autoriser le trafic sortant

Si vous souhaitez modifier ces paramètres par programmation dans le cadre d’un windows, vous pouvez modifier directement les paramètres du Registre qui correspondent aux paramètres que vous souhaitez définir. Après avoir modifié les paramètres du Registre, vous devez redémarrer le service DTC.

Nous vous recommandons de ne pas modifier manuellement le Registre pour modifier ces paramètres. Si vous modifiez manuellement ces paramètres de Registre, vous pouvez rencontrer des problèmes avec le service de cluster sur des clusters de serveur Windows Server 2003 SP1.

Le Pare-feu Windows bloque le trafic DTC

Importante

Ces étapes peuvent augmenter votre risque de sécurité. Ces étapes peuvent également rendre l’ordinateur ou le réseau plus vulnérable aux attaques par des utilisateurs malveillants ou par des logiciels malveillants tels que des virus. Nous vous recommandons le processus décrit dans cet article pour permettre aux programmes de fonctionner comme ils sont conçus pour ou pour implémenter des fonctionnalités de programme spécifiques. Avant d’apporter ces modifications, nous vous recommandons d’évaluer les risques associés à l’implémentation de ce processus dans votre environnement particulier. Si vous décidez d’implémenter ce processus, prenez toutes les étapes supplémentaires appropriées pour protéger le système. Nous vous recommandons d’utiliser ce processus uniquement si vous en avez vraiment besoin.

Si vous utilisez le Pare-feu Windows, vous devez ajouter le service DTC à la liste des exceptions dans les paramètres du Pare-feu Windows. Pour cela, procédez comme suit :

  1. Sélectionnez Démarrer, Exécuter, tapez firewall.cpl, puis sélectionnez OK.
  2. Dans la boîte de dialogue Pare-feu Windows , sélectionnez l’onglet Exceptions , puis ajouter un programme.
  3. Sélectionnez Parcourir, recherchez, puis sélectionnez C:\Windows\System32\msdtc.exe, puis sélectionnez Ouvrir.
  4. Sélectionnez OK, sélectionnez la zonemsdtc.exe case activée dans la liste Programmes et services si cette zone case activée n’est pas déjà sélectionnée, puis sélectionnez OK.

Paramètres modifiés ou ajoutés

Le tableau suivant décrit les entrées de Registre qui ont été modifiées depuis Windows XP SP2 à partir de versions antérieures de Windows.

Nom d'entrée Emplacement Valeur par défaut précédente Valeur par défaut de Windows XP SP2 Valeurs possibles
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 Non applicable 0 0 ou 1
NetworkDtcAccessOutbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Non applicable 0 0 ou 1
AllowOnlySecureRpcCalls HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Non applicable 1 0 ou 1
FallbackToUnsecureRPCIfNecessary HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Non applicable 0 0 ou 1
TurnOffRpcSecurity HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Non applicable 0 0 ou 1

Remarque

Ces modifications apparaissent dans le registre de cluster partagé sur un cluster de serveur Windows Server 2003 SP1.

Codes d’erreur associés aux modifications du service DTC

Vous pouvez recevoir l’un des codes d’erreur suivants lorsque vous exécutez des transactions DTC entre ordinateurs :

  • Code d’erreur 1

    MessageId : XACT_E_NETWORK_TX_DISABLED
    MessageText :
    Le gestionnaire de transactions a désactivé sa prise en charge des transactions distantes/réseau.
    #define XACT_E_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D024L)

  • Code d’erreur 2

    MessageId : XACT_E_PARTNER_NETWORK_TX_DISABLED
    MessageText :
    Le gestionnaire de transactions partenaire a désactivé sa prise en charge des transactions distantes/réseau.
    #define XACT_E_PARTNER_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D025L)

S’applique à

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