一般的な監査ログの生成

以下は、一般的な監査ログ生成の例です。

この例では、システム管理者が監査サブシステムを使用して、 大規模なマルチユーザー・サーバー・システムをモニターするという状況を想定しています。 IDS への直接的な統合は実行されず、すべての監査レコードを手動で検査して、不正がないかどうか調べます。 生成されるデータの量を管理可能なサイズにとどめるために、少数の不可欠な監査イベントだけが記録されます。

イベント検出と見なされる監査イベントを以下に示します。
FILE_Write
構成ファイルへのファイル書き込みに関して知る必要があるため、このイベントは /etc ツリー内のすべてのファイルで使用されます。
PROC_SetUserIDs
ユーザー ID のすべての変更
AUD_Bin_Def
監査ビン構成
USER_SU
su コマンド
PASSWORD_Change
passwd コマンド
AUD_Lost_Rec
レコードが失われた場合の通知
CRON_JobAdd
新規 cron ジョブ
AT_JobAdd
新規 at ジョブ
USER_Login
すべてのログイン
PORT_Locked
無効な試行が多すぎたことによる、端末でのすべてのロック

一般的な監査ログを生成する方法の例を、以下に示します。

  1. 変更をモニターする重要なファイルのリストをセットアップします。例えば、/etc 内のすべてのファイルをモニターする場合、以下のように、objects ファイル内で FILE_Write イベント用にそれらを構成します。
    find /etc -type f | awk '{printf("%s:¥n¥tw = FILE_Write¥n¥n",$1)}' >> /etc/security/audit/objects
  2. auditcat コマンドを使用して、BIN モードの監査をセットアップします。 /etc/security/audit/bincmds ファイルは次のようになります。
    /usr/sbin/auditcat -p -o $trail $bin
  3. /etc/security/audit/config ファイルを編集し、必要なイベントのクラスを追加します。既存のユーザーをすべてリストし、それらに custom クラスを指定します。
    start:
            binmode = on
            streammode = off
    
    bin:
            cmds = /etc/security/audit/bincmds
            trail = /audit/trail
            bin1 = /audit/bin1
            bin2 = /audit/bin2
            binsize = 100000
            freespace = 100000
    
    classes:
            custom = FILE_Write,PROC_SetUser,AUD_Bin_Def,AUD_Lost_Rec,USER_SU, ¥
                     PASSWORD_Change,CRON_JobAdd,AT_JobAdd,USER_Login,PORT_Locked
    
    users:
            root = custom
            afx = custom
            ...
  4. 新しい ID で正しい監査呼び出しが自動的に関連付けられるように、以下のように、custom 監査クラスを /usr/lib/security/mkuser.default ファイルに追加します。
    user:
        auditclasses = custom
        pgrp = staff
        groups = staff
        shell = /usr/bin/ksh
        home = /home/$USER
  5. SMIT または crfs コマンドを使用して、/audit という名前の新しいファイルシステムを作成します。 このファイルシステムには、2 つのビンと大規模な監査証跡を保持するだけの大きさが必要です。
  6. audit start コマンド・オプションを実行し、/audit ファイルを検査します。 最初は、2 つのビン・ファイルと空の trail ファイルがあるはずです。 そのシステムをしばらく使用した後で、以下のようにして読み取ることのできる、trail ファイル内の監査レコードができているはずです。
    auditpr  -hhelpPRtTc -v | more
この例では、少数のイベントだけが使用されています。 すべてのイベントを参照するには、すべてのユーザーにクラス名 ALL を指定できます。 これにより、大量のデータが生成されます。 ユーザーの変更および特権の変更に関連するすべてのイベントを、custom クラスに追加することもできます。