WEBの勉強ノート
Loading

Tripwire の基本的なこと

2009 年 4 月 26 日 日曜日

VMware と CentOS で、宅内テスト環境を作っています。WEB 上には情報がそろっていて、なんとか初めての人でもテスト用の環境くらいはできそうな感じです。でもやっぱり、参照している手順の意味がわからないということが多々。

今回は Tripwire について調べてみました。

Tipwireってなに?

こんなツール

Tripwire は、最初にファイルの情報をデータベース化します。その後、定期的に実際のファイル情報をチェックして、データベースのファイル情報と違う点がないか確認します。不正にファイルが改ざんされたことや、そのタイミングを知ることができるようです。

チェックするファイル、ディレクトリ情報

Tripwire は以下の情報をデータベース化して、チェック時に比較します。

  • ファイルのアクセス権 (p)
  • 所有者のユーザーID (u)
  • 所有者のグループ ID (g)
  • ファイルのサイズ (s)
  • MD5 ハッシュ (M)

導入・運用フロー

インストールしたら、ファイルの監視対象と監視方法を「ポリシーファイル」で指定して、ポリシーファイルにもとづいて「データベース」を作成します。

「整合性チェック」をしてみて、変更があれば「レポート」を確認。変更がやばいものなら、対策しなきゃ!変更が問題ないものなら、毎回警告しないようにポリシーの修正を行ったり、データベースの更新をしたり。

で、また整合性チェックをして、の繰りかえしとなるようです。

tripwire_flow

Tripwire のファイルの構成

/usr/sbin (実行ファイル)

tripwire 整合性チェック、データベースの初期化などを行う。
twadmin 設定ファイルやポリシーファイルの管理、鍵ファイルの管理と暗号署名などを行う。
twprint レポートファイルやデータベースの内容を表示する。
siggen ファイルのハッシュ値を計算するツール。指定したファイルの CRC32、MD5、SHA、HAVAL のハッシュ値を計算することができる。

/etc/tripwire (設定ファイル)

tw.cfg Tripwire 全体の設定ファイル。サイトキーで暗号化される。
twcfg.txt このファイルから tw.cfg を生成する。
tw.pol ポリシーファイル。バイナリファイルでサイトキーで暗号化される。
twpol.txt このファイルから tw.pol を生成する。デフォルトでは Redhat 7.0 をフルオプションでインストールした状態を想定して書かれている。
ホスト名-local.key データベースとレポートファイルの署名に利用される、ローカルキーが保存される。
site.key 設定ファイルとポリシーファイルの署名に利用される、サイトキーが保存されるファイル。

/var/lib/tripwire/ (データベースとレポート)

ホスト名.twd 整合性チェックに比較基準となるデータベース。
report/ホスト名-日時.twr 整合性チェックの結果が出力されるファイル。

よく使うコマンド

データベースの初期化

/usr/sbin/tripwire -m i

整合性チェック

/usr/sbin/tripwire -m c

設定ファイルの確認

/usr/sbin/twadmin -m f

設定ファイルの生成

/usr/sbin/twadmin -m F ?S site.key twcfg.txt

ポリシーファイルの確認

/usr/sbin/twadmin -m p

ポリシーファイルの生成

/usr/sbin/twadmin -m P ?c tw.cfg twpol.txt

ここまでは、そんなに難しくないですね。でもやっぱり、ポリシーファイルの作り方が難しそう。


以下を参考にしました。

TRIP WIRE FOR LINUX (本) 著:伊原 英明 発行:オライリージャパン

ITmedia エンタープライズ:第1回:Tripwireを導入する
http://www.itmedia.co.jp/enterprise/0209/11/n13.html

@IT : 第8回 Tripwireによるホスト型IDSの構築
http://www.atmarkit.co.jp/flinux/rensai/security08/security08a.html