2008年9月22日月曜日

auditを使用してみる。

結局は http://paranoid.dip.jp/kaworu/2007-06-04-2.html の情報の焼き直しかな。
あと、sunのページのauditの情報を見るのも役になったです。

auditを有効にするには、/etc/rc.conf で、auditd_enable="YES" を設定してやる。
/var/audit/も作成してあげないとダメだったかも(ディレクトリはaudit_controlで設定される)。

設定ファイルは、/etc/security/ 配下にある。

= auditとして監視するクラス(?)の記述ファイル
audit_class
audit_event

= audit対象の設定ファイル
audit_control
audit_user

= audit(デーモン?)に問題があった場合のログ出力先
audit_warn

多分、audit_eventにイベント一覧があって、各行の最後のコロン(:)以降にクラスを設定する。クラスは、audit_classに記載のある物でないとNG。

で、このクラスに対して、audit_controlやaudit_userで、監視する内容を設定する。
audit_controlはデフォルトの監視クラスや、auditとしての振舞を設定。audit_userには、各ユーザ毎の監視クラスを個別に設定。
ここで指定した監視クラスに引っかかった内容が、audit_controlのdirディレクトリ(デフォルト /var/audit/)配下のログファイルに出力される。
/var/audit/日付.not_terminatedが多分開かれているファイルで、auditを停止したり、ログがローテートされる(タイミングは不明。auditの停止だったっけ?)と、not_terminatedが削除されたファイルが作成される。

audit_warnは、よくわからないけど/var/auditのあるストレージがあふれたりしたら、この内容にそってログが出力されるのだと思われる。

で、ログを見るコマンドが、 praudit。 引数にファイルを指定してあげれば、監視によってログされた内容を見ることが出来る。
praudit /var/audit/20080921200406.not_terminated

zfsが遅かった問題

今回 buildworldをし直したらな、問題無いようす。
多分/usr/obj/配下を削除して、buildし直したからだと思われる。

もしかしたら、OSのソースの変更があったかもしれないけど、以前のOSのソースを残していないので、今と昔のソースの違いがわからない。時刻を手掛かりにcvswebなどを見ての変更されていないので、ビルドのしかたの問題なのでしょう。

現在のuname -a の内容は以下。

7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #0: Mon Sep 22 04:14:43 JST 2008 root@:/usr/obj/usr/src/sys/GENERIC i386