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

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



武藤@Debianぷろじぇくとです。

At Fri, 1 May 2009 14:59:56 +0900,
canon wrote:
> 一昨日ほどにファイル改竄対策に「integrit」を、参考サイトなどを見て設定
> し、データベースを作成しました。しかし、次のデータベースの更新がうまく
> 行っておらず、一度行った変更が更新により有効にならず、スキャンした時に変
> 更されているといつも通知されます。

integritをインストールして挙動を確認しました。

結論としては、「参考サイト」の内容をちゃんと咀嚼していない、参考サイトが
いまいちの説明なのかもしれない、そもそもパッケージにあるドキュメントを
読んでない、のどれか or その複合だと思います。

> データベースファイルのディレクトリのプロパティを見ると、「*currnt.cdb」
> というファイルは確実に修正履歴が変わっているので更新されているはずなんで
> すが、残りのデータベースファイルはまったく修正履歴に変化はなく、初回デー
> タベース作成時の日になっています。
> 
> どうすればデータベースの更新と変更点の出力をなくすことができますでしょう
> か。グーグルなどでいろいろと調べてみるも、思い当たるものはありませんでし
> た。
> 
> それとも、変更点の出力は消えず「変更履歴」として残る仕様なのでしょうか?

integritは、「履歴」ではなく、ある時点で作成したスナップショットからの
「変化」を知らせるツールです。
Debianの設定例ファイルを使ったということなので、最初に実行したときに
たとえばetcのものであれば、etc.cdb (元となるスナップショットデータベース)
と etc-current.cdb (現時点でのデータベース) というファイルができている
はずです。
cronで更新しているのはご自身で調べられているとおり、後者のファイルです。

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

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

なお、セキュリティに綿密に注意を払っているなら容易に想像がつくように、
書き込み可能な同じ領域にスナップショットデータベースファイルがあることは
望ましい状態ではありません(チェックが動く前にスナップショットファイルを
書き換えてしまえば変更の痕跡を消すことができます)。
スナップショットデータベースファイルは、読み取り専用しかできないような
メディアやファイルシステムに置くのが本来は適切です。
-- 
武藤 健志@ kmuto @ kmuto.jp
           Debian/JPプロジェクト   (kmuto@debian.org, kmuto@debian.or.jp)
           株式会社トップスタジオ  (kmuto@xxxxxxxxxxxxxxx)
URI: http://kmuto.jp/ (Debianな話題など)