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

目次

概要

Microsoft Windows XP Service Pack 2 (SP2) に含まれている Microsoft Windows ファイアウォールは、インターネット接続ファイアウォール (ICF) に代わる、更新されたファイアウォール ソフトウェアです。サービスやプログラムで使用するポートが Microsoft Windows ファイアウォールによってブロックされている場合でも、Windows ファイアウォールの設定で、例外としてブロックしないポートを指定することができます。次のいずれかの条件に該当する場合、Windows ファイアウォールでプログラムまたはサービスがブロックされている可能性があります。
  • プログラムがクライアントの要求に応答しません。
  • クライアント プログラムがサーバーからのデータを受信しません。
Windows ファイアウォールのセキュリティの警告で、Windows ファイアウォールで特定のプログラムがブロックされているという通知が表示される場合があります。この場合、[Windows セキュリティの重要な警告] ダイアログ ボックスで [ブロックを解除する] をクリックすると、プログラムのブロックを解除できます。Windows ファイアウォールでは、ブロックされているプログラムやポートを特定するために、ドロップされたパケットをログに出力するよう構成できます。Windows ファイアウォール Netsh Helper を使用すると、Windows ファイアウォールや Windows ファイアウォールのログをコマンド プロンプトで構成できます。問題の原因がプログラムの互換性にあるとは限りません。グループ ポリシーの設定によって、プログラムが実行できなくなっている場合もあります。Windows XP Service Pack 2 (SP2) には、Windows ファイアウォールの問題のトラブルシューティングに使用できるユーティリティがいくつか含まれています。

はじめに

ファイアウォールによるブロックの問題を解決する最善の方法は、ステートフルなフィルタ ファイアウォールに対応するようにプログラムを変更することです。プログラムを変更できない場合は、Windows ファイアウォールで特定のポートやプログラムを例外として追加できます。この資料では、Windows XP Service Pack 2 ファイアウォールのデフォルトの構成に関連するエラー現象、ポートやプログラムの例外の構成方法、およびファイアウォールの設定のトラブルシューティング方法について説明します。

詳細

エラーの現象を認識する

デフォルトのファイアウォール構成に関連するエラーは、次の 2 つの形で現れます。
  • クライアント プログラムでサーバーからのデータを受信できません。たとえば、次のクライアント プログラムでデータを受信できなくなります。

    • FTP クライアント
    • マルチメディア ストリーミング ソフトウェア
    • 一部の電子メール プログラムの新着メール通知
  • Windows XP ベースのコンピュータで実行されているサーバー プログラムがクライアントの要求に応答しません。たとえば、次のサーバー プログラムが応答しなくなります。

    • インターネット インフォメーション サービス (IIS) などの Web サーバー
    • リモート デスクトップ
    • ファイル共有
    注意事項

    • ネットワーク プログラムのエラーは、ファイアウォールの問題が原因で発生するとは限りません。RPC や DCOM のセキュリティ変更によって発生する場合もあります。したがって、エラー発生時に、プログラムがブロックされていることを示す Windows ファイアウォールのセキュリティの警告が表示されるかどうかを確認する必要があります。
    • サービス エラーの場合は、Windows ファイアウォールのセキュリティの警告が表示されません。これは、サービスは通常、ユーザーのログオン セッションと関連付けられていないためです。エラーがサービス関連である場合は、「Windows セキュリティ センターを使用して Windows ファイアウォールを構成する」の説明に従ってファイアウォールを構成します。
プログラムがブロックされている場合、次のような Windows ファイアウォールのセキュリティの警告が表示されることがあります。
コンピュータを保護するため、このプログラムの機能の一部が Windows ファイアウォールでブロックされています。

名前 : Program_Name
発行元 : Publisher_Name
ブロックする
ブロックを解除する
後で確認する
Windows ファイアウォールで、このプログラムでのインターネットやネットワークからの接続の受信をブロックしました。プログラムを認識している場合、または発行元が信頼できる場合は、ブロックを解除することができます。どのプログラムに対してブロックを解除できるか表示します。

元に戻す画像を拡大する
Windows セキュリティの警告



Windows ファイアウォールのセキュリティの警告を使用して Windows ファイアウォールを構成する

プログラムのブロックを解除するには、[セキュリティの警告] ダイアログ ボックスの [ブロックを解除する] をクリックします。

Windows セキュリティ センターを使用して Windows ファイアウォールを構成する

プログラムの例外を追加する

プログラムを例外一覧に追加すると、ファイアウォールによって一定の範囲のポートが開かれますが、この範囲はプログラムを実行するたびに変更できます。プログラムの例外を追加するには、次の手順を実行します。
  1. 管理者アカウントを使用してログオンします。
  2. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。

    元に戻す画像を拡大する
    [スタート] メニュー


  3. [名前] ボックスに wscui.cpl と入力し、[OK] をクリックします。

    元に戻す画像を拡大する
    [ファイル名を指定して実行] ダイアログ ボックス


  4. [Windows セキュリティ センター] ウィンドウで [Windows ファイアウォール] をクリックします。

    元に戻す画像を拡大する
    Windows セキュリティ センター


  5. [例外] タブの [プログラムの追加] をクリックします。

    元に戻す画像を拡大する
    [Windows ファイアウォール] ダイアログ ボックス


  6. [プログラム] ボックスの一覧で、追加するプログラムの名前をクリックし、[OK] をクリックします。該当するプログラムの名前が [プログラム] ボックスの一覧にない場合は、[参照] をクリックし、[参照] ダイアログ ボックスで該当するプログラムを選択し、[OK] をクリックします。

    元に戻す画像を拡大する
    [プログラムの追加] ダイアログ ボックス


    : プログラムの場所がわからない場合は、プログラムの製造元に問い合わせてプログラムの場所を確認してください。

    プログラムの製造元の問い合わせ先を参照するには、以下の該当する「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
    65416 ハードウェア関連およびソフトウェア関連のサードパーティ ベンダの問い合わせ先一覧 (A 〜 K)

    60781 ハードウェア関連およびソフトウェア関連のサードパーティ ベンダの問い合わせ先一覧 (L 〜 P)

    60782 ハードウェア関連およびソフトウェア関連のサードパーティ ベンダの問い合わせ先一覧 (Q 〜 Z)
  7. [OK] をクリックします。
  8. プログラムをテストして、ファイアウォールの設定が正しいことを確認します。

ポートの例外を追加する

プログラムを例外一覧に追加しても問題が解決しない場合は、ポートを手動で追加できます。これを行うには、まずプログラムで使用されるポートを特定する必要があります。使用されるポートを確認する確実な方法は、プログラムの製造元に問い合わせることです。製造元に問い合わせることができない場合や、ポート一覧を入手できない場合は、Netstat.exe ツールを使用して使用中のポートを特定できます。

ポートを特定する
  1. プログラムを起動して、ネットワーク機能を使用します。たとえば、マルチメディア プログラムで、オーディオ ストリームを開始したり、Web サーバーでサービスを開始したりします。
  2. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。

    元に戻す画像を拡大する
    [スタート] メニュー


  3. [名前] ボックスに cmd と入力し、[OK] をクリックします。

    元に戻す画像を拡大する
    [ファイル名を指定して実行] ダイアログ ボックス


  4. コマンド プロンプトで、Netstat -ano > netstat.txt と入力し、Enter キーを押します。このコマンドにより Netstat.txt ファイルが作成され、リッスン状態のポートがすべて表示されます。

    元に戻す画像を拡大する
    コマンド プロンプト ウィンドウ


  5. コマンド プロンプトで、tasklist > tasklist.txt と入力し、Enter キーを押します。問題のプログラムがサービスとして実行される場合は、tasklist > tasklist.txt の代わりに tasklist /svc > tasklist.txt と入力し、各プロセスで読み込まれるサービスが一覧に表示されるようにします。

    元に戻す画像を拡大する
    コマンド プロンプト ウィンドウ


    元に戻す画像を拡大する
    コマンド プロンプト ウィンドウ


  6. Tasklist.txt ファイルを開いて、トラブルシューティング対象のプログラムを検索します。プロセスのプロセス ID をメモしてから、Netstat.txt ファイルを開きます。そのプロセス ID に関連付けられているすべてのエントリと、使用されているプロトコルを確認します。

    元に戻す画像を拡大する
    [Netstat.txt] および [Tasklist.txt] ウィンドウ
プロセスのポート番号が 1024 未満である場合、通常、ポート番号は変更できません。使用されているポート番号が 1024 以上である場合、プログラムで一定の範囲のポートが使用されている可能性があります。したがって、個々のポートを開くことでは問題が解決できない場合があります。

ポートの例外を追加する
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。

    元に戻す画像を拡大する
    [スタート] メニュー


  2. [名前] ボックスに wscui.cpl と入力し、[OK] をクリックします。

    元に戻す画像を拡大する
    [ファイル名を指定して実行] ダイアログ ボックス


  3. [Windows セキュリティ センター] ウィンドウで [Windows ファイアウォール] をクリックします。

    元に戻す画像を拡大する
    Windows セキュリティ センター


  4. [例外] タブをクリックし、[ポートの追加] をクリックして [ポートの追加] ダイアログ ボックスを表示します。

    元に戻す画像を拡大する
    [Windows ファイアウォール] ダイアログ ボックス


  5. プログラムで使用されているポート番号とポートの例外名をわかりやすい名前で入力し、プロトコルとして [TCP] または [UDP] のいずれかを選択します。

    元に戻す画像を拡大する
    [ポートの追加] ダイアログ ボックス


  6. [スコープの変更] をクリックします。

    元に戻す画像を拡大する
    [ポートの追加] ダイアログ ボックス
  7. ポートの例外のスコープを参照または設定し、[OK] をクリックします。

    元に戻す画像を拡大する
    [スコープの変更] ダイアログ ボックス


  8. [OK] をクリックし、[ポートの追加] ダイアログ ボックスを閉じます。

    元に戻す画像を拡大する
    [ポートの追加] ダイアログ ボックス


  9. プログラムをテストして、ポートの設定がプログラムに適していることを確認します。

ログを使用する

ログを有効にすると、受信トラフィックの送信元を特定し、ブロックされているトラフィックの詳細を確認できます。%Windir%\pfirewall.log がデフォルトのログ ファイルです。ログを有効にするには、次の手順を実行します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。

    元に戻す画像を拡大する
    [スタート] メニュー


  2. [名前] ボックスに firewall.cpl と入力し、[OK] をクリックします。

    元に戻す画像を拡大する
    [ファイル名を指定して実行] ダイアログ ボックス


  3. [詳細設定] タブをクリックします。

    元に戻す画像を拡大する
    [Windows ファイアウォール] ダイアログ ボックス


  4. [セキュリティのログ] の [設定] をクリックします。

    元に戻す画像を拡大する
    [詳細設定] タブ


  5. [ドロップされたパケットのログをとる] チェック ボックスをオンにし、[OK] をクリックします。

    元に戻す画像を拡大する
    ログのオプション


  6. [OK] をクリックします。

    元に戻す画像を拡大する
    [Windows ファイアウォール] ダイアログ ボックス

: 正常な送信方向のトラフィックはログに出力されません。また、ブロックされていない送信トラフィックはログに出力されません。


ログ ファイルを解析する

ログ出力されるパケットごとに、次のログ情報が収集されます。

元に戻す全体を表示する
フィールド 説明
日付 出力されたトランザクションが発生した年、月、日を示します。日付は YYYY-MM-DD (YYYY は年、MM は月、DD は日) の形式で出力されます。 2001-01-27
時刻 出力されたトランザクションが発生した時、分、秒を示します。時刻は HH:MM:SS (HH は 24 時間形式の時間、MM は分、SS は秒) の形式で出力されます。 21:36:59
動作 ファイアウォールによって検出された動作を示します。ファイアウォールによって検出される動作には、OPEN、CLOSE、DROP、および INFO-EVENTS-LOST があります。INFO-EVENTS-LOST は、発生したイベントのうち、ログに出力されなかったイベントの数を示します。 OPEN
プロトコル 通信に使用されたプロトコルを示します。TCP、UDP、ICMP を使用していないパケットの番号が出力される場合もあります。 TCP
src-ip 送信元の IP アドレス、つまり通信を確立しようとしているコンピュータの IP アドレスを示します。 192.168.0.1
dst-ip 試みられている通信の送信先 IP アドレスを示します。 192.168.0.1
src-port 送信元コンピュータの送信元ポート番号を示します。src-port の値は、1 〜 65,535 の間の整数の形で出力されます。src-port に有効な値が出力されるのは、TCP および UDP のみです。その他のすべてのプロトコルでは、"-" が出力されます。 4039
dst-port 送信先コンピュータのポート番号を表示します。dst-port の値は、1 〜 65,535 の間の整数の形で出力されます。dst-port に有効な値が出力されるのは、TCP および UDP のみです。その他のすべてのプロトコルでは、"-" が出力されます。 53
サイズ パケット サイズをバイト数で示します。 60
tcpflags IP パケットの TCP ヘッダーにある次の TCP 制御フラグを示します。
  • Ack Acknowledgment field significant
  • Fin No more data from sender
  • Psh Push function
  • Rst Reset the connection
  • Syn Synchronize sequence numbers
  • Urg Urgent Pointer field significant
フラグは大文字で表記されます。
AFP
tcpsyn パケット内の TCP シーケンス番号を示します。 1315819770
tcpack パケット内の TCP 受信確認番号を示します。 0
tcpwin パケット内の TCP ウィンドウ サイズをバイト数で示します。 64240
icmptype ICMP メッセージの "タイプ (type)" フィールドを表す数値を示します。 8
icmpcode ICMP メッセージの "コード (code)" フィールドを表す数値を示します。 0
info 発生した動作の種類に依存する情報を示します。たとえば、INFO-EVENTS-LOST では、この種類のイベントが最後に発生したとき以降に発生したイベントのうち、ログに出力されなかったイベントの数が出力されます。 23

: ハイフン (-) は、該当する項目の情報がないことを示します。


コマンド ライン サポートを使用する

Windows ファイアウォール Netsh Helper は、Microsoft Advanced Networking Pack で Windows XP に追加されました。このコマンド ライン ヘルパーは、以前は IPv6 Windows ファイアウォールに適用されました。Windows XP Service Pack 2 では、Netsh Helper に IPv4 の構成に対するサポートが含まれています。

Netsh Helper を使用すると、次の操作を実行できます。
  • Windows ファイアウォールのデフォルトの状態を構成する (オプションには、[無効]、[有効]、[例外を許可しない] が含まれます)。
  • 開く必要のあるポートを構成する。
  • ポートを構成して、グローバル アクセスを有効にしたり、ローカル サブネットへのアクセスを制限したりする。
  • すべてのインターフェイスで開くか、特定のインターフェイスでのみ開くようにポートを設定する。
  • ログのオプションを構成する。
  • インターネット制御メッセージ プロトコル (ICMP) の処理のオプションを構成する。
  • 例外一覧にプログラムを追加したり、一覧からプログラムを削除したりする。
これらの構成オプションは、その特定の機能が Windows ファイアウォールにない場合を除き、IPv4 Windows ファイアウォールと IPv6 Windows ファイアウォールの両方に適用されます。


診断データを収集する

Windows ファイアウォールの構成および状態の情報は、Netsh.exe ツールを使用してコマンド ラインから取得できます。このツールによって、IPv4 ファイアウォールのサポートが次の Netsh コンテキストに追加されます。
netsh firewall
このコンテキストを使用するには、コマンド プロンプトで netsh firewall と入力し、続けて必要な Netsh コマンドを入力します。ファイアウォールの状態および構成の情報を収集するには、次のコマンドが便利です。
  • Netsh firewall show state
  • Netsh firewall show config

これらのコマンドの出力を netstat -ano コマンドの出力と比較して、リッスン状態のポートが開いていて、対応する例外がファイアウォールの構成で指定されていないプログラムを特定します。サポートされているデータ収集コマンドおよび構成コマンドは、次の表のとおりです。

: 設定は管理者のみが変更できます。

データ収集
元に戻す全体を表示する
コマンド 説明
show allowedprogram 許可されているプログラムを表示します。
show config 詳細なローカルの構成情報を表示します。
show currentprofile 現在のプロファイルを表示します。
show icmpsetting ICMP 設定を表示します。
show logging ログ設定を表示します。
show opmode 操作モードを表示します。
show portopening 例外に指定されているポートを表示します。
show service サービスを表示します。
show state 現在の状態情報を表示します。
show notifications 通知の現在の設定を表示します。

構成
元に戻す全体を表示する
コマンド 説明
add allowedprogram プログラムのファイル名を指定することによって例外トラフィックを追加します。
set allowedprogram 許可されている既存のプログラムの設定を変更します。
delete allowedprogram 許可されている既存のプログラムを削除します。
set icmpsetting 許可される ICMP トラフィックを指定します。
set logging グローバルに、または特定の接続 (インターフェイス) 用に Windows ファイアウォールのログのオプションを指定します。
set opmode グローバルに、または特定の接続 (インターフェイス) 用に Windows ファイアウォールの操作モードを指定します。
add portopening TCP ポートまたは UDP ポートを指定することによって例外トラフィックを追加します。
set portopening 開いている既存の TCP ポートまたは UDP ポートの設定を変更します。
delete portopening 開いている既存の TCP ポートまたは UDP ポートを削除します。
set service RPC および DCOM トラフィック、ファイルやプリンタの共有、UPnP トラフィックを有効にするか、ドロップします。
set notifications プログラムによってポートが開かれるときのユーザーへの通知を有効にするかどうかを指定します。
reset ファイアウォールの構成をデフォルトにリセットします。Windows ファイアウォール インターフェイスの [既定値に戻す] ボタンと同じ機能です。



ファイアウォールのトラブルシューティングを行う

プログラムの互換性の問題と同様、Windows ファイアウォールでは他の問題も発生することがあります。次の手順に従って問題を診断します。
  1. TCP/IP が正常に機能していることを確認するには、ping コマンドを使用してループバック アドレス (127.0.0.1) および割り当てられている IP アドレスをテストします。
  2. ユーザー インターフェイスで構成を確認し、ファイアウォールが意図せず [無効] または [例外を許可しない] に設定されていないかどうかを確認します。
  3. netsh コマンドで構成と状態に関する情報を入手し、意図しない設定によって正常な動作が妨げられていないかどうかを確認します。
  4. コマンド プロンプトで次のコマンドを入力し、"Windows ファイアウォール/インターネット接続共有" サービスの状態を確認します。
    sc query sharedaccess
    SharedAccess は、このサービスの短縮名です。

    このサービスが開始されない場合は、表示された Win32 終了コード (WIN32_EXIT_CODE) に基づいてサービスの開始のトラブルシューティングを行います。
  5. コマンド プロンプトで次のコマンドを入力し、Ipnat.sys ファイアウォール ドライバの状態を確認します。
    sc query ipnat
    このコマンドでも、最後にサービスを開始しようとしたときの Win32 終了コード (WIN32_EXIT_CODE) が返されます。ドライバが起動しない場合は、他のドライバに該当するトラブルシューティング手順を使用します。
  6. ドライバとサービスがいずれも実行されていて、関連するエラーがイベント ログにない場合は、[Windows ファイアウォール] ダイアログ ボックスの [詳細設定] タブにある [既定値に戻す] を使用して、問題の原因になる可能性のある構成を排除します。
  7. 問題が依然として解決されない場合は、予期しない動作の原因と考えられるポリシー設定を探します。これを行うには、コマンド プロンプトで GPResult /v > gpresult.txt と入力し、作成されるテキスト ファイルを参照して、ファイアウォールに関連する構成済みのポリシーを確認します。

Windows ファイアウォール グループ ポリシーを構成する

ネットワーク管理者に連絡して、プログラムやシナリオが企業環境で動作しない原因がグループ ポリシーの設定にあるかどうかを確認します。

Windows ファイアウォールのグループ ポリシー設定は、グループ ポリシー オブジェクト エディタ スナップインの以下のパスにあります。
  • コンピュータの構成/管理用テンプレート/ネットワーク/ネットワーク接続/Windows ファイアウォール
  • コンピュータの構成/管理用テンプレート/ネットワーク/ネットワーク接続/Windows ファイアウォール/ドメイン プロファイル
  • コンピュータの構成/管理用テンプレート/ネットワーク/ネットワーク接続/Windows ファイアウォール/標準プロファイル

これらの場所から、次のグループ ポリシー設定を構成できます。
  • Windows ファイアウォール: 認証された IPSec のバイパスを許可する
  • Windows ファイアウォール: ネットワーク接続をすべて保護する
  • Windows ファイアウォール: 例外を許可しない
  • Windows ファイアウォール: プログラムの例外を定義する
  • Windows ファイアウォール: ローカル プログラムの例外を許可する
  • Windows ファイアウォール: リモート管理の例外を許可する
  • Windows ファイアウォール: ファイルとプリンタの共有の例外を許可する
  • Windows ファイアウォール: ICMP の例外を許可する
  • Windows ファイアウォール: リモート デスクトップの例外を許可する
  • Windows ファイアウォール: UPnP フレームワークの例外を許可する
  • Windows ファイアウォール: 通知を禁止する
  • Windows ファイアウォール: ログの記録を許可する
  • Windows ファイアウォール: マルチキャストまたはブロードキャスト要求に対するユニキャスト応答を禁止する
  • Windows ファイアウォール: ポートの例外を定義する
  • Windows ファイアウォール: ローカル ポートの例外を許可する

Windows ファイアウォールのグループ ポリシー設定の詳細については、次のホワイト ペーパーをダウンロードしてください。
Microsoft Windows XP Service Pack 2 向け Windows ファイアウォール設定の導入

プロパティ

文書番号: 875357 - 最終更新日: 2006年9月15日 - リビジョン: 1.6
この資料は以下の製品について記述したものです。
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
キーワード:?
kbhowtomaster kbtshoot kbgraphxlink kbscreenshot kbnomt KB875357
"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