Windows Server 2003 以降、Microsoft 分散トランザクション コーディネーター (MS DTC) では、使用するすべての XA DLL のレジストリ値を作成する必要があります。 この記事では、レジストリを変更する手順について説明します。
元の製品バージョン: Windows Server 2003
元の KB 番号: 817066
概要
Windows Server 2003 以降、MS DTC では、使用するすべての XA DLL のレジストリ値を作成する必要があります。 この要件は、MS DTC プロセスでのサードパーティの XA DLL の使用に関連するリスクを最小限に抑えるために、Windows Server 2003 に追加されました。 XA トランザクションを使用するときに同じ機能を保持するには、使用する予定の各 XA DLL の XA DLL キーにレジストリ値を追加する必要があります。 この記事では、これらのレジストリ値について説明します。
たとえば、既存のシステムを Windows Server 2003 にアップグレードし、既存のシステムがサードパーティの XA DLL を持つ MS DTC を使用している場合、これらの必要なレジストリ値を作成するまで、XA トランザクションのサポートは無効になります。 また、XA トランザクションをサポートする XA DLL を提供するサードパーティ製品を後でインストールする場合は、次のいずれかの操作を行う必要があります。
- これらのレジストリ値を手動で作成する
- サード パーティのインストーラーによってこれらのレジストリ値が作成されることを確認する
XA トランザクションのサポートを有効にする
Von Bedeutung
このセクション、メソッド、またはタスクには、レジストリを変更する方法を示す手順が含まれています。 ただし、レジストリを誤って変更した場合、重大な問題が発生する可能性があります。 したがって、これらの手順を注意深く守ってください。 追加の保護のために、レジストリを修正する前にバックアップを取ってください。 その後、問題が発生した場合は、レジストリを復元することができます。 レジストリのバックアップと復元方法の詳細は、「Windows のレジストリのバックアップおよび復元の方法」を参照してください。
セキュリティ リスクは、MS DTC がユーザー指定の DLL を使用する場合に発生します。 これらの DLL は、MS DTC プロセスに直接読み込まれます。 MS DTC はこれらの DLL を使用して、XA パートナーのトランザクション マネージャー (TM) と通信します。 このシナリオでは、Resource Manager (RM) データベースが重大なデータ破損にさらされる可能性があります。 このシナリオでは、悪意のある、または欠陥のある XA DLL が分散トランザクションのコミットまたは中止を正しく検証しない場合に、サービス拒否攻撃を許可することもできます。 また、悪意のある、または欠陥のある XA DLL にセキュリティ強化されていないコードが含まれている場合、攻撃者はこの脆弱性を悪用してサービス拒否攻撃を引き起こす可能性があります。
このセキュリティ リスクを防ぐために、Windows Server 2003 にアップグレードすると、Windows Server 2003 ではすべての XA トランザクションがオフになります。 XA トランザクションのサポートが無効になっている場合、Windows Server 2003 はサービス拒否攻撃から MS DTC を保護するのに役立ちます。
XA トランザクションのサポートを有効にする必要がある場合があります。 この手順を実行するには、以下のステップに従ってください。
- コンポーネント サービスを開きます。
- ツリー ビューを展開して、XA トランザクションのサポートを有効にするコンピューター (マイ コンピューターなど) を見つけます。
- コンピューター名を右クリックし、[ プロパティ] を選択します。
- MSDTC タブを選択し、セキュリティ構成選択。
- [ セキュリティ設定] で、[ XA トランザクション ] のチェック ボックスをオンにして、このサポートを有効にします。
Windows Server 2003 には、使用する XA DLL を指定するためのレジストリ エントリが用意されています。 Windows Server 2003 にアップグレードすると、以前のバージョンの Microsoft Windows Server で使用したのと同じ方法で XA トランザクションを操作できます。
これを行うには、次のレジストリ サブキーの下にレジストリの名前付き値を作成します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL
レジストリの名前付き値では、 名前 は XA DLL のファイル名 (たとえば、dllname.dll) にすることができますが、この名前付け規則を使用する必要はありません。 また、この名前付き値では 、Type は String (REG_SZ) で、値は DLL ファイルの完全なパス名 (ファイル名を含む) です。
使用する予定の XA DLL ファイルごとにエントリを作成します。 また、クラスターで MS DTC を構成する場合は、クラスター内の各ノードにこれらのレジストリ エントリを作成する必要があります。