前回、Tripwire の改ざんチェックが自動化されていることを確認し、更にメールで自動的にレポートを送信するようにいたしました。
インストールの時に作成したままのベースラインデータベースですので、いくつか作業をいたしました後ですと、改ざんされていないにもかかわらず検知に引っかかってしまいます。
そこで、今回は Tripwire の改ざんチェック時に使用するベースラインデータベースのアップデート方法を学びたいと思います。
Tripwire データベースのアップデートはレポートを見ながら♪
tripwire コマンドでアップデートすることになりますが、まずはオプションを整理します。
- -m u, –update → ベースラインデータベースのアップデート時に指定
- -c cfgfile, –cfgfile cfgfile → 暗号署名された設定ファイル名を指定
- -p polfile, –polfile polfile → 暗号署名されたポリシーファイルのファイル名を指定
- -r report, –twrfile report → アップデート対象としたいファイルが記載されているレポートファイルを指定
アップデート対象とするレポートファイルを決めるべく、調べます。
[root@oki2a24 ~]# ll /var/lib/tripwire/report/ 合計 56 -rw-r--r-- 1 root root 6686 7月 27 12:01 oki2a24.com-20130727-120039.twr -rw-r--r-- 1 root root 8342 7月 28 02:00 oki2a24.com-20130728-020035.twr -rw-r--r-- 1 root root 8606 7月 28 14:57 oki2a24.com-20130728-145642.twr -rw-r--r-- 1 root root 8662 7月 28 15:17 oki2a24.com-20130728-151656.twr -rw-r--r-- 1 root root 8798 7月 28 15:29 oki2a24.com-20130728-152839.twr [root@oki2a24 ~]#
1番最近のレポートファイルを指定いたしましょう。そうすれば、アップデート後の変更のみが検知されるようになるはずです。
では実際に Tripwire のベースラインデータベースをアップデートします。
tripwire -m u -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -r /var/lib/tripwire/report/oki2a24.com-20130728-152839.twr
するとレポートファイルが開かれました。ただし、ただ閲覧する時とは少し異なります。具体的には、改ざん検知したファイル一覧を表示する「Object Summary」部分です。
Remove the “x” from the adjacent box to prevent updating the database with the new values for this object.
とあります。アップデートしたくない部分は、「x」を取り除いてください!とあります。アップデートしたくないファイルとは、アップデート以後も改ざん検知に引っかかるようにしたいファイルのことです。
今回は、すべてアップデートしたいです。
…略… =============================================================================== Object Summary: =============================================================================== ------------------------------------------------------------------------------- # Section: Unix File System ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Rule Name: Tripwire Data Files (/var/lib/tripwire) Severity Level: 100 ------------------------------------------------------------------------------- Remove the "x" from the adjacent box to prevent updating the database with the new values for this object. Added: [x] "/var/lib/tripwire/oki2a24.com.twd" ------------------------------------------------------------------------------- Rule Name: System boot changes (/var/log) Severity Level: 100 ------------------------------------------------------------------------------- Remove the "x" from the adjacent box to prevent updating the database with the new values for this object. Added: [x] "/var/log/sa/sar27" [x] "/var/log/sa/sa28" Removed: [x] "/var/log/sa/sa19" [x] "/var/log/sa/sar18" …略…
ですので、一応すべて確認後、そのまま保存して閉じます。エディタは vi のようですので「:wq」で閉じます。
あら?失敗ですの><。
Interactive Update failed. ### Error: Report file could not be parsed. Report may be corrupt. ### Exiting...
何度か試してみましたけれども、一向に改善されません。困りました><。
【幕間】Tripwire データベースアップデートでパースエラーとなる問題に対処
Tripwire レポートに日本語が混じっていることが原因でした。具体的には、日付です。次のようにして、無事アップデートできましたことを確認しました。
# 言語を確認 printenv | grep LANG # LANG=ja_JP.UTF-8 と表示される # 翻訳しないように設定 export LANG=C # 言語を再び確認 printenv | grep LANG # LANG=C と表示される # Tripwire のベースラインデータベースアップデートを実行し、 # アップデートが終わったら言語を元に戻す export LANG=ja_JP.UTF-8
言語変更をしてからアップデートいたしましたら、無事完了出来ました♪
つまり、言語を変更 → Tripwire ベースラインデータベースアップデート → 言語を元に戻す、の順番です。なお、元に戻さなくとも、SSH からログアウトすれば、言語設定は元に戻るはずです(未確認)。
参考になりましたページはこちらです。ありがとうございました!
- tripwireのデータベースアップデートエラーについて | Linux系OSのQ&A【OKWave】
→ このページのおかげで全て解決しました。ありがとうございました!ただし、更に検証した結果、言語変更後の改ざんチェック再実行は不要でした。 - 環境変数の一覧を表示するには
→ LANG の変更前後の値を確認する方法として役に立ちました。ありがとうございました! - 1 Entry per Day: What’s “LANG=C” ?
→ LANG=C の「C」とは一体何なのでしょう?と思い、補足として調べました。「LANG=C」 = 「翻訳しない」ということのようですね。ありがとうございました!
気を取り直して Tripwire アップデートの続きです!
エラー対処で何回かチェックをやり直しています。最新のレポートを元にアップデートを行います。なお、指定しなくとも問題ないオプションは省いています。
tripwire -m u -r /var/lib/tripwire/report/oki2a24.com-20130728-174140.twr
アップデート対象をすべて確認しまして、保存してエディタを「:wq」で終了させます。するとローカルパスフレーズを求められますので入力します。
Please enter your local passphrase: Wrote database file: /var/lib/tripwire/oki2a24.com.twd
これで無事アップデートできました!
Tripwire データベースのアップデートを確認♪
整合性チェックのコマンドで、改ざんチェックに検知されなければ終了です!どうでしょうか?
tripwire -m c
「Total violations found: 0」と表示されました。これで完了ですわね♪
おわりに
これで日々の運用もバッチリでしょう!また、できることが増えました。嬉しいです。参考ページはこちらです。
あとは勉強のページを読み返してみて、気になる点を詰めていけばよいと思いますの。
以上です。