VMware と CentOS で、宅内テスト環境を作っています。WEB 上には情報がそろっていて、なんとか初めての人でもテスト用の環境くらいはできそうな感じです。でもやっぱり、参照している手順の意味がわからないということが多々。
今回は Tripwire について調べてみました。
Tipwireってなに?
こんなツール
Tripwire は、最初にファイルの情報をデータベース化します。その後、定期的に実際のファイル情報をチェックして、データベースのファイル情報と違う点がないか確認します。不正にファイルが改ざんされたことや、そのタイミングを知ることができるようです。
チェックするファイル、ディレクトリ情報
Tripwire は以下の情報をデータベース化して、チェック時に比較します。
- ファイルのアクセス権 (p)
- 所有者のユーザーID (u)
- 所有者のグループ ID (g)
- ファイルのサイズ (s)
- MD5 ハッシュ (M)
導入・運用フロー
インストールしたら、ファイルの監視対象と監視方法を「ポリシーファイル」で指定して、ポリシーファイルにもとづいて「データベース」を作成します。
「整合性チェック」をしてみて、変更があれば「レポート」を確認。変更がやばいものなら、対策しなきゃ!変更が問題ないものなら、毎回警告しないようにポリシーの修正を行ったり、データベースの更新をしたり。
で、また整合性チェックをして、の繰りかえしとなるようです。
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







