Part1では,ネットワークを流れるパケットやコンピュータ内部の挙動を監視して,不正な動きを検知するシステムであるIDSの基本的な構成要素や設置場所について,解説していこう。
IDSは,ネットワークを流れるパケットやコンピュータ内部の挙動を監視して,不正な動きを検知するシステムである。ネットワークを流れる通信パケットをキャプチャして不正なものが流れていないかを検知する「ネットワーク型」と,コンピュータに入れてそのコンピュータの通信や内部のファイル構成の変更などを調べて不正を検知する「ホスト型」がある。
ここではファイアウォールと組み合わせて使うことが多いネットワーク型を説明する。
基本的な構成要素はコンソールとセンサー
IDSをネットワークのどこに配置するのかを理解するために,まずはIDSの基本的な構成要素を押さえていこう。通常,IDSは「センサー」と「コンソール」という二つの要素で成り立っている(図1)。センサーとは,その名の通り,ネットワークを流れるパケットをキャプチャして危険なパケットを見つける部分である。もう一つのコンソールは,センサーが検出した情報を処理し,画面などに表示する部分である。
通常,センサーは2枚のネットワーク・インタフェース(NIC)を持っている。その一つはネットワーク監視用で,ネットワークを流れるパケットをキャプチャしてセンサー本体に取り込むための接続部分になる。
最近のIDSでは,このNICにはIPアドレスを割り当てない「ステルス・モード」と呼ばれる方法で接続することが多い。こうすることによって,攻撃者からステルス(見えない)な状況を作り出せるわけだ。
図1の場合,監視用NICはファイアウォールの外側に接続されている。もし,ここにIPアドレスを割り当てていると,インターネット側から容易にその存在を知ることができる。この結果,IDS自身が攻撃者のターゲットとなってしまう可能性がある。
もう一方のNICは,センサーがコンソールと通信するためのものである。このNICには,IPアドレスを割り当てる。
以上が基本的なIDSの構成だが,製品によっては多少異なる構成になる場合もある。例えば,センサー部とコンソール部がアプライアンスに組み込まれており,画面表示をWebブラウザに任せている製品がある。また,大規模ネットワークへの適用を考えている製品では,複数のセンサー情報を統合して処理するための部分を別に設け,3層構成にしているものがある。
設置場所はファイアウォールの内か外か
では次に,IDSのネットワーク上での設置場所について考察していこう。
ネットワーク型IDSは,ファイアウォールとの組み合わせを考慮してネットワークに配置することが多い。このとき悩むのが,IDSのセンサーをファイアウォールの外側に置くのか,それとも内側に置くのかという問題である(図2)。
この問題は,IDSの導入目的,運用する作業員の数やスキルといったことを考慮して決めるべきだろう。なぜなら,IDSをファイアウォールの外側に置くか内側に置くかで,危険を検知する意味が大きく違ってくるからである。
IDSを外側に置くと,外部からどのような攻撃が来ているのか,流行している攻撃が自分のシステムにも来ているのかといったことがわかる。この場合は,IDS導入の目的は「分析」が主になる。IDSの運用者に十分なスキルがあり,マンパワー的にも問題がないときにお勧めの配置方法である。
この位置にIDSのセンサーを設置すれば,IDSが検出する攻撃は,ファイアウォールで遮断されるものも含まれる。つまり,外部ネットワーク(この場合はインターネット)から来ている通信そのものを検知対象として分析することができるわけだ。
しかし,IDS設置の目的が「防御」であり,IDSの運用に十分なスキルを持った人員を割くことができなかったりする場合は,ファイアウォールの内側にIDSセンサーを配置することを検討すべきだ。この見極めは非常に重要である。IDSは,基本的に攻撃を検知するだけで,防御は行わない。したがって,人が運用し,その結果を理解できてはじめて役に立つのである。この部分を甘く見て好奇心だけでファイアウォールの外側にIDSセンサーを設置し,大量のログを見るのに嫌気がさして見捨てられてしまったIDSは多い。
ファイアウォールの内側に置けば,IDSはファイアウォールをすり抜けてきた攻撃しか検知しない。この結果,運用者が見なければならないIDSのログ(検知記録)の量は,ファイアウォールの外側に設置した場合に比べて格段に減ることになる。ファイアウォールのポリシーが厳しければ厳しいほど,その差は大きくなる。