Windows XP Service Pack 2 および Windows XP Tablet PC Edition 2005 でのリモート プロシージャ コール (RPC) 関連の修正一覧

文書翻訳 文書翻訳
文書番号: 838191 - 対象製品
すべて展開する | すべて折りたたむ

目次

はじめに

この資料では、Microsoft Windows XP Service Pack 2 (SP2) および Windows XP Tablet PC Edition 2005 に含まれるリモート プロシージャ コール (RPC) 関連の修正と更新の一覧を示します。

詳細

RPC に関する問題および更新は、次のとおりです。

新しい 3 つの RPC インターフェイス登録フラグを追加するための更新

以下のインターフェイス登録フラグが RPC に導入されます。
  • RPC_IF_LOCAL_ONLY フラグ

    このフラグが登録されていると、リモート クライアントによって行われる呼び出しが RPC ランタイムによって拒否されます。また、ncadg_* プロトコル シーケンスまたは ncacn_* プロトコル シーケンスを使用するすべてのローカル呼び出し (ncacn_np シーケンスを使用するローカル呼び出しを除く) が拒否されます。
  • RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH フラグ

    このフラグが登録されていると、呼び出しのセキュリティ設定にかかわらずすべての呼び出しに対して、登録されているセキュリティ コールバックが RPC ランタイムによって呼び出されます。このフラグが登録されていない場合、認証されていない呼び出しは、その呼び出しがセキュリティ コールバックに到達する前にすべて拒否されます。このフラグは、セキュリティ コールバックが登録されているときのみ有効です。
  • RPC_IF_SEC_NO_CACHE フラグ

    このフラグは、特定のインターフェイスのセキュリティ コールバックのキャッシュを無効にする場合に使用します。セキュリティ コールバックのキャッシュを無効にする必要があるのは、セキュリティ チェックが変更される可能性がある場合、または以前に許可されたクライアント ID が拒否される可能性がある場合です。

匿名のリモート RPC アクセスを制限するための更新

通常、RPC プロトコルでは、アクセスの制限が明示的に指定されていないインターフェイスについては匿名のリモート アクセスが許可されます。この更新により、以下のレジストリ サブキーの下に DWORD 値 RestrictRemoteClients が導入されます。この DWORD 値を構成して、匿名のリモート アクセスを許可するかどうかを制御できます。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\RPC
必要に応じて、RestrictRemoteClients を以下のいずれかの値に設定してください。
  • 0
    インターフェイスへの匿名のリモート アクセスを許可します。
  • 1 (デフォルト)
    このデフォルトの設定では、認証された接続を使用している場合にのみ、インターフェイスへのアクセスを許可します。ただし、認証された接続を使用していない場合でも、この要件の免除を明確に要求している場合はアクセスを許可します。

    : この免除は、一部の DCOM 処理に必要です。
  • 2
    認証された接続を使用している場合にのみ、インターフェイスへのリモート アクセスを許可します。この設定では、認証された接続を使用していない場合の例外的なアクセスを認めません。

RPC クライアントが認証を使用してエンドポイント マッパーと通信するよう構成するための更新

通常、RPC クライアントは RPC エンドポイント マッパーと通信するときに認証を使用しません。現時点では、動的エンドポイントを使用して呼び出しを行う RPC クライアントは、まずサーバー上の RPC エンドポイント マッパーを照会して、接続するエンドポイントを決定します。この照会は、RPC クライアント呼び出しが RPC セキュリティを使用して実行される場合でも匿名で実行されます。

この更新により、DWORD レジストリ エントリとして EnableAuthEpResolution が導入されます。このエントリを構成すると、この現象を制御できます。この新しいレジストリ エントリは、RPC クライアントが、Windows XP SP2 を実行しているシステム上の動的エンドポイントを登録している RPC サーバーへの呼び出しを行うために必要です。クライアント コンピュータではこのレジストリ キーを設定することで、RPC エンドポイント マッパーへの認証されたクエリを実行するようにする必要があります。 EnableAuthEpResolution レジストリ エントリは、次のレジストリ サブキーにあります。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\RPC
必要に応じて、EnableAuthEpResolution を以下のいずれかの値に設定してください。
  • 0
    クライアント コンピュータはサーバー上のエンドポイント マッパーと通信するときに認証を使用しません。
  • 1 (default)
    エンドポイント マッパーのクエリが認証された RPC 呼び出しのコンテキストにある場合、クライアント コンピュータはサーバーに対するエンドポイント マッパー要求で認証を使用します。

特定のインターフェイス定義言語 (IDL) 構造体のマーシャリングとアンマーシャルが RPC によって正しく処理されない

Microsoft Windows が実行されている他のコンピュータと RPC を使用してネットワーク経由で通信するプログラムが異常終了することがあります。たとえば、2 台のリモート コンピュータ間でユーザー定義の Microsoft Visual Basic プログラムを使用する場合、その Visual Basic プログラムでユーザー定義の型マーシャリングが使用されていると、特定の IDL 構造体のマーシャリングとアンマーシャルが正しく処理されないことがあります。たとえば、次のいずれかの現象が発生することがあります。
  • リモート呼び出しに失敗し、Visual Basic プログラムによってエラー コード RPC_X_BAD_STUB_DATA が返されます。
  • 誤ったデータのアンマーシャルが行われます。

RPC に正しくないエラー コード マッピングが存在する

RPC インターフェイスから発生したセキュリティ コールバックがエラー コード 1717 を返すと、Windows のローカル RPC (LRPC) コードがこのエラー コードをエラー コード 5 "アクセス拒否" に誤って変換します。

System.adm ファイルに RestrictRemoteClients オプションと EnableAuthEpResolution オプションを追加するための更新

この更新により、グループ ポリシーの管理用テンプレート System.adm に RPC RestrictRemoteClients オプションと EnableAuthEpResolution オプションが追加されます。

RPC コンポーネントにより、状態コード STATUS_UNSUCCESSFUL が誤って処理される

オペレーティング システムで使用できるプール メモリがなくなったことを示すエラー コードが Windows の RPC コンポーネントによって正しく処理されません。このエラー コードが正しく処理されないため、サーバーとのセッションが終了します。そのため、使用可能なコンテキスト ハンドルが予想以上に早くなくなります。

結合ハンドルが存在する間、SEC_WINNT_AUTH_IDENTITY 構造体が有効であることを要求しないように RpcBindingSetAuthInfoEx 関数を変更するための更新

現在の RpcBindingSetAuthInfoEx 関数では、この関数に渡される SEC_WINNT_AUTH_IDENTITY 構造体が結合ハンドルの存在する間は有効である必要があります。この構造体には、パスワード情報など、他人に知られたくないユーザーの情報が含まれています。

この更新により、メモリ内にクリア テキストの資格情報を保持するという MSDN の要件が、RpcBindingInqAuthInfo(Ex) 関数を呼び出す場合にのみ適用されるようコードが修正されます。RpcBindingInqAuthInfo(Ex) 関数を呼び出さない場合、資格情報を利用可能な状態にしておく必要はなく、クリア テキストの資格情報がコピーされ、暗号化されます。そのため、ユーザーから渡される資格情報のパラメータを解放することができます。

TCP サーバーまたは UDP RPC サーバーがエンドポイント マッパーに登録されている場合に Windows ファイアウォールでポート 135 を自動的に開くための更新

動的エンドポイントを使用する RPC プログラムは、Windows ファイアウォールで通信が許可されていても、ポート 135 またはポート 593 を手動で開かないと通信できません。この更新により、RPC プロトコルが修正され、追加の Windows ファイアウォール API が呼び出されるようになります。この API は、プログラムが Windows ファイアウォールで許可され、動的エンドポイントを使用している場合に以下のことを行います。
  • TCP プロトコル シーケンスの場合は、TCP ポート 135 を自動的に開きます。
  • HTTP プロトコル シーケンスの場合は TCP ポート 593 を自動的に開きます。

Microsoft Windows Server 2003 から RPC over HTTP コンポーネントの機能をインポートするための更新

Windows Server 2003 の RPC over HTTP コンポーネントには、Windows XP の RPC over HTTP コンポーネントに対するセキュリティの更新と機能の更新が多く含まれています。この更新により、Windows Server 2003 の RPC over HTTP コンポーネントで更新された機能が、SP2 適用後の Windows XP に組み込まれます。

埋め込みユーザー定義型のバッファ サイズが 16 MB を超えると、エラー メッセージ "0x800706f7" が表示される

ユーザー定義型のバッファ サイズが 16 MB を超えると、プロセス間でそのユーザー定義型を渡すことができない場合があります。16 MB より大きいユーザー定義型をプロセス間で渡そうとすると、次のようなメッセージが表示されることがあります。

0x800706f7
スタブは正しくないデータを受信しました。


Windows XP SP2 ネットワーク保護技術における機能の変更の詳細については、次のマイクロソフト Web サイトを参照してください。
http://www.microsoft.com/japan/technet/prodtechnol/winxppro/maintain/sp2netwk.mspx

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 838191 (最終更新日 2005-01-26) を基に作成したものです。

プロパティ

文書番号: 838191 - 最終更新日: 2005年9月21日 - リビジョン: 3.2
この資料は以下の製品について記述したものです。
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Media Center Edition Service Pack 2 (SP2)
  • Microsoft Windows XP Tablet PC Edition 2005
キーワード:?
kbtshoot kberrmsg kbenv kbfix kbbug KB838191
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com