第3回:Windows XPのブロードバンド度をチェック・3



 Windows XP編、最後のテーマとなるのは「インターネット接続ファイアウォール」だ。今やADSLやCATVなどの常時接続環境に欠かせないセキュリティ関連の機能がWindows XPでどこまで実現されているのかが気になるユーザーも多いだろう。その仕組みを説明しながら、メリットおよびデメリットを紹介していこう。





関心の高いセキュリティの話題

Windows XPに標準搭載されるインターネット接続ファイアウォール。設定は接続先のプロパティでチェックボックスをONにするだけと簡単。ネットワークセットアップウィザードなどを利用した場合も自動的に構成される

 最近、身の回りの友人からセキュリティ関連の話題について相談されることが多い。「ADSLを導入したのだが、セキュリティはどうすればいいのか?」、「セキュリティのためにルータを買おうと思うんだけど何がいい?」などといった具合だ。

 このような相談に対して、筆者はとりあえずWindows XPの「インターネット接続ファイアウォール(ICF)」の使用を薦めることにしている。友人の多くはインターネットに接続するPCが1台のみという環境が多いため、OSの機能のみで実現できるコストの低さ、設定の容易さなどを考えると、これだけでも十分にセキュリティを確保できると考えられるからだ。

 複数台のPCをインターネットに接続する必要があるため、ルータを導入した方が効率的なケース、さらに高いセキュリティを確保する必要があるケースとなれば話は別だが、通常はインターネット接続ファイアウォールだけでも必要最低限のセキュリティを確保することはできるのだ。





ファイアウォールの基本的な仕組み

 インターネット接続ファイアウォールの仕組みを理解するためには、ファイアウォール自体の仕組みをある程度理解しておく必要がある。

 ファイアウォールを実現する機能として、もっともオーソドックスな機能は静的なパケットフィルタリングだ。これはインターネットとLANの間のパケットの流れを監視し、一定のルールに基づいてパケットの通過の可否を決めるというもの。あらかじめ、どのようなパケットを通過させるかというルールをファイアウォール側で定義しておき、これに基づいてパケットのヘッダ情報に含まれる宛先IP、宛先ポート番号、発信元IP、発信元ポート番号、各種フラグなどを検査しながら、最終的に通過させるか、させないかを判断する。ひと昔前のルータなどもこの機能によってセキュリティを確保していた。

 しかし、この静的なフィルタリングは運用が非常に難しいという欠点を持っていた。フィルタリングテーブルを手動で管理しなければならないおかげで、どのパケットを通過、拒否するのかをすべて自分で判断しなければならないわけだ。外部からの攻撃を防ぐため、また逆に特定のネットワークアプリケーションを利用するために、フィルタリングテーブルと格闘したユーザーも多かったことだろう。アプリケーションを利用するために開けたポートが逆に攻撃の対象になるなどというケースも多かった。

 そこで登場したのが、現在発売されている多くのルータに採用されているステートフルパケットインスペクションだ。基本的な仕組みはパケットフィルタリングと同じだが、TCPヘッダまでしか判断しなかった静的なパケットフィルタリングと異なり、パケットのデータ部の内容と宛先や方向までを監視することが可能となっており、セッションの状態やアプリケーションの状態を監視しながら、パケット通過の可否を判断可能となっている。

 これにより、基本的に外部からの通信をすべて遮断しながら、LAN側から発信されたパケットに対応する通信だけを動的に通過させることが可能となっている。具体的には、LAN側から発信されたすべてのトラフィックを通信テーブルに記録し、外部からの通信がこのテーブルに一致する場合のみLAN側への通過させ、通信が終わるまで(または一定時間など)パケットを転送するという仕組みになる。このため、外部からの不正なアクセスをすべて遮断するという高いセキュリティを備えながら、ネットワークゲームなど動的にポートを変化させるようなものに対しても柔軟に対応できるようになっている。





ルータとほぼ同等のセキュリティを確保可能

 現在発売されいてるほどんどのルータは、このステートフルパケットインスペクション(ステートフルパケットフィルタ、ダイナミックフィルタリングとも言う)によってセキュリティが確保されている。そして、Windows XPのインターネット接続ファイアウォールもまさにこれと同じステートフルパケットインスペクションだ。

 つまり、インターネット接続ファイアウォールは、現在発売されているブロードバンドルータとほぼ同程度のセキュリティを確保することが可能ということになる。もちろん、NATによるアドレス変換を併用することでLAN側のプライベートIPアドレスを外部から隠せるようになっている上、逆に外部からの接続を許可したいポートを手動で開いておくなどの設定も可能となっている。しかも、OS標準の機能であるため動作が軽い。接続先のプロパティでチェックボックスをひとつONにするという簡単な設定でありながら、個人レベルのファイアウォールとしては比較的、完成度の高いものであるのだ。


詳細設定を行なうことで、外部からのパケットを通過させることも可能。通過させたいサービスを選んでチェックを付けるだけと簡単だ。ポート番号を指定して、任意のポートを開くこともできるICMPも標準で拒否されるように設定されている。これによりPINGやTRACERTなどのアプリケーションに対しても応答しないようになる

 ただし、この機能は、前述したようにADSLモデムやケーブルモデムがPCに直接接続されている環境でないと使う意味がない。たとえば、すでにルータを利用している環境で、さらにインターネット接続ファイアウォールを設定すると、二重にパケットの検査やNATによるアドレス変化が行なわれるという非効率的な環境になる。すでにルータである程度のセキュリティが確保されているのだから、同じ仕組みで二重にセキュリティを確保しても、転送速度が落ちるなどの弊害があるだけでほとんど意味はないだろう。

 また、NICに対してインターネット接続ファイアウォールを設定すると、LAN上のPCからのアクセス要求を不正なアクセスとして拒否してしまい、ファイル共有などがうまくできなくなることもあるので注意したい。ただし、これを逆手に取ると、CATVインターネットのようにプライベートIPアドレスが割りあてられる環境でのセキュリティを確保することも可能となる。





インターネット接続ファイアウォールの欠点

インターネット接続ファイアウォールのログ設定。定期的にログを参照するように心がけたい

 このように比較的高度な機能を備えたインターネット接続ファイアウォールだが、これによって完全なセキュリティが確保できるわけではない。インターネット側からの攻撃方法が多彩になっている現在、特定の攻撃に対しては防御できない可能性がある。

 代表的なのはトロイの木馬のような攻撃だ。たとえば、メールなどでトロイの木馬タイプの悪質なプログラムがPCに入り込むと、そのプログラムが外部に対して通信セッションを開き、そのセッションを利用して外部からの侵入が可能になってしまう。LAN側からの通信は通過させるというステートフルパケットインスペクションの仕組みでは、この手のプログラムには対抗できないわけだ。

 また、市販のルータや個人向けファイアウォールソフトのように攻撃があったことをユーザーに知らせる機能なども備えていない。インターネット接続ファイアウォールでもログを取得することは可能だが、ユーザーが積極的にログをチェックしなければ、攻撃があったことすら把握できないわけだ。さらに、個人向けのファイアウォールではパスワードやクレジットカードの番号などをあらかじめ登録しておくことで、これらの情報が外部に漏れることを防止する機能(インターネット側に送信されるときにアラートを表示したり、自動的に防止する)が備えられているが、このような付加機能もインターネット接続ファイアウォールには存在しない。





最終的にはユーザーの意識が大切

 たしかにインターネット接続ファイアウォールは、OS標準の機能でルータと同等のセキュリティ機能を実現できるという手軽かつ完成度の高い機能だ。しかし、あくまでも最低限のセキュリティを確保するものと割り切るべきだろう。世の中に万全のセキュリティなど存在しない。これはルータを導入した場合、市販の個人向けファイアウォールソフトを導入した場合も同じだ。ソフトウェアやハードウェアを導入しただけで万全なセキュリティが確保できるというものではないのだ。ファイアウォールの導入によって安心してしまうのではなく、結局のところは、常に最新のセキュリティ情報を入手するように努力するというユーザーの意識が大切となるわけだ。


関連情報

2001/12/18 13:01


清水 理史
製品レビューなど幅広く執筆しているが、実際に大手企業でネットワーク管理者をしていたこともあり、Windowsのネットワーク全般が得意ジャンル。最新刊「できるWindows 8.1/7 XPパソコンからの乗り換え&データ移行」ほか多数の著書がある。