9.2. ホストベースのIDS

ホストベースのIDSはいくつかのエリアを解析して、 不正使用(ネットワーク内における悪意のある活動 または不正な活動)や、 侵入(外部からの不正侵入)を発見します。 ホストベースのIDSは数種類のログファイル(カーネル、システム、サーバー、ネットワーク、 ファイアウォール、その他)を調べて、既知の攻撃に関する一般的なシグネチャの内蔵データベースとそのログを比較します。UNIX 及び Linux ホストベースのIDSは、syslogとその能力をフル活用して、ログされたイベントの重大度 (例、軽度のプリンタメッセージ vs 重度のカーネル警告)によりイベントを区分けします。 ホストベースのIDSはログをフィルターにかけ(ネットワークとカーネルイベントのログの中には、かなり冗長になるものがある可能性があります)、解析して、 自身のシステムの重要度別に異常メッセージをタグ付けしなおし、 管理者解析用の専用ログに収集します。

ホストベースのIDSでは重要なファイルと実行可能ファイルのデータ整合性を検証することもできます。 IDSは機密ファイル(及び、管理者が追加したファイル)のデータベースを調べて、md5sum (128ビットアルゴリズム)またはsha1sum (160ビットアルゴリズム)などメッセージファイルダイジェストユーティリティで各ファイルの チェックサムを作成します。それから、ホストベースのIDSはこのサムをプレーンテキストファイルに保存して、定期的にそのテキストファイルにある 値とファイルチェックサムを比較します。ファイルチェックサムのいずれかでも合致しない場合、 IDSは電子メールまたはポケベルで管理者に通報します。 これが、項9.2.1で解説するTripwireで使われているプロセスです。

9.2.1. Tripwire

Tripwireは、最も普及しているLinux用ホストベースIDSです。 Tripwireの開発者であるTripwire, Inc. は、Linuxバージョン用のソフトウェアソースコードを 公開し、GNU General Public Licenseの条件の下にその使用を許可しました。 Tripwire はhttp://www.tripwire.org/で入手できます。

注意注記
 

Tripwire はRed Hat Enterprise Linuxに含まれていませんのでサポートされません。 このアプリケーションに関心のあるユーザーヘの参考として ここで説明のみしています。

9.2.2. IDSとしてのRPM

RPM パッケージマネージャ (RPM)は、ホストベースのIDSとしても使用できるプログラムです。 RPMにはクエリパッケージとそのコンテンツ用のさまざまなオプションが含まれています。 これらの検証オプションは、重要なシステムファイル及び実行可能形式が 変更されている疑いがある場合に管理者にとって非常に価値あるオプションとなります。

以下の一覧では、Red Hat Enterprise Linuxシステム上でのファイルの整合性が検証可能なRPM用の オプションのいくつかを説明しています。RPMの使用方法についての完全詳細は、 Red Hat Enterprise Linux システム管理ガイドを参照してください。

誓要項目重要
 

以下一覧のコマンドの中には、Red HatGPGパブリックキーをシステムのRPMキーリングに インポートする必要があるものがあります。このキーは、システムにインストールされている パッケージにRed Hatパッケージ署名が入っていることを証明します。 これは、そのパッケージがRed Hatの製品であることを保証するものです。 rootになり、以下のコマンドを使用してキーをインポートします (<version> には、 システムにインストールされているRPMのバージョンを入れます)。

rpm --import /usr/share/doc/rpm-<version>/RPM-GPG-KEY

rpm -V package_name

-Vオプションはpackage_name という名前のインストール済みパッケージにあるファイルを検証します。出力なしで終了した場合、最後にそのRPMデータベースを更新してから 変更されたファイルはないと言う意味です。つぎのようなエラーが表示された場合、

S.5....T c /bin/ps

なんらかの変更がファイルに加えられているので、そのファイルを保持するか(/etc/ディレクトリにある設定ファイルが変更されている場合など)、または、そのファイルを 削除してそのファイルが入っているパッケージを再インストールするかを判断する必要があります。以下の一覧では、検証障害について通知する8文字の文字列(上記の例ではS.5....T )の構成要素を説明しています。

  • . — 検証のこの段階をパスしています

  • ? — 読み込みできないひとつのファイルが みつかりました。恐らく、ファイル許可に関する問題です

  • S — システムにインストールしたときの 元のファイルサイズに比べて小さくなっている、または大きくなっているファイルを発見しました

  • 5 — md5チェックサムがインストールしたときの 元のチェックサムと合致しないファイルが見つかりました

  • M — そのファイル上にファイルアクセス権のエラー、 あるいはファイルタイプエラーを検出しました

  • D — ひとつのデバイスファイルの major number または minor number の不一致を発見しました

  • L — 別のファイルパスに変更されている シンボリックリンクを見つけました

  • U — ユーザー所有権が変更されたファイル を見つけました

  • G — グループ所有権が変更された ファイルを見つけました

  • T — そのファイル上でmtime 検証エラーを発見しました

rpm -Va

-Vaオプションではすべてのインストール済み パッケージを検証して、その検証テストであらゆる障害を発見します(-V オプションによく似ていますが、それぞれのインストール済みパッケージを検証しているので 出力はより冗長になります)。

rpm -Vf /bin/ls

-Vfオプションでは1つのインストール済みのパッケージにある 個別ファイルを検証します。疑わしい1ファイルをすばやく検証したい場合に便利です。

rpm -K application-1.0.i386.rpm

-KオプションはRPMパッケージファイルのGPG署名や md5 チェックサムを検証するのに役立ちます。 GPGキーリングにインポートしたGPGパブリックキーを持っている場合に、 インストールしようとしているパッケージがRed Hatまたは他会社によって 署名されているかどうかを検証するのに便利です。 正しく署名されていないパッケージは以下のようなエラーメッセージを発行します。

application-1.0.i386.rpm (SHA1) DSA sha1 md5 (GPG) NOT OK
		  (MISSING KEYS: GPG#897da07a)

インストール中に注意が表示された場合は、Red Hat, Inc.で承認されていないため そのパッケージには署名がありません。悪意のあるコードが含まれている可能性があります。

インストールしているパッケージとRPM パッケージファイル用の 多くの検証ツールがあるため、RPMは強力なツールとなり得ます。 Red Hat Enterprise Linuxのインストール後に、RPM データベースディレクトリ(/var/lib/rpm/) の内容を CD-ROM などの読み取り専用メディアにバックアップすることを 強くおすすめします。これを行なうことにより、 悪意のあるユーザがデータベースを改ざんし、その結果を歪める恐れがあるので、 システム上のこのデータベースに対して検証を行なうのではなく、 読み取り専用のデータベースに対してファイルやパッケージを検証することが できるようになります。

9.2.3. その他ホストベースのIDS

以下の一覧は、その他一般的なホストベース侵入検知システムのいくつかを説明しています。それぞれのユーティリティのインストールと設定についての詳細は、各該当ウェブサイトを参照してください。

注意注記
 

これらのアプリケーションは Red Hat Enterprise Linux に含まれていませんので、サポートされません。 これらアプリケーションに関心があるユーザーへの参考としてここで説明のみしています。