[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:52427] Re: integritのデータベース更新について



返信ありがとうございます。

> integritは、「履歴」ではなく、ある時点で作成したスナップショットからの
> 「変化」を知らせるツールです。


> cron内でも起動されるintegrit -cオプションでは、元となるスナップショット
> データベースと現時点のデータベースを比較し、差異があると何らかの変更が
> 加えられたものとして報告します。元ファイルは変わることがないので(むしろ
> 簡単に変わってしまっては警戒システムとして役に立たないので)、この報告は
> 当然ながら実行されるたびにいつまでも続きます。
> 
なるほど、そのようなツールでしたか。納得です。よくドキュメントを読んでな
かったので分かりませんでした。不覚です。すいません。

> 元ファイルを更新する方法ですが、ドキュメントを見る限りでは単にcurrent
> ファイルで上書きすればよいようです。

なるほど。しかしこれは最初の引用文にかかれてあるとおり、自分で本当に変更
したと分かっている場合以外やってはいけないような気がします。


> なお、セキュリティに綿密に注意を払っているなら容易に想像がつくように、
> 書き込み可能な同じ領域にスナップショットデータベースファイルがあることは
> 望ましい状態ではありません(チェックが動く前にスナップショットファイルを
> 書き換えてしまえば変更の痕跡を消すことができます)。
> スナップショットデータベースファイルは、読み取り専用しかできないような
> メディアやファイルシステムに置くのが本来は適切です。

了解です。読み取り専用、つまりリードオンリーの場所に配置するのが適切なの
ですね。例えばCDやDVDといった場所のことでよろしいのでしょうか。当方では
ディレクトリとファイルを読み取り専用にした専用のものを作成し、そこに置く
ことにしました。



mejikoが行った手順は次のとおりです。

1 「su -」でルートになり、「/var/lib/integrit-db」というディレクトリを
作成。

2 「/var/lib/integrit」のスナップショットデータベースを
「/var/lib/integrit-db」に移動させる。

3 chmodコマンドで、移動したディレクトリのパーミッションを読み取り専用
に変更。データベースファイルも読み取り専用に変更。


その後のファイル情報は次のようになりました。

/var/lib/integrit-db(ディレクトリそのもの)

dr-xr-xr-x  2 root   root     4096 2009-05-06 10:26 integrit-db

「/var/lib/integrit-db」以下のファイル群

-r--r----- 1 root root   17058 2009-04-30 15:47 bin.cdb
-r--r----- 1 root root    6469 2009-04-30 15:47 boot.cdb
-r--r----- 1 root root  146542 2009-04-30 15:47 dev.cdb
-r--r----- 1 root root  576395 2009-04-30 15:47 etc.cdb
-r--r----- 1 root root 1560305 2009-04-30 15:47 lib.cdb
-r--r----- 1 root root   22705 2009-04-30 15:47 sbin.cdb
-r--r----- 1 root root 7858614 2009-04-30 15:50 usr.cdb


4 integritの各種設定ファイルの「known=」を、移動したファイルパスに変
更。

5 確認のため、cronジョブと、設定ファイルを指定して手動で実行。

手動でやったときの結果です。コマンドオプションは「-uc」です。cronジョブ
のコマンドと同一です。他の設定ファイルもありましたが、多量にあるので一つ
だけにしました。

/etc/integrit# integrit -C /etc/integrit/sbin.conf -uc
integrit: ---- integrit, version 4.1 -----------------
integrit:                      output : human-readable
integrit:                   conf file : /etc/integrit/sbin.conf
integrit:                    known db : /var/lib/integrit-db/sbin.cdb
integrit:                  current
db : /var/lib/integrit/sbin-current.cdb
integrit:                        root : /sbin
integrit:                    do check : yes
integrit:                   do update : yes
integrit: checking for missing files --------------
integrit: current-state db RMD160 -------------- 
integrit:
8fc59ed6be6d08decccc77fa2b2aaf273915579e  /var/lib/integrit/sbin-current.cdb


こんな感じでやりましたが、なにか問題はないでしょうか?