読者の中にも,ネットワーク上で何らかの侵入検知システム(IDS)を使っている人は多いだろう。IDSの多くは,ネットワークの境界部分で外部からやってくるトラフィックを監視するものか,ネットワーク内部で内部のトラフィックを監視するもののどちらかである。ところが筆者は先日,通常のIDSとは若干異なる2つのIDSの存在を知った。アプリケーションの内部で動作するIDSと,サーバー/ワークステーション上で動作するホストIDSである。

 1つ目のツールは「Firekeeper」と呼ばれる。FirekeeperはFirefox用の拡張機能で,設定可能なルール・セットを使って怪しげな活動を検出するという点で,オープン・ソースIDSの「Snort」に似ている。Firekeeperは比較的新しいツールなので,Snortのように膨大なルール・セットを利用できるわけではない。それでもFirekeeperの基本的なルール・セットは,出発点としては十分だ。そして比較的容易に,自分独自のルールを書き込むことができる。特にSnortに習熟している人は,簡単に自分のルールを書き込めるだろう。

 FirekeeperはFirefoxの内部で動作するので,当然Webコンテンツを起点とする侵入の試みを検出することが目的になる。基本となるルール・セットは,JavaScriptの疑わしい動き,Real Networksの「RealPlayer」やMicrosoftの「Windows Media Player」,Nullsoftの「Winamp」コントロールの異常な挙動,ファイル拡張子タイプを通して電子メール・クライアントにアクセスしようとする試み--などを検出する。Firekeeperの他の利点としては,ブラウザによって復号化された後のSecure Sockets Layer(SSL)トラフィックを調べられる,というのがある。これは,境界部分のIDSシステムではできない可能性がある機能だ。

 総合的にみて,Firekeeperはとてもいいアイデアだ。筆者の理解が正しければ,このプロジェクトはGoogleの「Summer of Code 2006」の一環としてJan Wrobel氏によって始められた。それ以来,Firekeeperは順調に進歩している。mozdev.orgのWedサイトで,Firekeeperについて調べられる。このサイトではメーリング・リストも紹介されている。

 筆者が存在を知った2つ目のツールは,「OSSEC Host IDS(HIDS)」だ。OSSEC HIDSは,2つの基本的な要素で構成されている。中央サーバーとホスト・モニターだ。メイン・サーバーはホスト・モニターから情報を収集し,ホスト・モニターは様々なタスクを実行する。メイン・サーバーとホスト・モニターは既知のルートキットを検出し,重要なシステム・ファイルを監視することによって,ファイル・システムを正常な状態に維持する。
 OSSEC HIDSで他に便利なのは,ApacheやSquid,Snort,nmap,Windows,Microsoft IIS,Cisco VPNコンセントレータ,Cisco PIXファイアウォールなどが生成するものを含めた,様々なログを監視できるということだ。読者の中にはお察しの方もいると思うが,OSSEC HIDSは電子メールやログ・エントリー経由でアラートを通知できる。更に,設定内容を基にして検出されたイベントに積極的に反応することも可能だ。

 筆者はOSSEC HIDSをいくつかのシステムにインストールしてみて,設定が非常に簡単であることに気付いた。メイン・サーバーのセットアップに要した時間は,作業中にマニュアルを読んだ時間を含めても,約30分ほどであった。ホスト上のツールのセットアップはもっと簡単だったが,ホストの設定内容はホスト上で監視されている対象によって様々であるため,メイン・サーバーのセットアップよりも少し長い時間がかかった。

 OSSEC HIDSはオープン・ソースのツールで,テストはこれまでのところ,Windows XPとWindows 2000に加えて,OpenBSDとFreeBSD,Mac OS X,Slackware Linux,Debian GNU/Linux,SUSE Linux,Ubuntu,Red Hat Enterprise Linux,Fedora Core,Solaris,そしてAIXで行われている。こうした情報は,OSSECのウェブ・サイト(一部日本語化されている)で確認できる。同サイトには,wikiや関連メーリング・リストといった他のリソース,マニュアルなども掲載されている。