■IDSの導入による不正侵入の検知とネットワーク管理
第1回:Snortを導入する その1
 今回から数回にわたり、Linuxサーバへの不正侵入を検知するためのIDSの導入方法について述べていくこととする。手始めは、IDSとして有名な「Snort」の導入から運用方法について解説していこう

 IDSとは「Intrusion Detection System」(不正侵入検知システム)のことで、コンピュータやネットワークへの不正な侵入や、攻撃の検出を行うシステムのことを指している。

 たとえば、夜間の駐車場で片っ端から車のドアをチェックしたり、車の中をのぞいている人間をみたら、「もしかして車を盗もうとしてるのでは?」と思うかもしれない。また、朝起きて車のドアにこじ開けようとした跡があれば、「車を盗もうとしたヤツがいるかもしれない」と考えるだろう。これは「車のドアをチェックしている」ことや「車のドアをこじ開けようとした跡」といった泥棒の行動パターンを、実際の行動とマッチングさせて察知していると考えることもできる。

 まあこれは多少強引な関連付けではあるが、今回紹介するIDS「Snort」は監視しているネットワークへの不正な侵入や攻撃を、その手法である「パターンルールセット」(シグネチャ)と照らし合わせ、マッチングしているものを検知し、ログとして記録するわけだ(図1)。

図1■Snortの検知システム
図1
Snortは監視しているネットワークへの不正な侵入や攻撃を、その手法である「パターンルールセット」(シグネチャ)と照らし合わせ、マッチングしているものを検知し、ログとして記録する

 IDSの代表例としては、ホストとなるコンピュータで不正な行為が行われていないか(不正なアクセスがないか、ファイルが書き換えられていないかなど)を監視・検知を行うホスト型の「HIDS」(Host-Based Intrusion Detection System)や、ネットワーク上のパケットを監視し、不正な侵入や攻撃を検知するネットワーク型の「NIDS」(Network-Based Intrusion Detection System)がある。SnortはNIDS、HIDSどちらにも使用することができるフリーソフトウェアのIDSで、UNIX版のほかにWindows版もある。SnortはIDSとしての機能のほかに、「Sniffer Mode」(パケットの閲覧)、「Packet Logger Mode」(パケットのログを記録する)といった機能も持っている。

 なお当然のことながら、IDSには誤検知という問題がある。車の中をのぞいていた人間がすべて泥棒とは限らないように、IDSで検知したものがみな不正侵入を試みたものとは限らないことも覚えておこう。

1/4 NEXT