豊田 孝

 前回は,Windowsプロセス,ポート番号,そしてインターネットの関係を取り上げ,次のように定義しました。

“論理ポートを開くということは,その論理ポートを使用しているWindowsプロセスをインターネットに公開することである”

 皆さんはこの定義文からどのようなことをお感じになるでしょうか?“Windowsプロセスをインターネットに公開する”ということは,インターネットを利用してさまざまな活動を展開することです。しかし,その一方で,Windowsプロセスは,技術的には,メモリーにロードされ,今まさに動作中のプログラムであることも忘れてはいけません。

 すべてのプログラムは,私たち人間から発せられる命令を理解するコードの集合であり,命令があれば,それに従って動作します。このため,インターネットに公開(つまり,接続)されたWindowsプログラムは,インターネット側からやってくる要求命令を受け付け,その要求内容に応じて,忠実に動作します。中にはこれを悪用し,技術的な弱点をついて,Windowsプロセスを実行しているシステム環境にダメージを与える要求を意図的に送り付ける人もいます。以上から,私たちは,次のような認識を持つ必要があるといえます。

“時には,インターネットに公開しているWindowsプロセスへの要求の受け付けを停止する必要がある”

 本日は,CATVケーブル・モデムやxDSLモデム経由で常時インターネットに接続している個人ユーザーを想定し,「要求の受け付けを停止する」方法を紹介します。要求の受け付けを停止することは,対策の一つにすぎません。何らかの対策を取る場合,私たちはインターネット側からやってくる要求を監視し,それを分析する必要がありますが,こちらの方面の解説は他の記事に譲ります。

要求受け付けの停止

 論理ポートを開くことがWindowsプロセスをインターネットに公開する行為であれば,論理ポートを閉じることは,Windowsプロセスのインターネットへの公開を停止する行為といえます。Windows XPには論理ポートを“擬似的に”閉じるための機能が標準で用意されています。この機能は「インターネット接続ファイアウオール」(以後ICF)と呼ばれています。ICFは次のような機能を持っているといわれます。

・インターネット側からの要求をすべて拒否する機能
・インターネット側へサービスを公開する機能

 本日は,「インターネット側からの要求をすべて拒否する」機能に焦点を当て,「インターネット側へサービスを公開する」機能は別の機会に譲ります。それではさっそく,補助プログラムを使いながら,ICFの「インターネット側からの要求をすべて拒否する」機能を有効にしてみましょう。

図1●「インターネット接続ファイアウオール」の設定画面

「インターネット接続ファイアウオール」を使う

 CATVケーブル・モデムやxDSLモデム経由でインターネットに接続している個人環境では,次のような操作手順を通して,ICFを利用できます。

ステップ1:第1回連載で紹介した補助プログラム「No1FireWallStart.exe」をダウンロードする
ステップ2:補助プログラムを起動し,初期化画面から「ローカルエリア接続」を選択する
ステップ3:補助プログラムの指示に従い,「プロパティ」画面を表示する
ステップ4:「プロパティ」画面の「詳細」タブを開く
ステップ5:タブが表示されたら,図1[拡大表示]のように,「インターネットからのこのコンピュータへのアクセスを制限したり防いだりして,コンピュータとネットワークを保護する」チェックボックスにチェックを入れる
ステップ6:「OK」ボタンをクリックする

 以上の操作を完了すると,インターネット側から送信されてくる要求の受け付けはすべて停止されます。論理ポートは依然として開かれていますが,ポートへの要求は拒否されます。このような操作は専門用語では,“ポートへの要求をフィルタリングする”と表現されます。

 操作手順のステップ5では,「インターネットからのこのコンピュータへのアクセスを制限したり防いだりして,コンピュータとネットワークを保護する」というかなり長い名称を持つチェックボックスにチェックを入れていますが,一部の方はこの名称にかなり戸惑っておられることでしょう。インターネットに1台のWindows XPマシンを接続しているような個人環境では,この名称は「インターネットからのこのコンピュータへのアクセスを制限したり防いだりして,コンピュータを保護する」という意味になり,「ネットワークを保護する」という部分は意味を持ちません。本日は詳細解説は割愛いたしますが,Windows XPには「インターネット接続共有」(以後ICS)という機能があり,ICFはICSと併用できるようになっているのです。ICSについては後日紹介することになっています。興味のある方は,本日の補助プログラム「No10StudyFirewall.exe」(こちらからダウンロードできます)を実行してみてください。図2[拡大表示]のような情報が表示されます。

図2●「No10StudyFirewall.exe」補助プログラムの実行結果
 図2を見ると分かるように,「ホーム ネットワーク」や「小規模オフィスのネットワーク」などの文字列とともに,「ネットワーク アドレスの変換」という文字列も見えます。ネットワーク・アドレス変換は通常NAT(Network Address Traslation)と呼ばれています。これらの文字列から総合的に判断すれば,ICFは本来一つのグローバルIPアドレスを小規模ネットワーク環境内で共有する機能を提供するICSの,補完機能といってよいでしょう。

 また,「インターネットからのこのコンピュータへのアクセスを制限したり防いだりして」の部分に興味を示した方もいるかと思います。「アクセスを制限したり」という表現は,言い換えれば「一部のアクセスは許可する」ことを示唆しているからです。このあたりの事情はICSを紹介するときに,あわせて取り上げることにします。

 ここまでの説明を読んできた人の中には,次のような疑問を持っている人もいるはずです。

“インターネット側から送信されてくるすべての要求が拒否されることは理解できたが,私たちのインターネット側への要求はどうなるのだろう? 例えば,インターネット上にあるWebサイトをIEなどのブラウザで閲覧できなくなってしまうのだろうか?”

 それでは,この疑問への回答を用意しましょう。

「インターネット接続ファイアウオール」の限界

 ICFは別名「ステートフル・ファイアウオール」と呼ばれています。ステートフルとは,“状態を管理する機能”を持っていることを示しています。つまり,ICFは,インターネット側からの一方的な接続要求は拒否しますが,私たちからインターネット側に送信された接続要求は内部で管理し,その要求への応答は受け付けるのです。例えば,Internet Explorerを起動して外部のWebサーバーへアクセスした場合,そのWebサーバーから返される応答やデータは受け付けてくれます。

 私たちがインターネット側に送信した要求への応答が受け付けられるということは,表現を変えれば,ICFは特定の条件の下では,インターネット側から送られてくる情報を通過させてしまうと解釈できます。これはICFの限界ともいえるでしょう。つまり,返されてくる情報の内部にウィルスなどが含まれている場合,私たちのWindows XP環境は,そのウィルスに感染してしまうことになります。

 本日は,Windows XPから標準でサポートされるようになった「インターネット接続ファイアウオール」(ICF)を紹介しました。特に,ICFが提供する「インターネット側からの要求をすべて拒否する」機能を具体的に利用する方法を説明しました。いかがだったでしょうか。「インターネット側からの要求をすべて拒否する」ことは,論理ポートを実質的に閉じる行為ですが,論理ポート自体は依然として開かれています。次回は,論理ポートを閉じるという視点ではなく,論理ポートの所有者であるWindowsプロセス自体の動作を停止する方法を取り上げます。それでは次回またお会いいたしましょう。ごきげんよう。