#author("2017-01-01T21:00:14+09:00","default:auth_user","auth_user")
*Tripwire [#s670b419]

RIGHT:Tripwire最新バージョン
RIGHT:2004/12/10
RIGHT:Tripwire 2.3-47
RIGHT:TripwireRPM 2.3.1-20.fdr.1.2

*目次 [#x795a145]
#contents

**インストール [#wd7f74a0]
ソースから入れようと思ったのだが、FC3等の最新OSではCライブラリが対応できないらしく導入が難しい。
ということでRPMで配られているものを使うことにした。
まず、TripwireのRPMを入手し、インストール。
 wget http://download.fedora.us/fedora/fedora/2/i386/RPMS.testing/tripwire-2.3.1-20.fdr.1.2.i386.rpm
 rpm -ihv compat-libstdc++-8-3.3.4.2.i386.rpm
 rpm -ihv tripwire-2.3.1-20.fdr.1.2.i386.rpm
これでインストール完了。 楽チンでいいね!

[[SourceForge:http://sourceforge.net/projects/tripwire]]でTripwireが入手できるようになっており、現OSでもコンパイルができるようになっていました。
これを使ってもいいですね。

 wget http://jaist.dl.sourceforge.net/sourceforge/tripwire/tripwire-2.4.0.1-src.tar.bz2
 bunzip2 tripwire-2.4.0.1-src.tar.bz2
 tar xvf tripwire-2.4.0.1-src.tar
 cd tar tripwire-2.4.0.1
 ./configure
 make
 make install 
これでインストール完了・・・と行きたかったんですけどなぜかエラー!
「install.sh」が見つからないと文句を言われる。
 in -s contrib install
 make install
とりあえずこれでインストール完了できる。
インストールの最中にsiteキーとlocalキーのパスフレーズを聞かれるので、別々のパスワードを登録しましょう。~
また、Tripwireのコンパイル・インストールはrootで行わなければならないようである。~
suするのではなく、はじめからrootでログインしてコンパイルしましょう。~


RPMでインストールした場合、設定ファイルは"/etc/tripwire"に格納される。~
ソースからコンパイルした場合、設定ファイルは"/usr/local/etc"に格納される
|BGCOLOR(#FF6633):CENTER:ファイル名|BGCOLOR(#FF6633):CENTER:解説|
|"hostname"-local.key|ホストキー レポートを閲覧する際に使う|
|site.key|サイトキー コンフィグファイルやポリシーファイルの署名の際に使う|
|twcfg.txt|Tripwireのコンフィグファイル|
|twpol.txt|Tripwireのポリシーファイル|
|tw.cfg|署名されたTripwireのコンフィグファイル|
|tw.pol|署名されたTripwireのポリシーファイル|

**コンフィグファイルの作成 [#f7030832]
twcfg.txtの編集
|BGCOLOR(#FF6633):CENTER:項目|BGCOLOR(#FF6633):CENTER:値|BGCOLOR(#FF6633):CENTER:解説|
|ROOT|/usr/sbin|全部よくわかっていないので後で調べます|
|POLFILE|/etc/tripwire/tw.pol||
|DBFILE|/var/lib/tripwire/$(HOSTNAME).twd||
|REPORTFILE|/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr||
|SITEKEYFILE|/etc/tripwire/site.key||
|LOCALKEYFILE|/etc/tripwire/"hostname"-local.key||
|EDITOR|/bin/vi||
|LATEPROMPTING|false||
|LOOSEDIRECTORYCHECKING|false||
|MAILNOVIOLATIONS|true||
|EMAILREPORTLEVEL|3||
|REPORTLEVEL|3||
|MAILMETHOD|SENDMAIL||
|SYSLOGREPORTING|false||
|MAILPROGRAM|/usr/lib/sendmail -oi -t||

コンフィグファイルへの署名
 /usr/sbin/twadmin -m F -c /etc/tripwire/tw.cfg -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt

**ポリシーファイルの作成 [#qb7a91d2]
twpol.txtの編集
 @@section GLOBAL
 TWDOCS="/usr/doc/tripwire";
 TWBIN="/usr/sbin";
 TWPOL="/etc/tripwire";
 TWDB="/var/lib/tripwire";
 TWSKEY="/etc/tripwire";
 TWLKEY="/etc/tripwire";
 TWREPORT="/var/lib/tripwire/report";
 HOSTNAME="hostname";

 @@section FS
 SEC_CRIT      = $(IgnoreNone)-SHa ;  # Critical files that cannot change
 SEC_SUID      = $(IgnoreNone)-SHa ;  # Binaries with the SUID or SGID flags set
 SEC_BIN       = $(ReadOnly) ;        # Binaries that should not change
 SEC_CONFIG    = $(Dynamic) ;         # Config files that are changed infrequently but accessed often
 SEC_LOG       = $(Growing) ;         # Files that grow, but that should never change ownership
 SEC_INVARIANT = +tpug ;              # Directories that should never change permission or ownership
 SIG_LOW       = 33 ;                 # Non-critical files that are of minimal security impact
 SIG_MED       = 66 ;                 # Non-critical files that are of significant security impact
 SIG_HI        = 100 ;                # Critical files that are significant points of vulnerability

 # Tripwire Binaries
 (
   rulename = "Tripwire Binaries",
   severity = $(SIG_HI)
 )
 {
   $(TWBIN)/siggen                      -> $(SEC_BIN) ;
   $(TWBIN)/tripwire                    -> $(SEC_BIN) ;
   $(TWBIN)/twadmin                     -> $(SEC_BIN) ;
   $(TWBIN)/twprint                     -> $(SEC_BIN) ;
 }


ポリシーファイルへの署名
 /usr/sbin/twadmin -m P -S /etc/tripwire/site.key /etc/tripwire/twpol.txt

**整合性チェック [#m164a834]
***ポリシーデータベースの作成 [#j89643f0]
整合性チェックの前にポリシーデータベースの作成する。
つまり、正常値を保存しておくということである。
Tripwireでは正常値と整合性チェックとの比較を行い、違いを検出する。
 /usr/sbin/tripwire -m i -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol

***アップデート [#md333df2]
コンフィグのアップデート(もう一度コンフィグファイルを作り直す)
 /usr/sbin/twadmin  -m F -c /etc/tripwire/tw.cfg -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt
ポリシーのアップデート
 /usr/sbin/tripwire -m P -S /etc/tripwire/site.key /etc/tripwire/twpol.txt
ポリシーデータベースのアップデート
 /usr/sbin/tripwire -m u
***整合性チェック [#w739da39]
ポリシーデータベースが作成できたらいよいよ整合性チェックを行う。
 /usr/sbin/tripwire -m c
結果はディスプレイに表示されるが、"/var/lib/tripwire/report"ディレクトリにも保存される。

***レポートの閲覧 [#kd7a142f]
保存されたレポートは暗号化されているため普通に見ることは出来ない。
以下のコマンドを使用してファイルを診ることが出来る。
 /usr/sbin/twprint -m r -c tw.cfg -r "レポートファイル名" -L /etc/tripwire "hostname"-local.key

**よりセキュアな運用 [#x5a6c601]
Tripwireでのファイル指定・コマンド指定をすべて絶対パスで記述していうることに気づいただろうか?
指定しなかった場合、誤ってカレントディレクトリのコマンドやファイルが指定されてしまうことがあるかもしれない。
セキュリティ関連ソフトを扱う場合には、このように最新の注意を払ったほうがよい。

すべての処理が正常に行えて、エラーが出なくなったようであれば、テキスト形式で保存されているコンフィグファイルやポリシーファイルは削除したほうがよい。
どのようなコンフィグが書かれていて、どのファイルに対してチェックを行っているかがわかってしまうからである。
もし、コンフィグファイルやポリシーファイルに対して変更を加えたい場合は、署名したファイルから元のファイルを復元すればよい。~
コンフィグファイルの復元
 /usr/sbin/twadmin -m f > twcfg.txt
ポリシーファイルの復元
 /usr/sbin/twadmin -m p > twpol.txt

ファイルへの編集が終わったら、再びファイルへ署名し、データをアップデートすればよい。

**レポートをメールで受け取る [#k6d676d7]
twpol.txtに以下の内容を記述
 (
    rulename = "Test Policy1"
    emailto  = test@test.jp
 )
ここに記述されたメールアドレスにレポートが送信される。
後はTripwireの実行オプションに"--email-report"を付け加えればよい。

**cronを用いた自動処理 [#if3e5e2a]
基本的にRPMで導入した場合には自動的に動いてチェックをしてくれます。
cron.dailyにセットされるので、毎日チェックします。
かなりの負荷がかかるので、それほど重要でない場合にはcron.weeklyにでも移しましょう
 crontab -e
 ----------------------------------------------------
 0 5 * * 0 /usr/sbin/tripwire --check --email-report
 ----------------------------------------------------
これで毎週日曜日の午前5時に実行されることになる。(と思う)

*参考リンク [#j1b38b4d]
>> [[Tripwire.org:http://www.tripwire.org/]]
>> [[SourceForge Tripwire:http://sourceforge.net/projects/tripwire/]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS