TCP スタックの新しい Memory Pressure Protection 機能について

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

目次

はじめに

この資料では、TCP スタックの新しい Memory Pressure Protection 機能について説明します。この新機能は、セキュリティ更新プログラム 967723 により提供されます。

詳細

Memory Pressure Protection 機能は 3 つのセキュリティ設定から構成されます。これらの設定は、Memory Pressure Protection (MPP)、Profiles、および Port Exemption です。

MPP 設定

MPP 設定は機能を定義し、また攻撃が検出された場合の次の 2 つの動作を含みます。
  • 既存の TCP 接続の強制終了
  • 着信 SYN 要求の廃棄
管理者は、netsh コマンドを使用することで、MPP 設定を有効または無効にすることができます。管理者が MPP 設定を有効または無効にすると、この機能が有効または無効になります。

Profiles 設定

Profiles 機能は、管理者がパブリック インターフェイスと非パブリック インターフェイスを区別するのに役立ちます。インターフェイスがドメイン コントローラーにアクセスできる場合、インターフェイスがドメインに参加しているか、管理者がインターフェイスをプライベートに構成できることが示されます。Profiles 機能は、Windows Vista および Windows Server 2008 のみで使用できます。

コンピューターがメモリの少ない状態で攻撃を受けている場合、Profiles 設定は、ドメインに参加しているインターフェイス上およびプライベート インターフェイス上での TCP 接続を強制終了するコンピューターの機能および着信 SYN 要求を廃棄する機能を決定します。Windows Server 2003 では、管理者はレジストリ エントリを使用して特定のインターフェイス上の MPP 機能を無効にする必要があります。詳細については、「Windows Server 2003 でのこれらの設定の構成」を参照してください。既定では、Profiles 設定は有効になっています。この設定が有効である場合、管理者はどのような状況でも、ドメインに参加しているインターフェイス上およびプライベート インターフェイス上で TCP 接続を強制終了したり SYN を廃棄したりしないことを決定しています。攻撃を受け、管理者がドメインに参加しているインターフェイス上およびプライベート インターフェイス上で TCP 接続を強制終了し、SYN を廃棄する場合、Profiles 設定を無効にする必要があります。

: MPP 設定が有効であり、攻撃が検出された場合、Profiles 設定が有効であっても、管理者はパブリック インターフェイス上で接続を強制終了することを停止できません。Profiles 設定機能は、ドメインに参加したプライベート インターフェイスを対象としています。ただし、このような場合も、管理者は Port Exemption 設定を使用してパブリック インターフェイス上の特定のポートを MPP アクションから除外することができます。

Port Exemption 設定

Port Exemption 設定により、管理者はポートに固有の例外を行うことができます。既定では、MPP 設定が有効である場合、Memory Pressure Protection 機能はすべてのポートの接続に対して有効になります。攻撃が検出された場合、MPP および Profiles 設定に基づいて、既存の接続が強制終了されたり着信 SYN が廃棄されたりする場合があります。ただし、管理者は特定のボート上の接続に対して例外を設定できます。これを行うにはポート除外リストで指定します。

注:
  • Port Exemption リストは単一のグローバルなリストで、すべてのインターフェイスと IP アドレスに適用されます。
  • Port Exemption 設定は、ポート上で TCP 接続が確立される前に有効になります。サーバー アプリケーションを起動する前に、MPP に関連するすべての設定を構成することをお勧めします。

サーバー上およびクライアント上でのこれらの設定の既定値

元に戻す全体を表示する
サーバー上の既定値クライアント上の既定値
MPP有効無効
Profiles有効有効
Port Exemption除外なし除外なし
: これらの設定が変更され、管理者が既定の設定に戻す場合、管理者は次の netsh コマンドを使用できます。
netsh int tcp reset
: netsh int tcp reset コマンドを使用する前に、「既知の問題」を参照してください。

Windows Vista でのこれらの設定の構成

管理者は netsh コマンドを使用すると、実行時に MPP、Profiles、および Port Exemption 設定を更新することができます。これらの設定は、TCP 接続がプルーニングの候補であるかどうかを決定します。この評価は、その時点での設定に応じて、その TCP 接続の Transmission Control Block が作成された時点に行われます。
  • netsh int tcp reset

    その他の TCP 設定と共にセキュリティ設定をリセットします。これらのセキュリティ設定には、MPP、Profiles、Port Exemption、および接続速度制限の設定が含まれます。
  • netsh int tcp show security

    MPP、Profiles、および Port Exemption の現在適用されているセキュリティ設定を表示します。
  • netsh int tcp set security mpp=[enabled|disabled|default]

    MPP 設定を切り替えます。
  • netsh int tcp set security Profiles=[enabled|disabled|default]

    Profiles 設定を切り替えます。
  • netsh int tcp set security startport=<x> numberofports=<y+1> mpp=[enabled|disabled|default]

    x から x+y のポート範囲に対して Port Exemption を指定します。x および x+y が有効なポート範囲 (0 〜 65535) 内に存在するようにする必要があります。



    ポート範囲の除外を追加する
    コマンド プロンプトで以下のコマンドを入力し、Enter キーを押します。
    netsh int tcp set security startport=5000 numberofports=10 mpp=disabled
    このコマンドにより、ポート 5000 〜 5009 で MPP 機能が無効になります。

    ポート範囲の除外を削除する
    コマンド プロンプトで以下のコマンドを入力し、Enter キーを押します。
    netsh int tcp set security startport=5000 numberofports=10 mpp=enable
    このコマンドにより、最初の例で追加された除外エントリが削除されます。

    : 重複するポート範囲とサブ範囲は、netsh int tcp set security コマンドにより処理されません。

Windows Server 2003 でのこれらの設定の構成

Windows Server 2003 では、レジストリを使用してこれらの設定を構成する必要があります。

Windows Server 2003 での MPP 設定の構成

重要: このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。レジストリを誤って変更すると、深刻な問題が発生することがあります。レジストリを変更する際には十分に注意してください。万一に備えて、編集の前にレジストリをバックアップしてください。問題が発生した場合でも、レジストリを復元できます。バックアップおよび復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法


MPP 設定を有効または無効にするには、次のレジストリ エントリを使用します。
: 次のレジストリ エントリは既定では使用できません。変更するには作成する必要があります。レジストリ エントリは存在しませんが、MPP 設定は既定で有効であり、除外されるポートはありません。
  • Internet Protocol version 4 (IPv4):
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableMPP
  • Internet Protocol version 6 (IPv6):
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\EnableMPP
たとえば、IPv4 で MPP 設定を無効にするには、以下の手順を実行します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。[名前] ボックスに「regedit」と入力し、[OK] をクリックします。
  2. 次のレジストリ サブキーを見つけてクリックします。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. [編集] メニューの [新規] をポイントし、[DWORD 値] をクリックします。
  4. EnableMPP」と入力し、Enter キーを押します。
  5. [EnableMPP] を右クリックし、[修正] をクリックします。
  6. [値のデータ] ボックスに「0」と入力し、[OK] をクリックします。
  7. レジストリ エディターを終了します。
  8. コンピューターを再起動します。
注:
  • MPP 設定を再度有効にする場合は、EnableMPP レジストリ エントリの DWORD 値を 1 に設定し、コンピューターを再起動します。
  • 以下の同じ手順を実行すると、IPv6 で MPP 設定の以下のレジストリ エントリを構成することができます。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\EnableMPP

Windows Server 2003 での特定のインターフェイス用の MPP 設定の構成

重要: このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。レジストリを誤って変更すると、深刻な問題が発生することがあります。レジストリを変更する際には十分に注意してください。万一に備えて、編集の前にレジストリをバックアップしてください。問題が発生した場合でも、レジストリを復元できます。バックアップおよび復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法


: 既定では、Windows Server 2003 で MPP 機能はすべてのインターフェイスで有効になっています。

特定のインターフェイスに対して MPP 設定を有効または無効にするには、次のレジストリ サブキーを使用します。
  • IPv4:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\<GUID>\DisableMPPOnIF
  • IPv6:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip6\Parameters\Interfaces\<GUID>\DisableMPPOnIF
たとえば、IPv4 で特定のインターフェイスの MPP 設定を無効にするには、以下の手順を実行します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。[名前] ボックスに「regedit」と入力し、[OK] をクリックします。
  2. 次のレジストリ サブキーを見つけてクリックします。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\<GUID>
  3. [編集] メニューの [新規] をポイントし、[DWORD 値] をクリックします。
  4. DisableMPPOnIF」と入力し、Enter キーを押します。
  5. [DisableMPPOnIF] を右クリックし、[修正] をクリックします。
  6. [値のデータ] ボックスに「1」と入力し、[OK] をクリックします。
  7. レジストリ エディターを終了します。
  8. コンピューターを再起動します。
: 以下の同じ手順を実行すると、IPv6 で特定のインターフェイスに対して MPP 設定の以下のレジストリ サブキーを構成することができます。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip6\Parameters\Interfaces\<GUID>\DisableMPPOnIF

Windows Server 2003 での Port Exemption 設定の構成

重要: このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。レジストリを誤って変更すると、深刻な問題が発生することがあります。レジストリを変更する際には十分に注意してください。万一に備えて、編集の前にレジストリをバックアップしてください。問題が発生した場合でも、レジストリを復元できます。バックアップおよび復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法


x から y のポート範囲に対して Port Exemption を指定するには、次のレジストリ エントリを使用します。
  • IPv4:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MPPExcludedPorts
  • IPv6:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\MPPExcludedPorts
たとえば、IPv4 で xxxx から yyyy のポート範囲に対して Port Exemption を指定するには、以下の手順を実行します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。[名前] ボックスに「regedit」と入力し、[OK] をクリックします。
  2. 次のレジストリ サブキーを見つけてクリックします。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. [編集] メニューの [新規] をポイントし、[複数行文字列値] をクリックします。
  4. MPPExcludedPorts」と入力し、Enter キーを押します。
  5. [MPPExcludedPorts] を右クリックし、[修正] をクリックします。
  6. [値のデータ] ボックスに、xxxx-yyyy の形式でポート範囲を入力し (5000-5010 など)、[OK] をクリックします。
  7. レジストリ エディターを終了します。
  8. コンピューターを再起動します。
注:
  • xxxx-yyyy の形式でポート範囲を指定する必要があります。また、xxxx および yyyy は有効なポート範囲内にあります。範囲には開始の値と終了の値が含まれます。
  • 以下の手順を実行すると、IPv6 で Port Exemption 設定の以下のレジストリ サブキーを構成することができます。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\MPPExcludedPorts
  • このリストで指定できるポート範囲には 12 個の制限があります。それ以上の範囲は無視され、除外は適用されません。

既知の問題

  • Windows Vista SP2 および Windows Server 2008 SP2 では、接続速度制限は netsh int tcp reset コマンドの影響を受けます。

    このセキュリティ更新プログラムをインストールする前に、netsh int tcp reset コマンドを実行すると TCP 設定がリセットされます。これには、Chimney パラメーター、Explicit Congestion Notification (ECN)、受信ウィンドウ自動チューニング、Compound TCP (CTCP)、およびタイムスタンプが含まれます。このセキュリティ更新プログラムをインストールした後、netsh int tcp reset コマンドを実行すると、MPP、Profiles、および接続速度制限の設定が含まれるセキュリティ設定もリセットされます。MPP および Profiles 設定が想定される場合であっても、接続速度制限の設定のリセットは実行時にも行われます。接続速度制限を再度設定するには、レジストリ サブキーを変更する必要があります。 接続速度制限の設定の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
    969710 Windows Vista Service Pack 2 および Windows Server 2008 Service Pack 2 でハーフオープンの TCP 接続制限を有効にする方法
  • Windows Server 2003 では、セキュリティ更新プログラム 967723 をインストールしてから IPv6 をインストールした場合、イベント ログには IPv6 イベント ID 4229 に関する次のような情報が含まれています。
    ソース Tcpip6 からのイベント ID 4229 の説明が見つかりません。このイベントを発生させるコンポーネントがローカル コンピューターにインストールされていないか、インストールが壊れています。ローカル コンピューターにコンポーネントをインストールするか、コンポーネントを修復してください。

    イベントが別のコンピューターから発生している場合、イベントと共に表示情報を保存する必要があります。

    イベントには次の情報が含まれています:

    メッセージ リソースは存在しますが、メッセージが文字列テーブル/メッセージ テーブルに見つかりません。
    この問題を解決するには、更新プログラムを再インストールするか、手動で以下のレジストリ サブキーを追加する必要があります。
    • Windows Server 2003 SP2 では、
      HKLM\System\CCS\Services\eventlog\System\tcpipv6\EventMessageFile
      の下に文字列 %systemroot%system32\w03a3409.dll を追加します。
    • Windows Server 2003 SP1では、
      HKLM\System\CCS\Services\eventlog\System\tcpipv6\EventMessageFile
      の下に文字列 %systemroot%system32\w03a2409.dll を追加します。
    • Windows Server 2003 では、
      HKLM\System\CCS\Services\eventlog\System\tcpipv6\EventMessageFile
      の下に文字列 %systemroot%system32\ws03res.dll を追加します。

プロパティ

文書番号: 974288 - 最終更新日: 2009年9月14日 - リビジョン: 1.3
この資料は以下の製品について記述したものです。
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Web Server 2008
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Starter
  • Windows Vista Ultimate
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
キーワード:?
kbsecvulnerability kbsecbulletin kbsecadvisory kbaccctrl kbsurveynew kbexpertisebeginner atdownload KB974288
"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