Neue Funktionalität im Distributed Transaction Coordinator-Dienst in Windows

In diesem Artikel werden einige windows-sicherheitsbezogene Updates und Änderungen sowie deren Auswirkungen auf den Microsoft Distributed Transaction Coordinator -Dienst (MS DTC) beschrieben.

              Originalversion des Produkts: Windows
Ursprüngliche KB-Nummer: 899191

Zusammenfassung

Seit Windows Server 2003 Service Pack 1 (SP1) und Windows XP Service Pack 2 (SP2) wurden einige sicherheitsbezogene Updates und Änderungen an Windows eingeführt, die sich auf den MS DTC-Dienst auswirken.

Auf diese Änderungen kann mithilfe des aktualisierten Dialogfelds Sicherheitskonfiguration zugegriffen werden, das im Verwaltungstool Komponentendienste verfügbar ist.

Diese Änderungen werden an den Standardsicherheitseinstellungen vorgenommen, die dazu führen, dass DTC-Datenverkehr ein Failover über das Netzwerk verursacht. In diesem Fall erhalten Sie möglicherweise eine oder mehrere Fehlermeldungen oder Fehlercodes.

Durch Ändern der Einstellungen im Dialogfeld Sicherheitskonfiguration können Sie steuern, wie der DTC-Dienst mit Remotecomputern über das Netzwerk kommuniziert.

In diesem Artikel werden neue Funktionen im MS DTC-Dienst in den folgenden Betriebssystemen beschrieben:

  • 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

Der DTC-Dienst koordiniert Transaktionen, die mindestens zwei transaktionsgeschützte Ressourcen aktualisieren. Zu den transaktionsgeschützten Ressourcen gehören Datenbanken, Nachrichtenwarteschlangen und Dateisysteme. Diese transaktionsgeschützten Ressourcen befinden sich möglicherweise auf einem einzelnen Computer oder werden auf viele Computer im Netzwerk verteilt.

Verwalten der Netzwerkkommunikation mithilfe der Sicherheitskonfiguration

Unter Windows bietet ihnen der DTC-Dienst mehr Kontrolle über die Netzwerkkommunikation zwischen Computern. Standardmäßig ist die gesamte Netzwerkkommunikation deaktiviert. Das Dialogfeld DTC-Sicherheitskonfiguration wurde erweitert, sodass Sie diese Kommunikationseinstellungen verwalten können. Führen Sie die folgenden Schritte aus, um das Dialogfeld Sicherheitskonfiguration anzuzeigen:

  1. Starten Sie das Verwaltungstool Komponentendienste. Wählen Sie hierzu Start aus, wählen Sie Ausführen aus, geben Siedcomcnfg.exeein, und klicken Sie dann auf OK.
  2. Erweitern Sie in der Konsolenstruktur des Verwaltungstools Komponentendienste, erweitern Sie Computer, klicken Sie mit der rechten Maustaste auf Arbeitsplatz, und wählen Sie dann Eigenschaften aus.
  3. Wählen Sie die Registerkarte MSDTC und dann Sicherheitskonfiguration aus.

Neue Optionen in der Sicherheitskonfiguration

In den folgenden Informationen werden die neuen Optionen beschrieben, die im Dialogfeld Sicherheitskonfiguration verfügbar sind. Diese Informationen beschreiben auch die Registrierungseinträge, die von den neuen Optionen im Dialogfeld Sicherheitskonfiguration betroffen sind.

Netzwerk-DTC-Zugriff

Mit dem Kontrollkästchen Netzwerk-DTC-Zugriff können Sie bestimmen, ob der DTC-Dienst auf das Netzwerk zugreifen kann. Das Kontrollkästchen Netzwerk-DTC-Zugriff muss zusammen mit einem der anderen Kontrollkästchen unter dem Kontrollkästchen Netzwerk-DTC-Zugriff aktiviert werden, um DTC-Netzwerktransaktionen zu aktivieren.

Das Kontrollkästchen Netzwerk-DTC-Zugriff wirkt sich auf den folgenden Registrierungseintrag aus:

  • Registrierungspfad: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Wertname: NetworkDtcAccess
  • Werttyp: REG_DWORD
  • Wertdaten: 0 (Standard)

Hinweis

In einem Servercluster wirkt sich das Kontrollkästchen Netzwerk-DTC-Zugriff auf einen Wert im freigegebenen Clusterregistrierungsschlüssel unter dem MS DTC-Ressourcenregistrierungsschlüssel aus. Der Registrierungsschlüssel des freigegebenen Clusters für MS DTC befindet sich am HKEY_LOCAL_MACHINE\Cluster\Resources\<MSDTC resource GUID> Speicherort.

Standardmäßig ist der Wert des NetworkDtcAccess Registrierungseintrags auf 0 festgelegt. Der Wert 0 deaktiviert den NetworkDtcAccess Registrierungseintrag. Um den NetworkDtcAccess Registrierungseintrag zu aktivieren, legen Sie diesen Registrierungswert auf 1 fest.

Eingehenden Datenverkehr zulassen

Mit dem Kontrollkästchen Eingehenden Datenverkehr zulassen können Sie bestimmen, ob eine verteilte Transaktion, die von einem Remotecomputer stammt, auf dem lokalen Computer ausgeführt werden soll. Diese Einstellung ist standardmäßig deaktiviert. Aktivieren Sie zum Aktivieren dieser Einstellung das Kontrollkästchen Netzwerk-DTC-Zugriff , um den folgenden Registrierungseintrag auf 1 festzulegen:

  • Registrierungspfad: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Wertname: NetworkDtcAccess
  • Werttyp: REG_DWORD

Um diese Einstellung zu deaktivieren, deaktivieren Sie das Kontrollkästchen Netzwerk-DTC-Zugriff , um diesen Registrierungseintrag auf 0 festzulegen.

Das Kontrollkästchen Eingehenden Datenverkehr zulassen wirkt sich auf die beiden folgenden REG_DWORD Registrierungseinträge unter aus HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessInbound

Ausgehend zulassen

Mit dem Kontrollkästchen Ausgehenden Datenverkehr zulassen können Sie bestimmen, ob der lokale Computer eine Transaktion initiieren und diese Transaktion auf einem Remotecomputer ausführen darf. Aktivieren Sie zum Aktivieren dieser Einstellung das Kontrollkästchen Netzwerk-DTC-Zugriff , um den folgenden Registrierungseintrag auf 1 festzulegen:

  • Registrierungspfad: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Wertname: NetworkDtcAccess
  • Werttyp: REG_DWORD

Um diese Einstellung zu deaktivieren, deaktivieren Sie das Kontrollkästchen Netzwerk-DTC-Zugriff , um diesen Registrierungseintrag auf 0 festzulegen.

Das Kontrollkästchen Ausgehend zulassen wirkt sich auf die beiden folgenden REG_DWORD Registrierungseinträge unter aus HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessOutbound

Gegenseitige Authentifizierung erforderlich

Die Option Gegenseitige Authentifizierung erforderlich fügt Unterstützung für die gegenseitige Authentifizierung in Windows hinzu. Gegenseitige Authentifizierung erforderlich legt den größten Sicherheitsmodus fest, der derzeit für die Netzwerkkommunikation verfügbar ist. Wir empfehlen diesen Transaktionsmodus für Clientcomputer, auf denen Windows XP SP2 zusammen mit Servercomputern unter Windows Server 2003 SP1 ausgeführt wird.

Die gegenseitige Authentifizierung erforderlich wirkt sich auf die folgenden Registrierungseinträge unter aus HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Registrierungsschlüssel 1

    • Wertname: AllowOnlySecureRpcCalls
    • Werttyp: REG_DWORD
    • Wertdaten: 1
  • Registrierungsschlüssel 2

    • Wertname: FallbackToUnsecureRPCIfNecessary
    • Werttyp: REG_DWORD
    • Wertdaten: 0
  • Registrierungsschlüssel 3

    • Wertname: TurnOffRpcSecurity
    • Werttyp: REG_DWORD
    • Wertdaten: 0

Die Funktionalität, die mithilfe der gegenseitigen Authentifizierung erforderlich festgelegt wird, unterscheidet sich von der Funktionalität, die mithilfe der Eingehenden Anruferauthentifizierung erforderlich festgelegt wird. Die drei Optionen, die unter Transaktions-Manager-Kommunikation aufgeführt sind, verhalten sich wie folgt:

  • Der Transaktionsmodus Gegenseitige Authentifizierung erforderlich erfordert, dass die Remotezugriffskomponente eine authentifizierte Verbindung mit dem lokalen Computer bereitstellt. Diese Authentifizierung wird durch Identitätswechsel auf dem lokalen Computer überprüft. Wenn die Remotezugriffskommunikation zwischen zwei DTC-Diensten erfolgt, müssen diese Authentifizierungsinformationen außerdem ein Computerkonto angeben, das dem Hostnamen des Computers im Remotetransaktionsmodus entspricht.

  • Für den Transaktionsmodus "Authentifizierung des eingehenden Anrufers erforderlich " muss nur die Remoteverbindung authentifiziert werden. Wenn die Komponente, auf die remote zugegriffen wird, ein DTC-Dienst ist, müssen die Authentifizierungsinformationen außerdem für ein Computerkonto angegeben werden.

  • Der Transaktionsmodus Keine Authentifizierung erforderlich überprüft keine authentifizierte Verbindung oder überprüft nicht, ob eine authentifizierte Verbindung hergestellt wird.

In einer Clusterumgebung gibt das Computerkonto für den DTC-Dienst den Hostnamen des Clusterknotens an. In einer Clusterumgebung verwendet die DTC-Authentifizierung nicht den Hostnamen des Transaktionsmodus. In einer Clusterumgebung ist der Hostname des Transaktionsmodus der Name des virtuellen Diensts. Daher können Sie den Transaktionsmodus Gegenseitige Authentifizierung erforderlich nicht in einer Clusterumgebung oder auf Computern verwenden, die Transaktionen mit diesen Computern aushandeln. Sie können den Transaktionsmodus Gegenseitige Authentifizierung erforderlich zwischen zwei nicht gruppierten Computern mit Windows Server 2003 SP1 oder zwischen zwei Computern mit Windows XP SP2 verwenden.

Verwenden Sie den Transaktionsmodus Eingehende Anruferauthentifizierung erforderlich zwischen Windows Server 2003-basierten Computern in einer Clusterumgebung.

Verwenden Sie den Transaktionsmodus Keine Authentifizierung erforderlich , wenn mindestens eine der folgenden Bedingungen zutrifft:

  • Der Netzwerkzugriff erfolgt zwischen Computern, auf denen Microsoft Windows 2000 ausgeführt wird.
  • Der Netzwerkzugriff erfolgt zwischen zwei Domänen, für die keine gegenseitige Vertrauensstellung konfiguriert ist.
  • Der Netzwerkzugriff erfolgt zwischen Computern, die Mitglieder einer Arbeitsgruppe sind.

Authentifizierung für eingehende Anrufer erforderlich

Die Authentifizierung für eingehende Aufrufer Erforderlich erfordert, dass der lokale DTC-Dienst mit einem DTC-Remotedienst nur verschlüsselte Nachrichten verwendet. Nur die eingehende Verbindung wird authentifiziert. Dieses Feature wird nur von Windows Server 2003 SP1, Windows XP SP2 und höher unterstützt. Aktivieren Sie diese Option daher nur, wenn der DTC-Remotedienst auf einem Computer mit Windows Server 2003 SP1, Windows XP SP2 oder höher ausgeführt wird.

Die Authentifizierung des eingehenden Aufrufers erforderlich wirkt sich auf die folgenden Registrierungseinträge unter aus HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Registrierungsschlüssel 1

    • Wertname: AllowOnlySecureRpcCalls
    • Werttyp: REG_DWORD
    • Wertdaten: 0
  • Registrierungsschlüssel 2

    • Wertname: FallbackToUnsecureRPCIfNecessary
    • Werttyp: REG_DWORD
    • Wertdaten: 1
  • Registrierungsschlüssel 3

    • Wertname: TurnOffRpcSecurity
    • Werttyp: REG_DWORD
    • Wertdaten: 0

Weitere Informationen zur Authentifizierung für eingehende Anrufer erforderlich finden Sie im Abschnitt Gegenseitige Authentifizierung erforderlich .

Keine Authentifizierung erforderlich

Keine Authentifizierung erforderlich ermöglicht die Betriebssystemkompatibilität zwischen früheren Versionen des Windows-Betriebssystems. Wenn diese Option aktiviert ist, kann die Netzwerkkommunikation zwischen DTC-Diensten auf nicht authentifizierte Kommunikation oder nicht verschlüsselte Kommunikation zurückgreifen, wenn kein sicherer Kommunikationskanal eingerichtet werden kann.

Hinweis

Es wird empfohlen, diese Einstellung zu verwenden, wenn der DTC-Remotedienst auf einem Computer mit Microsoft Windows 2000 oder auf einem Computer mit einer Früheren Version von Windows XP als Windows XP SP2 ausgeführt wird.

Sie können auch Keine Authentifizierung erforderlich verwenden, um eine Situation zu beheben, in der die DTC-Dienste auf Computern ausgeführt werden, die sich in Domänen befinden, für die keine Vertrauensstellung eingerichtet ist. Darüber hinaus können Sie keine Authentifizierung erforderlich verwenden, um eine Situation zu beheben, in der die DTC-Dienste auf Computern ausgeführt werden, die Mitglieder einer Arbeitsgruppe sind.

Keine Authentifizierung erforderlich wirkt sich auf die folgenden Registrierungseinträge unter aus HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Registrierungsschlüssel 1

    • Wertname: AllowOnlySecureRpcCalls
    • Werttyp: REG_DWORD
    • Wertdaten: 0
  • Registrierungsschlüssel 2

    • Wertname: FallbackToUnsecureRPCIfNecessary
    • Werttyp: REG_DWORD
    • Wertdaten: 0
  • Registrierungsschlüssel 3

    • Wertname: TurnOffRpcSecurity
    • Werttyp: REG_DWORD
    • Wertdaten: 1

Hinweis

In einem Servercluster befinden sich diese Registrierungseinträge in der freigegebenen Clusterregistrierung.

Bedeutung der neuen Optionen

Mit den neuen Optionen, die im Dialogfeld Sicherheitskonfiguration verfügbar sind, können Sie Sicherheitseinstellungen auf ausgehende oder eingehende Netzwerkkommunikation anwenden. Nach der Installation von Windows akzeptiert der Computer standardmäßig keinen Netzwerkdatenverkehr. Daher ist der Computer weniger anfällig für den Netzwerkzugriff durch einen böswilligen Benutzer. Darüber hinaus werden die Protokolle, die über das Netzwerk gesendet werden, aktualisiert, um einen sichereren verschlüsselten und sich gegenseitig authentifizierten Kommunikationsmodus zu unterstützen. Dies trägt dazu bei, dass ein böswilliger Benutzer die Kommunikation zwischen DTC-Diensten abfangen und übernehmen kann.

Änderungen an der Netzwerkkommunikation in Windows

Die Netzwerkkommunikation, die vom DTC-Dienst ausgeht oder beim DTC-Dienst eingeht, ist deaktiviert. Wenn beispielsweise ein COM+-Objekt versucht, eine Microsoft SQL Server Datenbank, die sich auf einem Remotecomputer befindet, mithilfe einer DTC-Transaktion zu aktualisieren, ist diese Transaktion nicht erfolgreich. Wenn der Computer hingegen eine SQL Server Datenbank hostet, auf die Komponenten eines Remotecomputers mithilfe einer DTC-Transaktion zugreifen möchten, ist diese Transaktion nicht erfolgreich.

Die folgenden Probleme beziehen sich auf den DTC-Dienst:

Fehler bei Transaktionen aufgrund von Netzwerkkonnektivitätsproblemen

Wichtig

Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher ist es wichtig, bei der Ausführung der folgenden Schritte sorgfältig vorzugehen. Für zusätzlichen Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Sie können die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter Sichern und Wiederherstellen der Registrierung in Windows.

Wenn die DTC-Transaktionen aufgrund von Netzwerkkonnektivitätsproblemen fehlschlagen, aktivieren Sie die folgenden Kontrollkästchen im Dialogfeld Sicherheitskonfiguration :

  • Aktivieren Sie das Kontrollkästchen Netzwerk-DTC-Zugriff .

  • Klicken Sie, um je nach Ihren Anforderungen unter Transaktions-Manager-Kommunikation eines oder beide der folgenden Kontrollkästchen zu aktivieren:

    • Eingehenden Datenverkehr zulassen
    • Ausgehend zulassen

Wenn Sie diese Einstellungen programmgesteuert als Teil eines Windows-Computers ändern möchten, können Sie die Registrierungseinstellungen direkt ändern, die den Einstellungen entsprechen, die Sie festlegen möchten. Nachdem Sie die Registrierungseinstellungen geändert haben, müssen Sie den DTC-Dienst neu starten.

Es wird empfohlen, die Registrierung nicht manuell zu ändern, um diese Einstellungen zu ändern. Wenn Sie diese Registrierungseinstellungen manuell ändern, können Probleme mit dem Clusterdienst auf Windows Server 2003 SP1-basierten Serverclustern auftreten.

Windows-Firewall blockiert DTC-Datenverkehr

Wichtig

Diese Schritte können Ihr Sicherheitsrisiko erhöhen. Diese Schritte können auch den Computer oder das Netzwerk anfälliger für Angriffe durch böswillige Benutzer oder durch Schadsoftware wie Viren machen. Es wird empfohlen, den in diesem Artikel beschriebenen Prozess zu verwenden, damit Programme so funktionieren können, wie sie für oder für die Implementierung bestimmter Programmfunktionen konzipiert sind. Bevor Sie diese Änderungen vornehmen, empfehlen wir Ihnen, die Risiken zu bewerten, die mit der Implementierung dieses Prozesses in Ihrer speziellen Umgebung verbunden sind. Wenn Sie sich für die Implementierung dieses Prozesses entscheiden, führen Sie alle geeigneten zusätzlichen Schritte aus, um das System zu schützen. Es wird empfohlen, diesen Prozess nur zu verwenden, wenn Sie diesen Prozess wirklich benötigen.

Wenn Sie die Windows-Firewall verwenden, müssen Sie den DTC-Dienst der Ausnahmeliste in den Einstellungen der Windows-Firewall hinzufügen. Gehen Sie dazu wie folgt vor:

  1. Wählen Sie Start aus, wählen Sie Ausführen aus, geben Siefirewall.cplein, und wählen Sie dann OK aus.
  2. Wählen Sie im Dialogfeld Windows-Firewall die Registerkarte Ausnahmen und dann Programm hinzufügen aus.
  3. Wählen Sie Durchsuchen aus, suchen Sie nach , und wählen Sie dann aus C:\Windows\System32\msdtc.exe, und wählen Sie dann Öffnen aus.
  4. Wählen Sie OK aus, aktivieren Sie das Kontrollkästchen msdtc.exe in der Liste Programme und Dienste , wenn dieses Kontrollkästchen noch nicht aktiviert ist, und wählen Sie dann OK aus.

Einstellungen, die geändert oder hinzugefügt werden

In der folgenden Tabelle werden die Registrierungseinträge beschrieben, die seit Windows XP SP2 von früheren Versionen von Windows geändert wurden.

Name des Eintrags Standort Vorheriger Standardwert Windows XP SP2-Standardwert Mögliche Werte
NetworkDtcAccess HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 0 0 oder 1
NetworkDtcAccessTransactions KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 0 0 oder 1
NetworkDtcAccessInbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Nicht zutreffend 0 0 oder 1
NetworkDtcAccessOutbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Nicht zutreffend 0 0 oder 1
AllowOnlySecureRpcCalls HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Nicht zutreffend 1 0 oder 1
FallbackToUnsecureRPCIfNecessary HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Nicht zutreffend 0 0 oder 1
TurnOffRpcSecurity HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Nicht zutreffend 0 0 oder 1

Hinweis

Diese Änderungen werden in der freigegebenen Clusterregistrierung auf einem Windows Server 2003 SP1-basierten Servercluster angezeigt.

Fehlercodes, die den DTC-Dienständerungen zugeordnet sind

Möglicherweise erhalten Sie einen der folgenden Fehlercodes, wenn Sie DTC-Transaktionen zwischen Computern ausführen:

  • Fehlercode 1

    MessageId: XACT_E_NETWORK_TX_DISABLED
    Messagetext:
    Der Transaktions-Manager hat seine Unterstützung für Remote-/Netzwerktransaktionen deaktiviert.
    #define XACT_E_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D024L)

  • Fehlercode 2

    MessageId: XACT_E_PARTNER_NETWORK_TX_DISABLED
    Messagetext:
    Der Partnertransaktions-Manager hat seine Unterstützung für Remote-/Netzwerktransaktionen deaktiviert.
    #define XACT_E_PARTNER_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D025L)

Gilt für

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