Internet Watch logo
記事検索
バックナンバー
(10)Web閲覧だけで感染するウイルス対策を考える
[2004/1/9]
(9)セキュリティ修正パッチ適用のススメ(後編)
[2003/12/19]
(8)セキュリティ修正パッチ適用のススメ(前編)
[2003/12/12]
(7)人間の対策はできているか
[2003/12/5]
(6)サービスの取捨選択を
[2003/11/28]
(5)モバイルPCの危険
[2003/11/12]
(4)LAN内部からの汚染をさせない工夫~穴になりやすい無線LAN
[2003/10/29]
(3)汚染エリア・クリーンエリア、切り分けのススメ
[2003/10/24]
(2)パーソナルファイアウォールのススメ
[2003/10/15]
(1)Blasterの教訓からウイルス対策を考える
[2003/10/10]

新しいウイルス対策を考える

(2)パーソナルファイアウォールのススメ

TEXT:大和 哲

パーソナルファイアウォールのススメ

 ファイアウォールとはその名の通り、インターネットの「防火壁」の役割を果たすもので、以下に挙げるような機能がある。

  • 内部、外部からの通信を選択的に透過、遮断する
  • ログに攻撃などの記録を残す

 製品の形態としては、ブロードバンドルータでファイアウォール機能搭載と謳われているようなハードウェア機器と、PC用のソフトとして売られているものに大別される。

 パーソナルファイアウォールは、後者の「PC用のソフト」として売られている製品を指す。ネットワークの途中、データの経路になるコンピュータにインストールするのではなく、一般ユーザーがブラウザでWebページを見たり、メールソフトを起動してメールを読み書きするような、いわゆるクライアントPCにインストールして使うためのファイアウォールソフトだ。イメージとしては、「防火壁」というよりも、自分に火が回らないようにする「防火服」が近いかもしれない。

 Blaster型のウイルスは、脆弱性があるサービスが使っているポートを外部ネットワークから叩いて感染しようとする。だから、ルータで設定するのと同様に、PC 1台1台に関しても、外部からの通信とポート単位で制限しておけば予防になる、というわけだ。

 パーソナルファイアウォールとしては、市販のものでは、シマンテックの「ノートン パーソナルファイアウォール」、ソースネクストから発売されている「McAfee.com パーソナルファイアウォールPlus」などが有名だ。また、フリーのオンラインソフトでは「Outpost Firewall Free」が操作が簡単で、海外製にも関わらず日本語化されているなどで評判が良い。

 筆者の周りで話を聞いてみると、ファイアウォール機能に関しては、Windows XPには標準でOSに簡易ファイアウォール機能を持っていることは知っているが、具体的な設定方法を知りたい、という声が多かった。

 そこで、まずWindows XPのファイアウォールを使ったBlaster型ウイルスの予防方法を解説しておきたい。


Windows XPのファイアウォールの使い方

 Windows XP Home/Professionalには、OSに標準で「インターネット接続ファイアウォール」と呼ばれる、簡易ファイアウォール機能が搭載されている。

 このファイアウォール機能は、デフォルトでは動作していないが、ONにすると、PCが外部へのアクセスは通し、外部からのPCへのネットワークアクセスを制御することができる。ネットワークのプロパティからそれぞれのネットワークカード(インターフェイス)に設定することが可能だ。

 このWindowsのファイアウォールでは、一番簡単な設定では、外部からのアクセスは全て遮断するが、詳細設定によって、外部からの通信に対して開けておくポートを指定しておくことができる。一般のパーソナルファイアウォールソフトで行なうのと同様に、開けるポートをここで指定するわけだ。

Windows XPのインターネットファイアウォール機能を有効にする

 Windows XPの簡易ファイアウォール機能を有効にするには、コントロールパネルの「ネットワーク接続」から行なう。ネットワーク接続のウィンドウでは、PCに搭載されているネットワークインターフェイスがそれぞれアイコン表示されているはずだ。この中からファイアウォール機能を設定したいネットワークインターフェイスの「プロパティ」を選択する。

 詳細設定タブをクリックすると、インターネット接続ファイアウォールという欄がある。これをチェックすると、ファイアウォール機能が有効になる。

XPのファイアウォール機能でポートを開く設定をする

 ファイアウォール機能を有効にした詳細設定の画面で「設定」ボタンをクリックした後、「サービス」タブの「追加」ボタンをクリック。次のように開けるポートの内容を記述していく。

 「サービスの説明」欄には任意の名前を、「コンピュータの名前」には設定しているコンピュータのコンピュータ名を記入する。また、使用するポート番号とTCP、UDPの別を記入する。

 これでパソコン上で利用するアプリケーションごとに、ポートを開けていくわけだ。

 ただ、このWindows XPの簡易ファイアウォールは、市販のファイアウォールソフトやオンラインのフリーファイアウォールのように、ルールに反する通信が合った場合に、ユーザーにルールの変更をするかどうか聞いてくるようなことはないし、また、ここでルールをワンタッチで変えるようなこともできない。つまり、

 「ファイアウォールを設定したら、なんだかわからないがネットワークを使うアプリが使えなくなった」

という形でしか、通信が遮断されていることを確認することができない。

 このファイアウォール機能では、使用したいアプリケーションに対して、1つ1つポートを開けていく操作をしなくてはならないので、設定にはかなり手間がかかる。また、単純にポートの開け閉めしか行なうことができない、本当に簡易的なファイアウォールソフトと言える。

 OSに標準で付いている機能ではなく、通常のパーソナルファイアウォールソフトでは、通信に使われているソフトやデータの内容をチェックする「アプリケーションレベルでのデータ内容のチェック」を行なって危険な通信を察知するが、Windows XPのファイアウォールではそうした機能も持たない。

 こうした点を考えると、できれば市販の、あるいはフリーのパーソナルファイアウォールを使うことをお奨めしたい。


Windows 2000でポートごとに通信をコントロールする

 実は、Windows 2000でも、Windows XPの簡易ファイアウォール機能でやったように、ポートごとに通信するかどうかを決めることが可能だ。この方法については、マイクロソフトのサイトでも説明が掲載されている。

・Windows 2000でTCP/IPフィルタリングを構成する
http://support.microsoft.com/default.aspx?scid=kb;ja;309798

 詳細はそちらを参照して欲しいが、簡単に説明しておくと、XPと同様に、コントロールパネルから、ネットワークの設定を選び、詳細設定から、「TCP/IP フィルタリングを有効にする (すべてのアダプタ)」を選ぶとこの機能を有効にできる。

Windows 2000でのTCP/IPフィルタリング。これで外部からPCへのアクセスをポート番号、あるいはプロトコル単位で制御できる

 これで、特定のポートへの通信のみ許可する場合は、TCP、UDPに対して「一部許可する」と設定して、許可するポート番号を列挙していくことで、外部に対して開けておくポートを指定できるのだ(ちなみに、Windows 2000の場合は、TCP、UDPのみでなく、プロトコルでの指定も可能となっている)。

 なお、このTCP/IPフィルタリング機能を有効にすると、すべてのアダプタのフィルタリングが有効になるが、フィルタの構成はアダプタごとに行なう。また、これを解除する際には、ひとつのネットワークアダプタだけでなく、すべてのアダプタでフィルタリングが無効になる点にも注意して欲しい。

 ただ、こちらのWindows 2000での設定もWindows XPよりもさらにやっかいだと思う。個人的には、いくらただとはいえ、こんな苦労をするくらいなら、予防的措置としてはやはり、市販か、フリーのオンラインソフトのパーソナルファイアウォールを使用べきだと作者は思う(ただし、そのようなソフトの入手が間に合わない、ウイルスが流行しているときの緊急予防的措置としてはいいとは思うのだが)。


市販のパーソナルファイアウォールを使う

 市販のパーソナルファイアウォールソフトを利用する場合、導入はもっと簡単だ。Windows XPの管理ファイアウォールと比べて、市販のファイアウォールソフトの良いところは、以下のような点だ。

  • ルールの設定が簡単
  • アプリケーションごとに設定ができる

 例えば、筆者のメインマシン用に利用しているSymantec Internet Security(Norton Anti VirusとNorton Personal Firewallの統合製品)の場合、ソフトをインストールすれば、ファイアウォール機能がオンになる。

 Windows XPの簡易ファイアウォールでは、ここでどのポートの入力を許可するかを手で設定しなければならなかったが、Norton Personal Firewallの場合は、このままインターネットを使いたいソフトをそのまま起動すればいい。そうするとこれまで登録されたルールに合致しないアクセス、たとえば知らないアプリからのアクセスだった、あるいは使ったことがないポートを利用しているなどの場合、インターネットアクセス制御ウィンドウを表示して、このアプリ用の新しいルールを作るか聞いてくる。ここで、このアプリを許可する、あるいは遮断すると指定して、これからも同じ処理をするように指示してやれば、このソフトは自動的に新たなルールを作り、通信に必要なポートのみを開けてくれるのである。

写真はインターネットアプリケーションとしてインターネット麻雀「東風荘」のクライアントを起動し、ファイアウォールソフトがそれを検知したところ。これでアプリケーションのインターネットへのアクセス許可、このアプリケーションで常にこの設定を使うを設定すれば、ファイアウォールのこのアプリへの新規ルールのできあがりだ

 この機能は、インバウンドのデータにも有効で、たとえば、リモートコンピュータからTCPポート139番にデータが送られてきた、などという場合にも、その動作をしてよいかどうか聞いてくる。もちろん、通信してきた相手の素性もある程度わかるので、たとえばActive Directory用のデータであるか、あるいはウイルスによるものであるかはファイアウォールソフトが検知して、その都度通信してよいか聞いてくるので、それぞれ、許可、不許可としてやればアプリケーションごとに違う動作をさせることもできる。

 このファイアウォールを使ったBlaster型ウイルス対策で注目したいのは、この予防方法が未知のウイルスにも対処できている、ということだ。

 市販のパーソナルファイアウォールソフトでは明確にルールを指定しておかなくても、あるポートを利用してデータの入出力が行なわれた場合(たとえば外部からTCPポート135が叩かれた、など)、とりあえずそれを止めておき、ユーザーに「このような通信が行なわれているが、許可するかどうか。また、許可、不許可は今後もそのように取り計らう」、すなわちどのような通信ルールを作るのかを、ファイアウォールがわからないときは向こうから聞いてきてくれる。

 つまり、今まで使われていない明らかに不審なポートへのアクセスはこの時点で止めておくことができるので、ウイルス感染を未然に防ぐことができるのだ。

 また、さきほどの東風荘の例で見たように、ルールはアプリケーションごとにも設定できるため、もし、万一パソコンがウイルス感染し、他のマシンにさらにウイルスを感染させようとインターネットへの接続をはじめても、ここでも、ユーザーの許可を求めて動作がいったんとまる。つまり、未知のウイルスが活動しようとしても、他への波及を食い止めることができるのだ。

 ちなみに、市販のパーソナルファイアウォールソフトはNorton Internet Securityやウイルスバスターなど、ウイルス対策ソフトとセットで販売され、操作の連携統一が考えられたものが多く、ウイルス対策も含めたセキュリティ管理という意味では、こういうものを買ってしまうのもひとつの手であるかもしれない。

 なお、現在、いくつかのソフトウェアベンダーなどから「ネットワーク上のPCにWindowsの最新パッチが当たっているかを確認するツール」が配布されている。パーソナルファイアウォール製品は、ウイルスの予防にもなるものの、このようなツールに対しても働くため、パッチが当たっていなくても、当たっていると誤検出される場合があることに留意してほしい。これはこのツールが、ポートにデータを送ってセキュリティホールを確認することができないための起こる現象だ。

 また、ファイアウォールソフトやウイルス対策ソフトによっては、このようなスキャンツールをポートスキャンやトロイの木馬のような不正アクセスと認識することもある。


クローキングは有効?

 ところで、パーソナルファイアウォール製品の中には「クローキング機能」を持っているものがある。

 このクローキングとは、簡単に言えばネットワーク上にあるPCの姿を隠したり、本当の姿を見せない、ということで、具体的には、pingを打たれてもこちらから返事を返さないなど、ネットワーク上でマシンがあるかどうかを探られても、こちらの姿が見えないようにする、という機能だ。

 Blasterウイルスの変種の1つに、これから感染させたいPCをネットワーク上で探すのにIPアドレスの片っ端からpingを打っていき、反応があった場合のみセキュリティホールとなっているTCPポートを叩いてくる、というものがある。

 こういった方法でアクセスしてくる可能性があると考えると、クローキングもそれなりに有効なはずだ。この機能を利用できるファイアウォールソフトを利用しているのであれば、機能を有効にしておくといいだろう。

(2003/10/15)
関連情報

関連記事
爆発的流行の兆し? Blasterウイルス対策マニュアル(2003/08/13)
Windowsの重大な脆弱性を攻撃するウイルスを危険度を上げて警告(2003/10/12)
WindowsのRPCに任意のコードを実行されてしまう深刻な脆弱性(2003/07/17)


大和 哲
1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連のQ&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら
(イラスト : 高橋哲史)

- ページの先頭へ-

Internet Watch ホームページ
Copyright (c) 2003 impress corporation All rights reserved.