独自のイベントと独自のクラスの作成、および監査トレールに記録された監査レコードの表示を行うには、管理上の設定が多少必要です。次に、この章のコード例の実行に必要な、管理設定の概略を述べます。管理操作の詳細は、『Trusted Solaris の監査管理』を参照してください。
まず、監査が使用可能で有効であることを確認します。デフォルトでは有効ですが、auditconfig(1M) コマンドと getcond オプションを使用して確認できます。このコマンドは、プロファイルシェルから sys_audit または proc_audit_appl 特権を使用して実行してください。setcond オプションを使用すると、監査を有効または無効にできます。
phoenix% auditconfig -getcond
この節では、audit_class、audit_event、audit_control ファイルの設定方法を示します。これらのファイルは、次の方法で編集してください。
セキュリティ管理者の役割になります。
アプリケーションマネージャを起動します。
「システム管理 (System_Admin)」アイコンをダブルクリックします。
「監査クラス (Audit Classes)」アクション、「監査イベント (Audit Events)」アクション、または「監査制御 (Audit Control)」アクションをダブルクリックします。
各ファイルを次のように編集します。
独自の監査クラス ec および、2 つの監査イベント AUE_second_signature と AUE_second_signature_verify を作成します。これらのファイルの詳細は、audit_class(4) と audit_event(4) のマニュアルページを参照してください。
独自の監査クラスは、次に示すように、マスク:名前:内容という書式で /etc/security/audit_class ファイルに追加されます。
0x00008000:ec:example class
独自の監査イベントは、/etc/security/audit_event ファイルに追加され、独自のイベントに予約された数値 32768 〜 65535 の 1 つが割り当てられます。このファイルには、クラスマップを監査する監査イベントも含まれます。次に示す行は、2 つのイベントを追加し、それらを例題のクラス (ec) にマップします。
32768:AUE_second_signature:second signature requested:ec
32769:AUE_second_signature_verify:second signature added:ec
プロセスの事前選択マスクは、プロセスによって監査される監査クラスを指定します。独自のイベントの監査に対し事前選択マスクを設定するには、例題のクラス (ec) 内のイベントの成功 / 失敗を監査するように、/etc/security/audit_control のフラグのパラメータを次のように編集します。
flags:ec
audit_control(4) 内の設定は、システム内のすべてのユーザーに適用されます。設定を 1 人のユーザーに限定するには、/etc/security/audit_user ファイル (「ユーザーの監視」アクション) を次のように編集します。
zelda:ec
ファイルの詳細と設定方法は、audit_control(4) と audit_user(4) マニュアルページを参照してください。ログアウトし、再度ログインすると、新しく定義したプロセスの事前選択マスクが有効になります。-setpmask オプションを指定して auditconfig(1M) を使用しても、既存のあらゆるプロセスにプロセスの事前選択マスクを設定できますが、ファイルを設定し、ログアウトしてログインし直す方が簡単です。
auditwrite(3) ルーチンで生成した監査レコードなど、すべての監査レコードは、一連のバイナリファイルとして ADMIN_HIGH で監査トレールに記録されます。監査ファイルの位置は、/etc/security/audit_control ファイルで設定します。この位置は、デフォルトでは /var/audit です。praudit(1M) コマンドは、監査トレールファイルを読み取り、バイナリデータをユーザーが読める形式の監査レコードに変換します。
proc_audit_appl と proc_audit_tcb 特権を使用して、tail(1) コマンドと praudit(1M) コマンドを使用できる役割になります。端末を ADMIN_HIGH で開き、監査レコードが格納されているディレクトリに移動し、tail と praudit コマンドを次のように実行して現在の監査ファイルを表示します。
この構文は、*not_terminated* ファイルが 1 つ存在する場合だけ有効です。同名のファイルがほかにも存在する場合は、古いファイルを削除してからこのコマンドを実行してください。
phoenix% cd /var/audit phoenix% tail -0f *not_terminated* | praudit
監査デーモンは、監査パーティションに対し、定められた最大の容量に達するまで監査レコードを記録し、その後新しいファイルへの記録開始します。現在書き込みが行われているファイルは、not_terminated 監査ファイルです。どのファイルが使用中かを確認するには、/etc/security/audit_data ファイルを参照してください。
file_setpriv 特権を使用して、プロファイルシェルから setfpriv(1) を実行し、ソースコード例が入った実行可能ファイル (executable.file) の強制された特権セットと許可された特権セットに proc_audit_appl 特権を追加します。スクリプトを使用した実行方法は、「スクリプトを使用したファイル特権の割り当て」を参照してください。
phoenix% setfpriv -s -f proc_audit_appl -a proc_audit_appl executable.file