Nieuwe functionaliteit in de Distributed Transaction Coordinator-service in Windows

In dit artikel worden enkele windows-beveiligingsgerelateerde updates en wijzigingen beschreven en hoe deze van invloed zijn op de Microsoft Distributed Transaction Coordinator-service (MS DTC).

Oorspronkelijke productversie: Windows
Origineel KB-nummer: 899191

Samenvatting

Sinds Windows Server 2003 Service Pack 1 (SP1) en Windows XP Service Pack 2 (SP2), zijn enkele beveiligingsupdates en wijzigingen geïntroduceerd in Windows en zijn deze van invloed op de MS DTC-service.

Deze wijzigingen kunnen worden geopend met behulp van het bijgewerkte dialoogvenster Beveiligingsconfiguratie dat beschikbaar is in het beheerprogramma van Component Services.

Deze wijzigingen worden aangebracht in de standaardbeveiligingsinstellingen die ervoor zorgen dat DTC-verkeer een failover uitvoert over het netwerk. In deze situatie ontvangt u mogelijk een of meer foutberichten of foutcodes.

Door de instellingen in het dialoogvenster Beveiligingsconfiguratie te wijzigen, kunt u bepalen hoe de DTC-service communiceert met externe computers via het netwerk.

In dit artikel worden de nieuwe functionaliteit in de MS DTC-service in de volgende besturingssystemen beschreven:

  • 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

De DTC-service coördineert transacties die twee of meer met transacties beveiligde resources bijwerken. Met transacties beveiligde resources omvatten databases, berichtenwachtrijen en bestandssystemen. Deze met transactie beveiligde resources kunnen zich op één computer bevinden of kunnen worden gedistribueerd tussen veel computers in het netwerk.

Netwerkcommunicatie beheren met behulp van beveiligingsconfiguratie

In Windows geeft de DTC-service u meer controle over de netwerkcommunicatie tussen computers. Standaard is alle netwerkcommunicatie uitgeschakeld. Het dialoogvenster DTC-beveiligingsconfiguratie is verbeterd, zodat u deze communicatie-instellingen kunt beheren. Voer de volgende stappen uit om het dialoogvenster Beveiligingsconfiguratie weer te geven:

  1. Start het beheerprogramma Component Services. Hiervoor selecteert u Start, selecteert u Uitvoeren, typt udcomcnfg.exeen selecteert u vervolgens OK.
  2. Vouw in de consolestructuur van het beheerprogramma Component Services de optie Component Services uit, vouw Computers uit, klik met de rechtermuisknop op Deze computer en selecteer vervolgens Eigenschappen.
  3. Selecteer het tabblad MSDTC en selecteer vervolgens Beveiligingsconfiguratie.

Nieuwe opties in Beveiligingsconfiguratie

In de volgende informatie worden de nieuwe opties beschreven die beschikbaar zijn in het dialoogvenster Beveiligingsconfiguratie . In deze informatie worden ook de registervermeldingen beschreven die worden beïnvloed door de nieuwe opties in het dialoogvenster Beveiligingsconfiguratie .

Netwerk DTC-toegang

Met het selectievakje Netwerk-DTC-toegang kunt u bepalen of de DTC-service toegang heeft tot het netwerk. Het selectievakje Netwerk-DTC-toegang moet worden ingeschakeld samen met een van de andere selectievakjes onder het selectievakje Netwerk DTC-toegang om netwerk-DTC-transacties in te schakelen.

Het selectievakje Netwerk DTC-toegang is van invloed op de volgende registervermelding:

  • Registerpad: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Waardenaam: NetworkDtcAccess
  • Waardetype: REG_DWORD
  • Waardegegevens: 0 (standaard)

Opmerking

Op een servercluster is het selectievakje Netwerk-DTC-toegang van invloed op een waarde in de registersleutel van het gedeelde cluster onder de REGISTERsleutel van de MS DTC-resource. De registersleutel van het gedeelde cluster voor MS DTC bevindt zich op de HKEY_LOCAL_MACHINE\Cluster\Resources\<MSDTC resource GUID> locatie.

De waarde van de NetworkDtcAccess registervermelding is standaard ingesteld op 0. Met de waarde 0 wordt de NetworkDtcAccess registervermelding uitgeschakeld. Als u de NetworkDtcAccess registervermelding wilt inschakelen, stelt u deze registerwaarde in op 1.

Inkomend verkeer toestaan

Met het selectievakje Binnenkomend verkeer toestaan kunt u bepalen of een gedistribueerde transactie die afkomstig is van een externe computer, moet worden uitgevoerd op de lokale computer. Deze instelling is standaard uitgeschakeld. Als u deze instelling wilt inschakelen, schakelt u het selectievakje Netwerk DTC-toegang in om de volgende registervermelding in te stellen op 1:

  • Registerpad: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Waardenaam: NetworkDtcAccess
  • Waardetype: REG_DWORD

Als u deze instelling wilt uitschakelen, schakelt u het selectievakje Netwerk-DTC-toegang uit om deze registervermelding in te stellen op 0.

Het selectievakje Inkomend verkeer toestaan is van invloed op de volgende REG_DWORD registervermeldingen onder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessInbound

Uitgaand toestaan

Met het selectievakje Uitgaand toestaan kunt u bepalen of de lokale computer een transactie mag initiëren en deze transactie op een externe computer moet uitvoeren. Als u deze instelling wilt inschakelen, schakelt u het selectievakje Netwerk DTC-toegang in om de volgende registervermelding in te stellen op 1:

  • Registerpad: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
  • Waardenaam: NetworkDtcAccess
  • Waardetype: REG_DWORD

Als u deze instelling wilt uitschakelen, schakelt u het selectievakje Netwerk DTC-toegang uit om deze registervermelding in te stellen op 0.

Het selectievakje Uitgaand toestaan is van invloed op de volgende REG_DWORD registervermeldingen onder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security:

  • NetworkDtcAccessTransactions
  • NetworkDtcAccessOutbound

Wederzijdse verificatie vereist

De optie Wederzijdse verificatie vereist voegt ondersteuning toe voor wederzijdse verificatie in Windows. Wederzijdse verificatie vereist stelt de beste beveiligingsmodus in die momenteel beschikbaar is voor netwerkcommunicatie. We raden deze transactiemodus aan voor clientcomputers met Windows XP SP2 samen met servercomputers waarop Windows Server 2003 SP1 wordt uitgevoerd.

Wederzijdse verificatie Vereist is van invloed op de volgende registervermeldingen onder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Registersleutel 1

    • Waardenaam: AllowOnlySecureRpcCalls
    • Waardetype: REG_DWORD
    • Waardegegevens: 1
  • Registersleutel 2

    • Waardenaam: FallbackToUnsecureRPCIfNecessary
    • Waardetype: REG_DWORD
    • Waardegegevens: 0
  • Registersleutel 3

    • Waardenaam: TurnOffRpcSecurity
    • Waardetype: REG_DWORD
    • Waardegegevens: 0

De functionaliteit die is ingesteld met behulp van wederzijdse verificatie vereist verschilt van de functionaliteit die is ingesteld met behulp van verificatie van binnenkomende beller vereist. De drie opties die worden vermeld onder Transaction Manager Communication werken als volgt:

  • De transactiemodus Wederzijdse verificatie vereist vereist dat het onderdeel voor externe toegang een geverifieerde verbinding met de lokale computer biedt. Deze verificatie wordt geverifieerd door imitatie op de lokale computer. Als de ras-communicatie wordt uitgevoerd tussen twee DTC-services, moet deze verificatie-informatie bovendien een computeraccount opgeven dat overeenkomt met de hostnaam van de computer van de externe transactiemodus.

  • In de modus Verificatie van binnenkomende beller Vereist transactie is alleen vereist dat de externe verbinding wordt geverifieerd. Als het onderdeel voor externe toegang een DTC-service is, moeten de verificatiegegevens bovendien voor een computeraccount zijn.

  • De transactiemodus Geen verificatie vereist valideert geen geverifieerde verbinding en controleert niet of er een geverifieerde verbinding tot stand wordt gebracht.

In een geclusterde omgeving geeft het computeraccount voor de DTC-service de hostnaam van het clusterknooppunt op. In een geclusterde omgeving maakt de DTC-verificatie geen gebruik van de hostnaam van de transactiemodus. In een geclusterde omgeving is de hostnaam van de transactiemodus de naam van de virtuele service. Daarom kunt u de transactiemodus Wederzijdse verificatie vereist niet gebruiken in een geclusterde omgeving of op computers die met dergelijke computers onderhandelen over transacties. U kunt de transactiemodus Wederzijdse verificatie vereist gebruiken tussen twee niet-geclusterde computers met Windows Server 2003 SP1 of tussen twee computers waarop Windows XP SP2 wordt uitgevoerd.

Gebruik de inkomende bellerverificatie Vereiste transactiemodus tussen Windows Server 2003-computers in een geclusterde omgeving.

Gebruik de transactiemodus Geen verificatie vereist waarbij aan een of meer van de volgende voorwaarden wordt voldaan:

  • De netwerktoegang is tussen computers waarop Microsoft Windows 2000 wordt uitgevoerd.
  • De netwerktoegang bevindt zich tussen twee domeinen waarvoor geen wederzijds vertrouwen is geconfigureerd.
  • De netwerktoegang is tussen computers die lid zijn van een werkgroep.

Verificatie van binnenkomende beller vereist

Verificatie van binnenkomende beller Vereist vereist dat de lokale DTC-service communiceert met een externe DTC-service door alleen versleutelde berichten te gebruiken. Alleen de binnenkomende verbinding wordt geverifieerd. Alleen Windows Server 2003 SP1, Windows XP SP2 en latere versie van Windows ondersteunen deze functie. Schakel deze optie daarom alleen in als de externe DTC-service wordt uitgevoerd op een computer met Windows Server 2003 SP1, Windows XP SP2 of een latere versie van Windows.

Verificatie van binnenkomende aanroeper Vereist is van invloed op de volgende registervermeldingen onder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Registersleutel 1

    • Waardenaam: AllowOnlySecureRpcCalls
    • Waardetype: REG_DWORD
    • Waardegegevens: 0
  • Registersleutel 2

    • Waardenaam: FallbackToUnsecureRPCIfNecessary
    • Waardetype: REG_DWORD
    • Waardegegevens: 1
  • Registersleutel 3

    • Waardenaam: TurnOffRpcSecurity
    • Waardetype: REG_DWORD
    • Waardegegevens: 0

Zie de sectie Wederzijdse verificatie vereist voor meer informatie over verificatie van binnenkomende oproepen vereist.

Geen verificatie vereist

Geen verificatie vereist maakt compatibiliteit van het besturingssysteem mogelijk tussen eerdere versies van het Windows-besturingssysteem. Wanneer deze optie is ingeschakeld, kan netwerkcommunicatie tussen DTC-services terugvallen op niet-geverifieerde communicatie of op niet-versleutelde communicatie als er geen beveiligd communicatiekanaal tot stand kan worden gebracht.

Opmerking

U wordt aangeraden deze instelling te gebruiken als de externe DTC-service wordt uitgevoerd op een computer met Microsoft Windows 2000 of op een computer waarop een versie van Windows XP wordt uitgevoerd die ouder is dan Windows XP SP2.

U kunt ook Geen verificatie vereist gebruiken om een situatie op te lossen waarbij de DTC-services worden uitgevoerd op computers die zich in domeinen bevinden waarvoor geen vertrouwensrelatie tot stand is gebracht. Daarnaast kunt u Geen verificatie vereist gebruiken om een situatie op te lossen waarin de DTC-services worden uitgevoerd op computers die lid zijn van een werkgroep.

Geen verificatie vereist is van invloed op de volgende registervermeldingen onder HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC:

  • Registersleutel 1

    • Waardenaam: AllowOnlySecureRpcCalls
    • Waardetype: REG_DWORD
    • Waardegegevens: 0
  • Registersleutel 2

    • Waardenaam: FallbackToUnsecureRPCIfNecessary
    • Waardetype: REG_DWORD
    • Waardegegevens: 0
  • Registersleutel 3

    • Waardenaam: TurnOffRpcSecurity
    • Waardetype: REG_DWORD
    • Waardegegevens: 1

Opmerking

Op een servercluster bevinden deze registervermeldingen zich in het register van het gedeelde cluster.

Betekenis van de nieuwe opties

Met de nieuwe opties die beschikbaar zijn in het dialoogvenster Beveiligingsconfiguratie kunt u beveiligingsinstellingen toepassen op uitgaande of binnenkomende netwerkcommunicatie. Na de installatie van Windows accepteert de computer standaard geen netwerkverkeer. Daarom is de computer minder kwetsbaar voor netwerktoegang door een kwaadwillende gebruiker. Bovendien worden de protocollen die via het netwerk worden verzonden bijgewerkt om een veiliger versleutelde en wederzijds geverifieerde communicatiemodus te ondersteunen. Dit helpt de kans te verkleinen dat een kwaadwillende gebruiker communicatie tussen DTC-services kan onderscheppen en overnemen.

Wijzigingen in netwerkcommunicatie in Windows

De netwerkcommunicatie die uit de DTC-service komt of naar de DTC-service komt, is uitgeschakeld. Als een COM+-object bijvoorbeeld probeert een Microsoft SQL Server-database bij te werken die zich op een externe computer bevindt met behulp van een DTC-transactie, slaagt deze transactie niet. Als de computer daarentegen als host fungeert voor een SQL Server database waartoe onderdelen van een externe computer toegang proberen te krijgen met behulp van een DTC-transactie, slaagt deze transactie niet.

De volgende problemen hebben betrekking op de DTC-service:

Transacties mislukken vanwege netwerkverbindingsproblemen

Belangrijk

Deze sectie, methode of taak bevat stappen voor het bewerken van het register. Als u het register op onjuiste wijze wijzigt, kunnen er echter grote problemen optreden. Het is dan ook belangrijk dat u deze stappen zorgvuldig uitvoert. Maak een back-up van het register voordat u wijzigingen aanbrengt. Als er een probleem optreedt, kunt u het register altijd nog herstellen. Raadpleeg Een back-up maken van en het herstellen van het register in Windows voor meer informatie over het maken van een back-up en het herstellen van het register.

Als de DTC-transacties mislukken vanwege problemen met de netwerkverbinding, klikt u op de volgende selectievakjes in het dialoogvenster Beveiligingsconfiguratie :

  • Klik om het selectievakje Netwerk-DTC-toegang in te schakelen.

  • Klik hierop om een of beide van de volgende selectievakjes onder Transaction Manager-communicatie in te schakelen, afhankelijk van uw vereisten:

    • Inkomend verkeer toestaan
    • Uitgaand toestaan

Als u deze instellingen programmatisch wilt wijzigen als onderdeel van een Windows, kunt u de registerinstellingen rechtstreeks wijzigen die overeenkomen met de instellingen die u wilt instellen. Nadat u de registerinstellingen hebt gewijzigd, moet u de DTC-service opnieuw starten.

U wordt aangeraden het register niet handmatig te wijzigen om deze instellingen te wijzigen. Als u deze registerinstellingen handmatig wijzigt, kunnen er problemen optreden met de clusterservice op serverclusters op basis van Windows Server 2003 SP1.

Windows Firewall blokkeert DTC-verkeer

Belangrijk

Deze stappen kunnen uw beveiligingsrisico verhogen. Deze stappen kunnen de computer of het netwerk ook kwetsbaarder maken voor aanvallen door kwaadwillende gebruikers of door schadelijke software zoals virussen. We raden het proces aan dat in dit artikel wordt beschreven om programma's te laten werken zoals ze zijn ontworpen of om specifieke programmamogelijkheden te implementeren. Voordat u deze wijzigingen aanbrengt, raden we u aan de risico's te evalueren die zijn gekoppeld aan het implementeren van dit proces in uw specifieke omgeving. Als u besluit dit proces te implementeren, moet u de benodigde aanvullende stappen uitvoeren om het systeem te beschermen. We raden u aan dit proces alleen te gebruiken als u dit proces echt nodig hebt.

Als u Windows Firewall gebruikt, moet u de DTC-service toevoegen aan de lijst met uitzonderingen in de Instellingen van Windows Firewall. Ga hiervoor als volgt te werk:

  1. Selecteer Start, selecteer Uitvoeren, typ firewall.cplen selecteer vervolgens OK.
  2. Selecteer in het dialoogvenster Windows Firewall het tabblad Uitzonderingen en selecteer vervolgens Programma toevoegen.
  3. Selecteer Bladeren, zoek en selecteer C:\Windows\System32\msdtc.exevervolgens en selecteer vervolgens Openen.
  4. Selecteer OK, schakel het selectievakje msdtc.exe in de lijst Programma's en services in als dit selectievakje nog niet is ingeschakeld en selecteer vervolgens OK.

Instellingen die zijn gewijzigd of toegevoegd

In de volgende tabel worden de registervermeldingen beschreven die zijn gewijzigd sinds Windows XP SP2 van eerdere versies van Windows.

Vermeldingsnaam Locatie Vorige standaardwaarde Standaardwaarde voor Windows XP SP2 Mogelijke waarden
NetworkDtcAccess HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 0 0 of 1
NetworkDtcAccessTransactions KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security 1 0 0 of 1
NetworkDtcAccessInbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Niet van toepassing 0 0 of 1
NetworkDtcAccessOutbound HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security Niet van toepassing 0 0 of 1
AllowOnlySecureRpcCalls HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Niet van toepassing 1 0 of 1
FallbackToUnsecureRPCIfNecessary HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Niet van toepassing 0 0 of 1
TurnOffRpcSecurity HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC Niet van toepassing 0 0 of 1

Opmerking

Deze wijzigingen worden weergegeven in het register van gedeelde clusters op een servercluster op basis van Windows Server 2003 SP1.

Foutcodes die zijn gekoppeld aan de wijzigingen in de DTC-service

Mogelijk ontvangt u een van de volgende foutcodes wanneer u DTC-transacties tussen computers uitvoert:

  • Foutcode 1

    MessageId: XACT_E_NETWORK_TX_DISABLED
    MessageText:
    De transactiebeheerder heeft de ondersteuning voor externe/netwerktransacties uitgeschakeld.
    #define XACT_E_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D024L)

  • Foutcode 2

    MessageId: XACT_E_PARTNER_NETWORK_TX_DISABLED
    MessageText:
    De partnertransactiebeheerder heeft de ondersteuning voor externe/netwerktransacties uitgeschakeld.
    #define XACT_E_PARTNER_NETWORK_TX_DISABLED HRESULT_TYPEDEF(0x8004D025L)

Van toepassing op

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