ファイル改竄チェックツール Tripwire のインストールと設定 〜 CentOS6

スポンサーリンク

ファイル改竄チェックツールである Tripwire のインストールと設定を行います。Tripwire を epel の yum リポジトリからインストールします。

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

このエントリーは、CentOS 6.4 インストール~設定手順の目次 の一部です。

Tripwire の初期設定

Tripwire の初期設定を行います。サイトパスフレーズとローカルパスフレーズの2種類を設定します。パスフレーズは、設定やポリシーDBなどのファイルの署名に利用されます。パスフレーズは、8文字以上でアルファベットと数字を含まなければなりません。

以上で、初期設定はいったん終了。

設定ファイル twcfg.txt を編集し tw.cfg を生成

twcfg.txt から tw.cfg を生成させるため、twcfg.txt を編集します。

設定を反映させる。twcfg.txt から tw.cfg を作成する。

デフォルトの tw.pol で DB を初期化

ここで一旦ポリシーファイルを編集する前に、デフォルトの tw.pol で DB を初期化してみます。

チェックを実行し結果をファイルに保存して、エラーになっているパスを確認します。

113個も見つからないパスがあります。ポリシーファイル(twpol.txt)に tripwire による検査対象のファイルパスが書かれているのですが、存在しないファイルパスが有効になっているためです。その逆に、存在するファイルパスが無効になっているパターンもあります。

Perl スクリプトで twpol.txt を編集

twpol.txt は1000行以上ありますし、手作業での編集は大変なので配布されている Perl スクリプト(ファイル改竄検知システム導入(Tripwire) – CentOSで自宅サーバー構築)を使わさせて頂きます。以下の内容で、/etc/tripwire/twpolmake.pl を作成します。

最後の elsif の節の 2番目の if 文の中、「$_ = “$sharp#$tpath$cond” if ($ret == 0) ;」で存在しないファイルのパスは無効(#をつける)に変更しますね。正規表現をたくみに使ってあるスクリプトです。使わせてもらいありがとうございます。

上の perl スクリプトを使って、twpol.txt を編集して、twpol.txt.new に保存します。

twpol.txt.new から tw.pol を生成しデータベースを初期化

twpol.txt.new からポリシーファイル tw.pol を生成します。

もう一度データベースを初期化します。

または

tripwire のチェック実行結果をファイルに保存して、エラーになっているパスを確認します。

今度は、ファイルパスのエラーが出ませんでした。これで tripwire データベースの初期化はOKと。

Tripwire でのチェック実行

つづいて今度は普通に、Tripwire でのチェックを実行して確認してみます。

または

チェックの結果。

「Total violations found: 1」と出て、うわいきなり改竄されてるのか?と焦りましたけど、先ほど「tripwire –init」した後に、「tripwire –check > path_error_2.txt 2>&1」でファイルパスのエラーを確認するためにリダイレクトで作成したファイルでした。何回かやりなおしたので、上書きされたという扱いで、Modified: “/root/path_error_2.txt” として検出されています。

cron で tripwire によるチェックを自動実行

Tripwire によるチェックさせるシェルスクリプトを作成し、cron で定期実行させます。Tripwire のインストールで、/etc/cron.daily/tripwire-check というファイルができていたのでこれを編集します。

パーミッション設定。

以上で、Tripwire のインストールと設定は終了です。

スポンサーリンク
サーバ構築研究会の CentOS 本は、昔からお世話になっています。Linux の教科書は Linux の基本を学ぶのにおすすめです。
 
スポンサーリンク

Leave Your Message!