Nya funktioner i tjänsten Distributed Transaction Coordinator i Windows

Den här artikeln beskriver vissa säkerhetsrelaterade uppdateringar och ändringar i Windows och hur de påverkar tjänsten Microsoft Distributed Transaction Coordinator (MS DTC).

Ursprunglig produktversion: Windows
Ursprungligt KB-nummer: 899191

Sammanfattning

Sedan Windows Server 2003 Service Pack 1 (SP1) och Windows XP Service Pack 2 (SP2) introducerades vissa säkerhetsrelaterade uppdateringar och ändringar i Windows och påverkar MS DTC-tjänsten.

Dessa ändringar kan nås med hjälp av den uppdaterade dialogrutan Säkerhetskonfiguration som är tillgänglig i administrationsverktyget för komponenttjänster.

Dessa ändringar görs i standardsäkerhetsinställningarna som gör att DTC-trafik redundansväxlar nätverket. I den här situationen kan du få ett eller flera felmeddelanden eller felkoder.

Genom att ändra inställningarna i dialogrutan Säkerhetskonfiguration kan du styra hur DTC-tjänsten kommunicerar med fjärrdatorer över nätverket.

I den här artikeln beskrivs nya funktioner i MS DTC-tjänsten i följande operativsystem:

  • 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

DTC-tjänsten samordnar transaktioner som uppdaterar två eller flera transaktionsskyddade resurser. Transaktionsskyddade resurser omfattar databaser, meddelandeköer och filsystem. Dessa transaktionsskyddade resurser kan finnas på en enda dator eller distribueras mellan många nätverksanslutna datorer.

Hantera nätverkskommunikation med hjälp av Säkerhetskonfiguration

I Windows ger DTC-tjänsten dig mer kontroll över nätverkskommunikationen mellan datorer. Som standard är all nätverkskommunikation inaktiverad. Dialogrutan DTC-säkerhetskonfiguration har förbättrats så att du kan hantera dessa kommunikationsinställningar. Följ dessa steg för att visa dialogrutan Säkerhetskonfiguration :

  1. Starta administrationsverktyget för Komponenttjänster. Det gör du genom att välja Start, välja Kör, skriva dcomcnfg.exeoch sedan välja OK.
  2. I konsolträdet för det administrativa verktyget Komponenttjänster expanderar du Komponenttjänster, expanderar Datorer, högerklickar på Min dator och väljer sedan Egenskaper.
  3. Välj fliken MSDTC och välj sedan Säkerhetskonfiguration.

Nya alternativ i Säkerhetskonfiguration

Följande information beskriver de nya alternativ som är tillgängliga i dialogrutan Säkerhetskonfiguration . Den här informationen beskriver också de registerposter som påverkas av de nya alternativen i dialogrutan Säkerhetskonfiguration .

Nätverks-DTC-åtkomst

Med kryssrutan Nätverks-DTC-åtkomst kan du avgöra om DTC-tjänsten kan komma åt nätverket. Kryssrutan Nätverks-DTC-åtkomst måste markeras tillsammans med någon av de andra kryssrutorna under kryssrutan Nätverks-DTC-åtkomst för att aktivera DTC-transaktioner för nätverk.

Kryssrutan Nätverks-DTC-åtkomst påverkar följande registerpost:

  • Registersökväg: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Värdenamn: NetworkDtcAccess
  • Värdetyp: REG_DWORD
  • Värdedata: 0 (standard)

Obs!

I ett serverkluster påverkar kryssrutan Nätverks-DTC-åtkomst ett värde i registernyckeln för delat kluster under MS DTC-resursregisternyckeln. Registernyckeln för det delade klustret för MS DTC finns på platsen HKEY_LOCAL_MACHINE\Cluster\Resources\<MSDTC resource GUID> .

Som standard är värdet för NetworkDtcAccess registerposten inställt på 0. Värdet 0 inaktiverar NetworkDtcAccess registerposten. Om du vill aktivera NetworkDtcAccess registerposten anger du registervärdet till 1.

Tillåt inkommande

Med kryssrutan Tillåt inkommande kan du avgöra om du vill tillåta att en distribuerad transaktion som kommer från en fjärrdator körs på den lokala datorn. Som standard är den här inställningen inaktiverad. Om du vill aktivera den här inställningen klickar du för att markera kryssrutan Nätverks-DTC-åtkomst för att ange följande registerpost till 1:

  • Registersökväg: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Värdenamn: NetworkDtcAccess
  • Värdetyp: REG_DWORD

Om du vill inaktivera den här inställningen klickar du för att avmarkera kryssrutan Nätverks-DTC-åtkomst för att ange registerposten till 0.

Kryssrutan Tillåt inkommande påverkar båda följande REG_DWORD registerposter under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessInbound

Tillåt utgående trafik

Med kryssrutan Tillåt utgående kan du avgöra om den lokala datorn ska kunna initiera en transaktion och köra transaktionen på en fjärrdator. Om du vill aktivera den här inställningen markerar du kryssrutan Nätverks-DTC-åtkomst för att ange följande registerpost till 1:

  • Registersökväg: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Värdenamn: NetworkDtcAccess
  • Värdetyp: REG_DWORD

Om du vill inaktivera den här inställningen avmarkerar du kryssrutan Nätverks-DTC-åtkomst för att ange registerposten till 0.

Kryssrutan Tillåt utgående påverkar båda följande REG_DWORD registerposter under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessOutbound

Ömsesidig autentisering krävs

Alternativet Ömsesidig autentisering krävs lägger till stöd för ömsesidig autentisering i Windows. Ömsesidig autentisering krävs anger det största säkerhetsläget som för närvarande är tillgängligt för nätverkskommunikation. Vi rekommenderar det här transaktionsläget för klientdatorer som kör Windows XP SP2 tillsammans med serverdatorer som kör Windows Server 2003 SP1.

Ömsesidig autentisering krävs påverkar följande registerposter under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Registernyckel 1

    • Värdenamn: AllowOnlySecureRpcCalls
    • Värdetyp: REG_DWORD
    • Värdedata: 1
  • Registernyckel 2

    • Värdenamn: FallbackToUnsecureRPCIfNecessary
    • Värdetyp: REG_DWORD
    • Värdedata: 0
  • Registernyckel 3

    • Värdenamn: TurnOffRpcSecurity
    • Värdetyp: REG_DWORD
    • Värdedata: 0

De funktioner som anges med hjälp av ömsesidig autentisering krävs skiljer sig från de funktioner som anges med hjälp av autentisering av inkommande uppringare krävs. De tre alternativen som visas under Transaction Manager-kommunikation fungerar på följande sätt:

  • Transaktionsläget Ömsesidig autentisering krävs kräver att komponenten med fjärråtkomst tillhandahåller en autentiserad anslutning till den lokala datorn. Den här autentiseringen verifieras genom personifiering på den lokala datorn. Om fjärråtkomstkommunikationen utförs mellan två DTC-tjänster måste dessutom den här autentiseringsinformationen ange ett datorkonto som matchar värdnamnet för fjärrtransaktionslägesdatorn.

  • Autentisering av inkommande uppringare Krävs transaktionsläge kräver endast att fjärranslutningen autentiseras. Om komponenten för fjärråtkomst är en DTC-tjänst måste dessutom autentiseringsinformationen vara för ett datorkonto.

  • Transaktionsläget Ingen autentisering krävs verifierar inte en autentiserad anslutning eller verifierar om en autentiserad anslutning upprättas.

I en klustrad miljö anger datorkontot för DTC-tjänsten klusternodens värdnamn. I en klustrad miljö använder DTC-autentiseringen inte transaktionslägets värdnamn. I en klustrad miljö är transaktionslägets värdnamn namnet på den virtuella tjänsten. Därför kan du inte använda transaktionsläget Ömsesidig autentisering krävs i en klustrad miljö eller på datorer som förhandlar om transaktioner med sådana datorer. Du kan använda transaktionsläget Ömsesidig autentisering krävs mellan två icke-klustrade datorer som kör Windows Server 2003 SP1 eller mellan två datorer som kör Windows XP SP2.

Använd transaktionsläget För inkommande uppringare krävs transaktionsläge mellan Windows Server 2003-baserade datorer i en klustrad miljö.

Använd transaktionsläget Ingen autentisering krävs där ett eller flera av följande villkor är uppfyllda:

  • Nätverksåtkomsten är mellan datorer som kör Microsoft Windows 2000.
  • Nätverksåtkomsten är mellan två domäner som inte har ett konfigurerat ömsesidigt förtroende.
  • Nätverksåtkomsten är mellan datorer som är medlemmar i en arbetsgrupp.

Autentisering av inkommande uppringare krävs

Autentisering av inkommande uppringare Krävs kräver att den lokala DTC-tjänsten kommunicerar med en fjärr-DTC-tjänst med hjälp av endast krypterade meddelanden. Endast den inkommande anslutningen autentiseras. Endast Windows Server 2003 SP1, Windows XP SP2 och senare version av Windows stöder den här funktionen. Aktivera därför endast det här alternativet om den fjärranslutna DTC-tjänsten körs på en dator som kör Windows Server 2003 SP1, Windows XP SP2 eller senare version av Windows.

Autentisering av inkommande uppringare krävs påverkar följande registerposter under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Registernyckel 1

    • Värdenamn: AllowOnlySecureRpcCalls
    • Värdetyp: REG_DWORD
    • Värdedata: 0
  • Registernyckel 2

    • Värdenamn: FallbackToUnsecureRPCIfNecessary
    • Värdetyp: REG_DWORD
    • Värdedata: 1
  • Registernyckel 3

    • Värdenamn: TurnOffRpcSecurity
    • Värdetyp: REG_DWORD
    • Värdedata: 0

Mer information om autentisering av inkommande uppringare krävs finns i avsnittet Ömsesidig autentisering krävs .

Ingen autentisering krävs

Ingen autentisering krävs möjliggör kompatibilitet mellan tidigare versioner av Windows-operativsystemet. När det här alternativet är aktiverat kan nätverkskommunikationen mellan DTC-tjänster återgå till icke-autentiserad kommunikation eller icke-krypterad kommunikation om en säker kommunikationskanal inte kan upprättas.

Obs!

Vi rekommenderar att du använder den här inställningen om fjärr-DTC-tjänsten körs på en dator som kör Microsoft Windows 2000 eller på en dator som kör en version av Windows XP som är tidigare än Windows XP SP2.

Du kan också använda Ingen autentisering krävs för att lösa en situation där DTC-tjänsterna körs på datorer som finns i domäner som inte har en betrodd relation upprättad. Dessutom kan du använda Ingen autentisering krävs för att lösa en situation där DTC-tjänsterna körs på datorer som är medlemmar i en arbetsgrupp.

Ingen autentisering krävs påverkar följande registerposter under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Registernyckel 1

    • Värdenamn: AllowOnlySecureRpcCalls
    • Värdetyp: REG_DWORD
    • Värdedata: 0
  • Registernyckel 2

    • Värdenamn: FallbackToUnsecureRPCIfNecessary
    • Värdetyp: REG_DWORD
    • Värdedata: 0
  • Registernyckel 3

    • Värdenamn: TurnOffRpcSecurity
    • Värdetyp: REG_DWORD
    • Värdedata: 1

Obs!

I ett serverkluster finns dessa registerposter i det delade klusterregistret.

De nya alternativens betydelse

Med de nya alternativen som är tillgängliga i dialogrutan Säkerhetskonfiguration kan du använda säkerhetsinställningar för utgående eller inkommande nätverkskommunikation. När du har installerat Windows accepterar datorn som standard inte nätverkstrafik. Därför är datorn mindre sårbar för nätverksåtkomst av en obehörig användare. Dessutom uppdateras protokollen som skickas via nätverket för att stödja ett säkrare krypterat och ömsesidigt autentiserat kommunikationsläge. Detta minskar risken för att en obehörig användare kan avlyssna och ta över kommunikationen mellan DTC-tjänster.

Ändringar i nätverkskommunikation i Windows

Nätverkskommunikationen som kommer från DTC-tjänsten eller som kommer in till DTC-tjänsten är inaktiverad. Om ett COM+-objekt till exempel försöker uppdatera en Microsoft-SQL Server databas som finns på en fjärrdator med hjälp av en DTC-transaktion lyckas inte den här transaktionen. Om datorn däremot är värd för en SQL Server databas som komponenter från en fjärrdator försöker komma åt med hjälp av en DTC-transaktion, lyckas inte den här transaktionen.

Följande problem gäller DTC-tjänsten:

Transaktioner misslyckas på grund av problem med nätverksanslutningen

Viktigt

Det här avsnittet, metoden eller uppgiften innehåller steg som beskriver hur du ändrar registret. Det kan uppstå allvarliga problem om du gör detta felaktigt. Följ därför instruktionerna noga, och säkerhetskopiera registret innan du gör några ändringar i det. Då kan du återställa registret om det uppstår problem. Mer information om hur du säkerhetskopierar och återställer registret finns i Hur du säkerhetskopierar och återställer registret i Windows.

Om DTC-transaktionerna misslyckas på grund av problem med nätverksanslutningen klickar du för att markera följande kryssrutor i dialogrutan Säkerhetskonfiguration :

  • Klicka för att markera kryssrutan Nätverks-DTC-åtkomst .

  • Klicka här om du vill markera en eller båda av följande kryssrutor under Transaction Manager Communication beroende på dina behov:

    • Tillåt inkommande
    • Tillåt utgående trafik

Om du vill ändra de här inställningarna programmatiskt som en del av en Windows kan du direkt ändra registerinställningarna som motsvarar de inställningar som du vill ange. När du har modifierat registerinställningarna måste du starta om DTC-tjänsten.

Vi rekommenderar att du inte ändrar registret manuellt för att ändra de här inställningarna. Om du ändrar registerinställningarna manuellt kan det uppstå problem med klustertjänsten i Windows Server 2003 SP1-baserade serverkluster.

Windows-brandväggen blockerar DTC-trafik

Viktigt

De här stegen kan öka säkerhetsrisken. De här stegen kan också göra datorn eller nätverket mer sårbara för angrepp från skadliga användare eller av skadlig programvara som virus. Vi rekommenderar den process som beskrivs i den här artikeln för att göra det möjligt för program att fungera som de är utformade för eller för att implementera specifika programfunktioner. Innan du gör dessa ändringar rekommenderar vi att du utvärderar de risker som är associerade med att implementera den här processen i din miljö. Om du bestämmer dig för att implementera den här processen kan du vidta lämpliga ytterligare åtgärder för att skydda systemet. Vi rekommenderar att du bara använder den här processen om du verkligen behöver den här processen.

Om du använder Windows-brandväggen måste du lägga till DTC-tjänsten i undantagslistan i inställningarna för Windows-brandväggen. Gör så här:

  1. Välj Start, kör, skriv firewall.cploch välj sedan OK.
  2. I dialogrutan Windows-brandväggen väljer du fliken Undantag och väljer sedan Lägg till program.
  3. Välj Bläddra, leta upp och välj C:\Windows\System32\msdtc.exesedan och välj sedan Öppna.
  4. Välj OK, markera kryssrutan msdtc.exe i listan Program och tjänster om den här kryssrutan inte redan är markerad och välj sedan OK.

Inställningar som ändras eller läggs till

I följande tabell beskrivs de registerposter som har ändrats sedan Windows XP SP2 från tidigare versioner av Windows.

Inmatningsnamn Plats Föregående standardvärde Standardvärde för Windows XP SP2 Möjliga värden
NetworkDtcAccess HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 0 0 eller 1
NetworkDtcAccessTransactions KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 0 0 eller 1
NetworkDtcAccessInbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Ej tillämpligt 0 0 eller 1
NetworkDtcAccessOutbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Ej tillämpligt 0 0 eller 1
AllowOnlySecureRpcCalls HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Ej tillämpligt 1 0 eller 1
FallbackToUnsecureRPCIfNecessary HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Ej tillämpligt 0 0 eller 1
TurnOffRpcSecurity HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Ej tillämpligt 0 0 eller 1

Obs!

Dessa ändringar visas i det delade klusterregistret i ett Windows Server 2003 SP1-baserat serverkluster.

Felkoder som är associerade med ändringar i DTC-tjänsten

Du kan få någon av följande felkoder när du kör DTC-transaktioner mellan datorer:

  • Felkod 1

    MessageId: XACT_E_NETWORK_TX_DISABLED
    MessageText:
    Transaktionshanteraren har inaktiverat sitt stöd för fjärr-/nätverkstransaktioner.
    #define XACT_E_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D024L)

  • Felkod 2

    MessageId: XACT_E_PARTNER_NETWORK_TX_DISABLED
    MessageText:
    Partnertransaktionshanteraren har inaktiverat sitt stöd för fjärr-/nätverkstransaktioner.
    #define XACT_E_PARTNER_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D025L)

Gäller för

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