Solaris のシステム管理 (セキュリティサービス)

監査レコードのマージ方法

次のタスクでは、すべての監査ディレクトリのすべての監査ファイルをマージする方法について説明します。監査トレールの内容を分析する場合は、次の手順を行います。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. 一次監査ディレクトリに移動します。


    # cd /etc/security/audit/server-name.1/files
    

    このディレクトリに移動すると、マージしたファイルがこの保護されたディレクトリに配置されます。

  3. 監査レコードをマージします。


    # auditreduce> merged.log
    

    server-name 上の audit_control ファイルの dir: 行に指定されているすべてのディレクトリがマージされ、merged.log というファイルに格納されます。

例 - 監査トレール全体を表示する

監査トレール全体を一度に表示するには、auditreduce コマンドの出力を praudit コマンドにパイプします。


# auditreduce | praudit

例 - 監査トレール全体を印刷する

出力を lp コマンドにパイプすると、その出力はプリンタに送られます。


# auditreduce | praudit | lp

例 - 監査ファイルの結合と削減

auditreduce-O オプションを使用して、複数の監査ファイルを 1 つのファイルに結合し、そのファイルを指定した出力ファイルに保存します。auditreduce を使用すると、監査ファイルの結合と削除を自動的に実行できます (auditreduce(1M) のマニュアルページの -C-D オプションを参照)。ただし、多くの場合、 find コマンドなどを使用して手動でファイルを選択し、auditreduce を使用してファイル名を指定する方が簡単です。

この方法で auditreduce を使用すると、入力ファイルのすべてのレコードが 1 つの出力ファイルにマージされます。マージが完了したら、入力ファイルは削除する必要があります。また、出力ファイルは、/etc/security/audit/server-name /files という名前のディレクトリに保存し、auditreduce が出力ファイルを検索できるようにする必要があります。


# auditreduce -O combined-filename

auditreduce コマンドを使用すると、入力ファイルを結合するときに不要なレコードを除外して、出力ファイル内のレコード数を削減することもできます。たとえば、auditreduce を使用して、監査ファイルから 1 か月以上経過した記録のログインレコードとログアウトレコードだけを保持して、ほかのすべてのレコードを削除することができます。監査トレール全体が必要になった場合は、バックアップテープから復元することができます。


# auditreduce -O daily.summary -b 19990413 -c lo; compress *daily.summary
# mv *daily.summary /etc/security/summary.dir

例 - 選択した日付のユーザーの動作を表示する

次の例では、システム管理者が lo イベントクラスを要求して、ユーザー tamiko が 1999 年 4 月 13 日にログインしてログアウトした時刻を調べます。短い書式の日付は、yymmdd 形式で出力されます。長い書式については、auditreduce(1M) のマニュアルページを参照してください。


# auditreduce -d 990413 -u tamiko -c lo | praudit

例 - 選択レコードを 1 つのファイルにコピーする

この例では、特定の日付のログインおよびログアウトメッセージが監査トレールから選択され、対象ファイルにマージされます。対象ファイルは、通常の監査ルートディレクトリ以外のディレクトリに書き込まれます。


# auditreduce -c lo -d 990413 -O /usr/audit_summary/logins 

-O オプションを使用すると、開始時刻と終了時刻を示す 14 文字のタイムスタンプと接尾辞 logins が付いた監査ファイルが作成されます。


/usr/audit_summary/19990413000000.19990413235959.logins

例 - not_terminated 監査ファイルを整理する

監査ファイルが開いているときに監査デーモンが終了したり、サーバーがアクセス不能になって新しいサーバーに切り替わったりすることがあります。このような場合、その監査ファイルは監査レコードとして使用されなくなりますが、監査ファイルの終了時刻として文字列 not_terminated が付いたままになります。このようなファイルが検出された場合は、ファイルが使用されていないことを手動で検証し、正しいオプションを使用してファイル名を指定して整理します。


# audit -s
19990414121112.not_terminated.egret
# auditreduce -O egret 19990413120429.not_terminated.egret

audit コマンドは、現在の監査ファイル名を確認します。auditreduce コマンドは、正しい名前、正しいタイムスタンプ、および正しい接尾辞 (egret) を使用して新しい監査ファイルを作成し、すべてのレコードをそのファイルにコピーします。