パケットフィルタリングとソフトウェアファイアウォール

第3回 パケットフィルタリングとソフトウェアファイアウォール

インターネットからの不正アクセスを防ぐための仕組みとして,不要なパケットを通さない「パケットフィルタリング」がある。ほとんどのブロードバンドルータやダイヤルアップルータには装備されている。また,USBタイプのADSLモデムやCATVインターネットなどで,直接インターネットに接続している場合は,不正なパケットを防御するのには「ソフトウェアファイアウォール」が有効だ。今回はパケットフィルタリングと,ソフトウェアファイアウォール構築について解説しよう

 8月22日のZDNNで報じられていたが,マイクロソフトが「ホームユーザー向け セキュリティ対策 早わかりガイド」というWebサイトを開設したようだ。各種アプリケーションやOS(Windows98/Me)の修正パッチが問題の種類別にアイコンで表示され,初心者でも分かりやすい作りになっている。第1回の「常時接続環境でのセキュリティ確保」でも簡単に解説したように,常時接続環境では,各種アプリケーションのセキュリティホールを利用した侵入や,破壊行為に注意しなければならない。使用しているアプリケーションなどの修正パッチがないか,またどのような脆弱性があるのかを確認しておこう。

 前回はクラッカーによる侵入のための調査行為や,ツールを使った侵入などについて解説したが,今回はそういったクラッキング行為に対する防御策について考えてみよう。インターネットへの接続形態による違いについては第1回を参照してほしい。

●パケットフィルタリング

 一般ユーザーが手軽にセキュリティ対策を立てるには,市販のブロードバンドルータやダイヤルアップルータ(以下,ルータ),ソフトウェアファイヤーウォールといった製品を使用することになるだろう。それぞれの製品ごとで設定方法は異なってくるが,ほとんどの製品が「パケットフィルタリング」という簡易ファイヤーウォール機能を備えている。

 パケットフィルタリングとは,ネットワークを流れるデータを選別し,そのデータを通過させるか(許可),させないか(拒否)を指定することで,外部から流れてくる不要なデータを遮断したり,逆に内部からデータ漏洩を防ぐ仕組みだ(図1)。すでに複数台のコンピュータ+ルータを使用し,インターネットへの接続を行っているようなユーザーであれば,ルータの設定項目にパケットフィルタリングという文字を見かけたこともあるだろう。

図1■パケットフィルタリングの概念図
図版
パケットフィルタリングとは,ネットワークを流れるデータを選別し,そのデータを通過させるか(許可),させないか(拒否)を指定することで,外部から流れてくる不要なデータを遮断したり,逆に内部からデータ漏洩を防ぐ仕組みだ

 ネットワークを流れているデータは,細かな「パケット」というブロックに分割され送信される。パケットには

・送信元のIPアドレス
・送信先のIPアドレス
・送信元のポート
・送信先のポート

の4つの情報が含まれており,パケットフィルタリングはこの情報を元に,そのパケットを通過させるか,させないかを振り分けている。

 たとえば,パケットフィルタリングで内部から外部のIPアドレス「202.134.22.11」へのアクセスを遮断するといったことや,外部から内部のポート番号「23」への接続要求はすべて拒否するといった指定をし,セキュリティを高めることができる(図2)。

 またパケットフィルタリングを行う際に,それが内部(ローカル側)から外部(インターネット側)に向かって行う通信か,外部(インターネット側)から内部(ローカル側)の通信かを理解しておく必要がある。

図2■パケットフィルタリングによる必要なパケットの選別
図版



ブロードバンドルータやダイヤルアップルータでのフィルタリング設定

市販されているブロードバンド・ダイヤルアップルータは種類も多く,それぞれ設定方法も異なるが,簡易ファイヤーウォールとしてのおもな機能は,NAT/IPマスカレード機能+パケットフィルタリングというものが多い。

 NATやIPマスカレード機能は第1回でも解説したが,これを利用すればLAN側のIPアドレスをプライベートIPアドレスとできるので,インターネット側からの侵入をある程度は防げる。また,パケットフィルタリングに関しては前述した通りだが,ルータにはNAT/IPマスカレード機能があることから,内部(LAN側)から外部(WAN側)へも,パケットフィルタリングが行えるものが多い。今後導入を検討しているのであれば,事前に各ルータの設定項目を調べておき,自分の環境にあったものを選択するとよいだろう。ヤマハのRT54iNTT-MEのMN128-SOHO PAL富士通のNetVehicleNECのCOMSTARZなどは,ルータの設定デモ画面をWebサイトで公開しているので,それを利用すればよい。

 ここではごく一般的なブロードバンドルータとして,コレガの「BAR SW-4P」を使用してパケットフィルタリングの設定を行ってみる。「BAR SW-4P」は簡易ファイヤーウォール機能としてNAT/IPマスカレード機能+パケットフィルタリング機能を装備し,価格も実売で1万5千円程度と手頃なルータだ(写真4)。

写真
写真4■コレガのBAR SW-4P

 「BAR SW-4P」の設定画面から「パケットフィルタリング設定」を開くと,パケットフィルタリングの有効,無効,そしてIPルール・Portルールの設定項目がある(写真5)。「IPルール」は指定したIPアドレスへのパケットをフィルタする。つまり内部(ローカル側)から外部(インターネット側)の特定のIPアドレスへの接続を制限する。「Portルール」は外部(インターネット側)からの内部(ローカル側)の指定したポート番号への接続をフィルタする。

画面
写真5■BAR SW-4Pの設定画面(クリックすると拡大)

 たとえば,内部(ローカル側)でFTPサービスを提供していて,外部(インターネット側)からそのポートへのパケットを遮断する場合は,「FTP-ポート21」をフィルタリングすればよい(写真6)。

画面
写真6■FTPサービスを提供していて,インターネット側からのパケットを遮断するためには,FTPのポート21番を遮断する(クリックすると拡大)

 外部からWindowsファイル共有サービス(NetBIOS)へのパケットをフィルタリングする場合は,前回のnmapによるポートスキャン結果から考えると,

137/udp−netbios-ns
138/udp−netbios-dgm
139/tcp−netbios-ssn
137 UDP
138 UDP
139 TCP

をフィルタリングすることになるわけだ(写真7)。ブロードバンドルータによっては,初期設定でNetBIOSへのフィルタが施されているものや,チェックボックスをチェックするだけで設定してくれるものもあるため,事前に設定項目を確認しておこう。

画面
写真7■NetBIOSのフィルタリング設定(クリックすると拡大)

 次に,IPルールで特定のIPアドレスへの接続を拒否する場合だが,これは「210.155.143.70」などのIPアドレスを指定しておけば,ローカルから「210.155.143.70」への接続が制限される。接続させたくないサイトなどをフィルタリングする際にはここで設定しておけばよいわけだ(写真8)。

画面
写真8■特定のIPアドレスからのアクセスを防ぐ(クリックすると拡大)

●DMZ設定でインターネットに直接接続

 ブロードバンドルータの中には,ネットワーク対戦ゲームなどに対応するために,直接インターネットに接続しているように見せかける機能として,DMZ設定ができるものがある(写真9)。この場合,モデムなどで直接インターネットに接続している状態と同じとなり,そのコンピュータにはNAT/IPマスカレード機能,パケットフィルタリングといった簡易ファイヤーウォール機能は働かなくなる。つまりそのコンピュータが攻撃されるリスクを背負うことになる。できればこの設定は行わないほうが好ましい。

画面
写真9■ネットワーク対戦ゲームなどに対応するために,直接インターネットに接続しているように見せかけるDMZ設定が利用できる

OnePoint !!
DMZ(DeMilitarized Zoneー非武装地帯)
 企業などのイントラネットで公開サーバなどを設置する際の領域を指しており,「インターネット→Firewall→Webサーバ→Firewall→内部LAN」など,Webサーバに攻撃を受けた際にも,内部LANへ侵入されないような領域を作ることをいう。しかしブロードバンドルータの場合は「インターネット→DMZに設定されたコンピュータ」となるため,意味合いが違ってくる。

●ルータへのアタック

 ルータの中には外部(インターネット側)からルータ設定を変更できる機種もあるが,この設定が行われていると,外部からルータがアタックされる危険性がある。最近のブロードバンドルータであれば,外部(インターネット側)からの設定変更は初期設定でオフになっているものがほとんどだが,間違って外部からの設定変更を可能にしていないかを確認しておく必要がある。

 あたり前の話ではあるが,ルータのパスワード設定がされてなく,外部から設定変更が可能な状態では,ルータへのアタック,設定の変更は簡単だ。たいていの場合,ルータのデフォルトパスワードは「password」や「pass」など簡単なものになっているし,パスワードを再設定していたとしても,「12345」などの安易なパスワードであれば,単純な総当たり攻撃でクラックされてしまうだろう。

 古い話ではあるが,ダイアルアップルータの初期の製品では,デフォルト設定がユーザーID「ADMIN」,パスワード「無し」設定というものがあり,これを使用しているユーザーがアタックを受け,簡単にルータへ侵入されてしまった例もある。

 複数台のコンピュータなどは使用せず,モデムやTAで直接インターネットに接続している場合,またCATVインターネットで接続している場合などでは,外部,内部から直接アタックを受ける可能性がある。簡単で,かつコストをあまりかけずにセキュリティ対策を行うには,ソフトウェアファイアウォールを導入することになるだろう。

 ソフトウェアファイアウォールは,フリー(無料)で使用できるものから,アンチウイルスソフトとパッケージになっている製品版まで選択肢が多く,どれを使用するか悩んでしまうかもしれない。ソフトウェアによってシンプルな構成のものから,Webページのバナーカットや個人情報をフィルタする機能など多機能なものもあるが,製品によっては体験版もあるので一度使用してみてから決めるのがよいだろう。

●BlackICE Defenderによる防御

 ここではいくつかあるソフトウェアファイアウォールの中から「BlackICE Defender」を取り上げることにする。BlackICE Defenderは,ほかのソフトウェアファイアウォールと比べ,侵入の阻止以外に,検知を行うことができるという特徴をもっている。また,基本的にインストールするだけで,外部からの侵入を防いでくれる。

 インストールするとタスクバーに常駐し,アタックがあると点滅して知らせてくれる。タスクバーからアタックの表示を選択すれば,どのIPアドレスからどのようなアタックがあったのか表示される(写真10)。試しにBlackICEがインストールされたマシン(Windows98SE)をローカルからnmapでスキャンしてみよう。スキャンはTCP SYN ステルススキャン+フィンガープリンティングを指定して行っている。結果は別ファイルで掲載するが,すべてのポートがクローズでフィンガープリンティングによるOSの推定も失敗している。

画面
写真10■nmapによるポートスキャンなどの攻撃があった場合は,「アタック」画面に攻撃もとと内容が表示される

 nmapのスキャンが開始されるとタスクバーのアイコンが点滅し,アタックを知らせる。アタック内容には,アタックした時間,内容,侵入者IPアドレスなどが表示される(写真11)。ここで,表示されたアタック内容に対し右クリックを行うと,「アタックを無視」,「侵入者の遮断」,「侵入者を信頼」,「アタックのクリア」がプルダウンメニューから指定できる。

 たとえば内部のローカルマシンからのアクセスを許すのであれば,「侵入者を信頼」を選択することで,設定画面の「信頼するアドレス」にそのIPアドレスが加えられる(写真12)。内部のみでWindowsファイル共有を行うのであれば,この「信頼するアドレス」にローカルのIPアドレスを登録しておかないと,アタックとして認識され,防御されてしまうのでファイル共有機能が働かなくなる。

画面
写真11■アタックされるとタスクバーのアイコンが点滅し,アタックを知らせる。アタック内容には,アタックした時間,内容,侵入者IPアドレスなどが表示される

画面
写真12■内部のローカルマシンからのアクセスを許すのであれば,「侵入者を信頼」を選択することで,設定画面の「信頼するアドレス」にそのIPアドレスが加えられる

 BlackICEの設定画面では「防御」とされる項目で,防御レベルを変更できる。選べるのは「最高,高,普通,なし」の4つで,インストール時には「普通」に設定されている。 最高にすると,TCP/UDPのパケットをすべて遮断する。つまりUDPを使うサービス(例えばストリーミングなどのインタラクティブコンテンツ)も使用できなくなる。強固な設定にすると,こういった不具合も生じてしまう点には注意が必要だ。

 「普通」で遮断されるのは1023以下のポートに対するTCP/UDPパケットの遮断だ。つまり,それ以上のポートを使用するトロイの木馬などが仕掛けられている場合,そのパケットは通ることになる。また,防御項目の下段には「インターネットファイル共有を有効にする」,「ネットワークコンピュータでの表示を有効にする」という項目があるが,これにチェックを入れるとWindowsファイル共有ポートが開くことになるので,必要がないかぎりここにチェックは入れないほうがよい。「オートブロッキング」にチェックを入れると,アタックがあった際に自動的に遮断されるようになる(写真13)。

画面
写真13■「オートブロッキング」にチェックを入れると,アタックがあった際に自動的に遮断されるようになる

 BlackICEにはほかにアタックのヒストリやなども表示できるといった機能もある(写真14)。ポートごとに細かな設定を行うには,設定ファイルを直接編集する必要があるなど,面倒な部分もある。また,ほかのソフトウェアファイアウォールにある個人情報フィルタや,バナーカットといった機能は持ちあわせていないので,使用を考えている場合は一度体験版を使用してみることをオススメする。

画面
写真14■アタックのヒストリやネットワークトラフィックなどもグラフ化されて表示できる

 前述したがソフトウェアファイアウォールはそれぞれソフトにより特徴があるので,事前に使用してみてから購入を検討するとよいだろう。また今回は紹介していないが,フリー(無料)で使用できる「ZoneAlarm」も素晴らしいソフトウェアファイアウォールなので,一度使用してみて頂きたい。

●パケットフィルタリングによるセキュリティ強化

 今回はパケットフィルタリングによるセキュリティ強化を中心に解説したが,パケットフィルタリングは,製品によってはすでに初期設定で主要なポートはフィルタリングがなされているものも多いため,あとは自分の環境と照らし合わせたうえで設定を行えばよいだろう。また,設定を行ったあとは,前述したようなセキュリティチェックサイトで,不要なポートが開いていないか必ずチェックをしておこう。