Windows TIPS
[Network]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

Windows Vistaのファイアウォールでアウトバウンド通信をブロックする

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2007/06/15
 
対象OS
Windows Vista
Windows Vistaのファイアウォールでは、インバウンドだけでなく、アウトバウンドのトラフィックも規制できる。
デフォルトではすべてのアウトバウンド通信が許可されているが、ファイアウォール規則を追加して、特定のアウトバウンド通信を禁止できる。
 
解説

RRASのパケット・フィルタリング機能
Windows XPのファイアウォール機能
TIPS:Windows XPのファイアウォール機能を活用する

 Windows Vistaのファイアウォール機能は、Windows XPのものと比較すると、アウトバウンド通信をブロックする機能が追加されている。従来のWindows XPのファイアウォール(Windowsファイアウォール。これはWindows Vistaでも同様に利用可能)では、基本的にはインバウンドの通信のみをブロックし、アウトバウンドの通信はデフォルトではすべて許可されていたが、Windows Vistaではアウトバウンド通信もブロックできるようになっている(この機能は、従来からあるRRASのパケット・フィルタ機能を拡張したものと思われる。RRASのパケット・フィルタについては関連記事などを参照のこと)。

 本TIPSでは、このアウトバウンド通信をブロックする方法について簡単に解説する。より本格的な利用方法については、別記事で詳細に取り上げる。

操作方法

 Windows Vistaでアウトバウンドの通信トラフィックをブロックするには、[コントロール パネル]−[Windowsファイアウォール]ツールではなく、新しく追加された管理ツールを利用する。管理ツールは[スタート]ボタンの[管理ツール]−[セキュリティが強化されたWindowsファイアウォール]で起動できる。

[セキュリティが強化されたWindowsファイアウォール]管理ツール
Windows Vistaでは、新しくアウトバウンド方向の通信トラフィックを制御できるようになった。このための管理ツールは従来の[コントロール パネル]−[Windowsファイアウォール]ではなく、[スタート]ボタンの[管理ツール]−[セキュリティが強化されたWindowsファイアウォール]を利用する。
  受信の規則。インバウンド通信のフィルタ。従来のWindowsファイアウォールで利用可能なフィルタ機能。
  送信の規則。これが今回設定したいアウトバウンド通信のフィルタ。
  SSL通信のためのフィルタ設定。
  ファイアウォールの状態などの確認。
  デフォルトで定義されているアウトバウンド・フィルタ。先頭が緑色のものがアクティブなフィルタ、灰色のものが(定義されてはいるが、一時的に)無効に設定されているフィルタ。
  これをクリックすると新しいフィルタ規則を定義できる。

新しいアウトバウンド通信フィルタ規則の定義

 新しいアウトバウンドのフィルタを定義するには、上記画面の([送信規則]ツリー)を選択しておき、右側の[操作]の一覧から[新規の規則]()をクリックする。するとフィルタの設定ウィザード画面が表示されるので、必要なパラメータなどをセットする。ここでは例として、ftpクライアントからのインターネット・アクセス(ftpコマンドを使って、リモートのftpサイトへアクセスする操作)を禁止してみよう。ftpコマンドでは最初に、外部のftpサーバ(TCPのポート21番でリッスンしている)に対して、TCPで接続する。この通信要求(TCPの21番ポートに対するアウトバウンド・トラフィック)をブロックすれば、ftpコマンドの利用を禁止できる。

 なおこのファイアウォール設定では、「デフォルトで送信はすべて禁止、だが特定のものだけ許可」という方法と、「デフォルトですべて許可、だが特定のものだけ禁止」という2通りの方法が利用できるが、ここでは後者の方法について解説する。Windows Vistaのファイアウォールでは、デフォルトでは送信はすべて許可になっているため、禁止したいいくつかのプロトコルを定義するだけでよい。

 まずウィザードの最初の画面では、ブロックの種類を選択する。ここではポート番号に基づいて制限したいので[ポート]を選択する。

フィルタ規則ウィザード
ポートで通信をブロックしたいので、種類を[ポート]にする。
  これを選択する。
  これをクリックして次へ進む。

 次の画面では、プロトコルのタイプとポート番号を設定する。が、ここで1つ重要なことがある。今回はTCPの21番ポートへのアクセス(アウトバウンド・アクセス)をブロックしたいのだが、この画面で設定するのは、リモートのポート番号ではなく、ローカルのポート番号となっている。ftpでサーバ側の21番ポートへ接続する場合、リモートのポート番号は21であるが、ローカル側のポート番号は実行時にランダムに選ばれる。よって、この画面でポート番号として「21」と入力してはいけない。この画面では取りあえずポート番号を指定せずに先へ進み、後でリモートのポート番号を設定すればよい。

プロトコルの種類とポート番号の指定
この画面では、ブロックしたい通信のプロトコル種別と、ポート番号を指定する。がよくみれば分かるように、この画面では、「ローカルのポート」の番号を指定するようになっている。ftpコマンドによる外部アクセスを禁止する場合は、ローカルのポート番号ではなく、「リモートのポート」番号を指定する必要がある。このウィザード画面は、サーバのように、固定的なポート番号を使ってローカルでリッスンしているケースで、その通信をブロックするために利用するもののようである。今回はこの画面ではポート番号を設定せずに、スキップしておく。なおこのようなフィルタの設定方法や機能から推測すると、これは以前からTCP/IPのプロトコル・スタック内に組み込まれていたRRASのパケット・フィルタ機能を拡張したもののように思われる。
  プロトコルの種類を[TCP]にしておく。
  ftpクライアントでは、ローカル側のポート番号は不定なので(実行時に動的に決まるため)、ここではポート番号は指定せずにウィザードを進める。
  デフォルトはこちらになっている。ローカルの固定ポート上でサーバを起動している場合には、これによって、ローカルからの応答送信をブロックできる。
  ローカル側のポート番号指定。
  これをクリックして次へ進む。

 次はブロックするか、許可するかを選択する。デフォルトで全送信をブロックしている場合は、[接続を許可する]を選んで、許可したい通信ごとに規則を定義する。

フィルタ規則の動作
今回はデフォルトで送信はすべて許可しているので、禁止したいアウトバウンド通信を個別の規則で定義する。
  これを選択する。

 この後、ウィザード画面では使用するプロファイルを選ぶが、それはデフォルトのままにして、すべてのプロファイルを選択しておけばよい。ウィザードの最後の画面でこの規則に名前を付ける、ここでは「FTP通信のブロック」としておいた。

 以上で規則の定義は終了であるが、このままではすべての送信トラフィックがブロックされてしまう。先のポート指定画面で[すべてのローカル ポート]を選んだので、あらゆる通信トラフィックがこれに合致してしまっているからだ。そこで、素早く次の作業を行う(次の設定が完了するまで、外部とは通信できなくなっているはずである)。

 上で定義した「FTP通信のブロック」という規則を右クリックして、ポップアップ・メニューから[プロパティ]を選択する(規則を選んで、[操作]から[プロパティ]を選んでもよい)。そして[プロトコルおよびポート]というタブを選択する。

ブロックするポート番号の設定
定義した規則のプロパティを変更して、リモートのポート番号を設定し直す。
  このタブを選択して、ポート番号を設定し直す。
  元は[すべてのポート]となっているはずであるが、これを[特定のポート]に変更しておく。
  ポート番号を設定する。ftpサーバの制御ポートは21番なので(ftpサーバは、TCPの21番ポートでリッスンしている)、ここには「21」と入力する。

 以上で設定は終了である。[OK]ボタンをクリックすると設定が反映され、例えば「ftp ftp.microsoft.com」といったコマンドを実行しても、接続が失敗するはずである。ファイアウォールのログを残すように設定していれば、行末が「SEND」となっているログが記録されているはずである。ログ・ファイルの設定方法については、TIPS「Windows Vistaのファイアウォール・ログを有効にする」を参照していただきたい。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間