9.2. ホストベースのIDS

ホストベースのIDSはいくつかのエリアを解析して、不正使用(ネットワーク内における 悪意のある又は不正な活動)や、侵入(外部からの不正行為)を確定します。ホスト ベースの IDS は数種類のログファイル(カーネル、システム、サーバー、ネットワーク、 ファイアウォール、その他)を調べて、既知の攻撃に関する共通形跡の内部データベース に対してログを比較します。UNIX 及び Linux ホストベースのIDSは、 syslogとその能力をフル活用して、ログされたイベントの重大度(例:軽度の プリンタ通知 vs 重度のカーネル警告)によりイベントを区分けします。 syslogコマンドは Red Hat Enterprise Linux に収納されているsysklogd パッケージをインストールする時に利用できます。このパッケージはシステムロギングと カーネルメッセージトラップを提供します。ホストベースの 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 に含まれていませんので、サポートされません。 これらアプリケーションに関心があるユーザーへの参考としてここで説明のみしています。