TripWireの設定

TripWire とは、IDS(不正侵入検知システム Intrusion Detection Systemの略)の1つです。 悪意のあるユーザーが勝手に設定ファイルを改竄する可能性があるので、改竄されたファイルが無いかチェックするプログラムです。
≪ 項目 ≫
1.Tripwireのインストール
2.Tripwireの起動
3.Tripwireの設定
4.補足

 1.Tripwireのインストール

 ◆ Tripwireのダウンロード

 Tripwireは、Turbo Linuxには標準では付いていないので、以下のサイトからダウンロードしてきます。

  http://www.tripwire.org

 このサイトには、Red Hat Linuxのパッケージ版とオープンソース版とありますが、オープンソース版だと sendmail が必要になるので、パッケージ版(Red Hat 7.x 対応)の方をダウンロードしてきます。
 (2005/1/22の時点での最新版は tripwire-2.3-47 です。)

 ◆ Tripwireのインストール

 ダウンロードしてきた Tripwire を、適当な場所に置いて解凍します。 すると tripwire-2.3-47.i386.rpm が展開されるので、このパッケージをインストールします。

  rpm -ihv tripwire-2.3-47.i386.rpm

 インストールが完了すれば”/etc/tripwire”というディレクトリィが作成されています。


 2.Tripwireの起動

 ◆ Tripwireの初期設定

 Tripwireを使用する前に以下のコマンドを実行します。

  /etc/tripwire/twinstall.sh

 ここでTripwireを管理するための site key と local key のパスフレーズを入力します。 これが完了すると、いくつかの設定ファイルが作成されています。 ここでポリシーファイルと言う、チェックするファイルとチェックの仕方を記述してあるファイルが作成されます。
 次にTripwire用のデータベースを作成します。

  tripwire --init

 これが完了したら”/var/lib/tripwire/”の直下に、ホスト名.twd というファイルが作成されます。

 ◆ 改竄のチェックの仕方

 Tripwireの初期設定が完了したら、改竄チェックが出来るようになります。
以下の様にコマンドを実行します。

  tripwire --check

適当なログに出力させると、より詳しい結果が出力されています。

  tripwire --check >> ./tripwire.log

 3.Tripwireの設定

 ◆ twpol.txtの記述の仕方

 上記の状態のままでは、Red Hat Linuxに合わせてファイル改竄のチェックをしています。 またインストールされていないパッケージの設定ファイルの改竄チェックも行っているので、”No suchfile or directory”が結構な数で出力されると思います。 Tripwireのチェック対象の設定ファイルは”/etc/tripwire/twpol.txt”になります。 このファイルの中にチェックするファイルが記述されていますので、存在しないファイルはあらかじめ行の先頭に”#”を付けておきましょう。 ”smb.conf”など、Red Hat Linux と Turbo Linux の標準では違うディレクトリィに存在する場合がありますので、その辺りも注意して修正しましょう。
 また、チェック対象のファイルを追加する事もできます。 設定ファイルの中身はいくつかルールブロックと言うグループによって分けられています。 適当なルールブロックの中に、行追加してチェックさせても良いですし、もしくは、ルールブロックを新規に追加しても良いです。
以下の様な書式で記述します。

  (     <<--(1)
   属性 = << 値 >> ,
    ・・・
  )


  {     <<--(2)
   << チェック対象のファイルパス >> -> << プロパティマスク >> ;
    ・・・
  }


 (1) の部分でルールブロックを宣言します。 属性及びそれに対応する値は以下の表の通りです。

属性説明
rulename ルールブロック名 適当なルールブロック名を記述します。チェックの結果として出力されます。(必須)
severity 0 〜 1000000 重要度を指定。(必須)
emailto メールアドレス 問題が起きた時にメール送信する場合の送信先アドレスを指定。( sendmail が必要)
recurse -1 〜 1000000 ディレクトリィに対する再起階層の指定。-1の場合は最下層まで行う。

”,”を付けることによって、後ろに続ける事ができます。 その後にチェック対象のファイルパスとプロパティマスク(確認内容)を (2) で指定します。 以下がプロパティマスクとその内容です。

プロパティ
マスク
内容
+ ”+”の後にあるプロパティマスクを追加していきます。
- ”-”の後にあるプロパティマスクを削除していきます。
a アクセス時間
b 割り当てられたブロック数
c iノードが修正された時間
d iノードが常駐するデバイスのID
g ファイル所有者のグループID
i iノード番号
m 修正された時間
n リンクの数
p ファイルのパーミッション
r iノードがポイントするデバイスのID
s ファイルサイズ
t ファイルタイプ
u ファイル所有者
C CRC-32のハッシュ値
H Havalのハッシュ値
M MD5のハッシュ値
S SHA-1のハッシュ値

 上記のプロパティマスクとは別にあらかじめ用意されているプロパティマスク変数があります。

変数名プロパティ
マスク
説明
Growing +pinugtdl サイズが増加していくファイル
IgnoreNone +abcdgimnprstuCHMS 全てのプロパティマスクの付与
IgnoreAll -abcdgimnprstuCHMS 全てのプロパティマスクの削除
ReadOnly +pinugsmtdbCM 読み取り専用のファイル
Dynamic +pinugtd 内容が変化するファイル
Device +pugs システムデバイスファイル


 ◆ 設定ファイルの反映の仕方

 ”twpol.txt”を修正ただけでは、ポリシーファイルとして設定が反映されません。 それとTripwire用のデータベースを新規に作成し直さないといけません。
以下のコマンドを実行してポリシーファイルの変更を反映させます。

  twadmin --create-polfile -S site.key /etc/tripwire/twpol.txt

これで変更が反映されます。次にTripwire用のデータベースを作成し直します。

  tripwire --init


4.補足

 Tripwireのデータベースは整合性チェック用として使用されています。 パスフレーズによって守られているため、ファイルの改竄する事は困難ですが、削除する事は可能なのです。 もしこのファイルが削除されると改竄チェックが出来なくなるので、フロッピーなどに保管して置く事をお勧めします。
 データベースのファイル名は上にも書いた通り”/var/lib/tripwire/ホスト名 .twd”です。




先頭に戻る TOPページに戻る