ネットワーク上で監査プロセスを有効にする前に、監査構成ファイルを編集します。このあとに説明する手順の多くは、サービスの再開またはローカルシステムのリブートが必要です。監査構成ファイルの編集は、できるだけ BSM サービスを開始する前に完了してください。
次の表は、この節で説明する操作の一覧です。
作業 |
説明 |
参照先 |
---|---|---|
監査フラグの選択、audit_control 設定の変更 |
監査対象イベントを事前に選択する。audit_control ファイルに設定された値を変更する | |
ユーザーの監査特性の変更 |
システム全体の監査フラグ設定に対してユーザー固有の例外を設定する | |
監査クラスの追加 |
新しい監査クラスを定義する | |
イベントからクラスへの割り当ての変更 |
特定のイベントが属するクラスを変更する | |
監査イベントの追加 |
新しいユーザーレベルのイベントをaudit_event ファイルに追加する |
監査フラグは、/etc/security/audit_control ファイルに定義されます。監査フラグを使用して、監査ログに記録する監査レコードのクラスを選択します。
スーパーユーザーになるか、同等の役割を引き受けます。
(省略可能) audit_control ファイルのバックアップコピーを保存します。
# cp /etc/security/audit_control /etc/security/audit_control.save |
audit_control ファイルに新しいエントリを追加します。
各エントリの書式は次のとおりです。
title:string |
行の種類を定義する。dir:、flags:、minfree:、または naflags: を選択できる
この種類の行に関連付けるデータを指定する
監査デーモンを実行して、新しい audit_control ファイルを読み込みます。
監査デーモンの内部に、読み込んだ情報が格納されます。新しい情報を使用するには、システムをリブートするか、次のコマンドを入力します。
# audit -s |
dir: で始まる行には、監査トレールファイルの格納に使用する監査ファイルシステムを定義します。この例では、監査トレールファイルの位置を 2 つ追加定義しています。
# cat /etc/security/audit_control dir:/etc/security/audit/host.1/files dir:/etc/security/audit/host.2/files dir:/var/audit flags: minfree:10 naflags:lo |
audit_control ファイルの flags 行には、監査するイベントのクラスを定義します。このフラグは、ホスト上のすべてのユーザーに適用されます。クラスは空白を入れずにコンマで区切ります。この例では、すべてのユーザーを対象に lo クラスのイベントが監査されます。
# cat /etc/security/audit_control dir:/var/audit flags:lo minfree:10 naflags:lo |
audit_control ファイルの minfree 行には、すべての監査ファイルシステムの最小空き領域レベルを定義します。この例では、利用できるファイルシステムの領域が 10 % だけになったときに警告が発行されるように、ソフト制限値を設定しています。
# cat /etc/security/audit_control dir:/var/audit flags: minfree:10 naflags:lo |
audit_control ファイルの naflags: 行には、ホスト上のすべてのユーザーを対象に監査する、ユーザーに起因しないイベントのクラスを定義します。クラスは空白を入れずにコンマで区切ります。この例では、na イベントクラスが追加されます。
# cat /etc/security/audit_control dir:/var/audit flags: minfree:10 naflags:lo,na |
ユーザーごとの定義は、/etc/security/audit_user ファイルに格納されます。これらの定義は、audit_control ファイル内のフラグに対する例外です。
スーパーユーザーになるか、同等の役割を引き受けます。
(省略可能) audit_user ファイルのバックアップコピーを保存します。
# cp /etc/security/audit_user /etc/security/audit_user.save |
audit_user ファイルに新しいエントリを追加します。
各エントリの書式は次のとおりです。
username:always:never |
監査するユーザー名を選択する
常に監査する監査クラスの一覧を選択する
監査しない監査クラスの一覧を選択する
複数のフラグを指定するには、監査クラスをコンマで区切ります。監査ファイルの詳細は、監査クラスと監査フラグを参照してください。
監査デーモンで新しいデータが使用できるようにします。
新しいデータを使用するには、システムをリブートします。該当のユーザーをいったんログアウトさせてからログインし直させることもできます。
この例のエントリでは、ユーザー sue がログインクラス (lo) の任意のプログラムにアクセスすると、監査レコードが生成されます。
# grep sue /etc/security/audit_user sue:lo: |
ログインを監査対象としている場合にすべての監査パーティションがいっぱいになると、ユーザーがホストにログインできなくなる可能性があります。この状況を回避するために、監査を行わない特別なアカウントを設定できます。特別なアカウントは、監査パーティションがいっぱいになった場合でもホストにログインできるため、このようなパーティションの問題を解決することができます。この例では、アカウント auditadm を監査しないように定義します。
# grep auditadm /etc/security/audit_user auditadmin:no:yes |
監査管理アカウントの使用を許されたユーザーについては、別の方法で監視する必要があります。
監査クラスは、/etc/security/audit_class ファイルに定義されます。
スーパーユーザーになるか、同等の役割を引き受けます。
(省略可能) audit_class ファイルのバックアップコピーを保存します。
# cp /etc/security/audit_class /etc/security/audit_class.save |
audit_class ファイルに新しいエントリを追加します。
各エントリの書式は次のとおりです。
0xnumber:name:description |
number が 16 進であることを示す
一意の監査クラスマスクを定義する
監査クラスの 2 文字の名前を定義する
監査クラスの記述名を定義する
BSM サービスで新しいデータが使用できるようにします。
新しいデータを使用するには、システムをリブートするか、次のコマンドを入力します。
# auditconfig -conf |
この例では、次のようなエントリを audit_class ファイルに追加します。このエントリによって、ta という名前の新しい監査クラスが作成されます。
0x01000000:ta:test application |
イベントからクラスへの割り当ては、/etc/security/audit_event ファイル内に定義されています。
スーパーユーザーになるか、同等の役割を引き受けます。
(省略可能) audit_event ファイルのバックアップコピーを保存します。
# cp /etc/security/audit_event /etc/security/audit_event.orig |
特定のイベントの flag を変更して、そのイベントが属するクラスを変更します。
各エントリの書式は次のとおりです。
number:event:program:flag |
監査イベント ID を定義する
監査イベントの名前を定義する
監査レコードの作成を開始するシステムコールまたはユーザーレベルのプログラム実行可能ファイルを定義する
監査クラスの 2 文字の名前を定義する
BSM サービスで新しいデータが使用できるようにします。
新しいデータを使用するには、システムをリブートするか、次のコマンドを入力します。
# auditconfig -conf # audit -s |
この例では、新しいクラスを定義して、そのクラスにイベントを追加します。割り当てを使用するには、新しいクラスを audit_control ファイル内に記述してから、システムをリブートします。
audit_class ファイルで、監視したい監査イベントのみを収集するため、サイト固有のクラスを定義します。
0x00000800:sc:site class |
audit_event ファイルで、一連の監査イベントの所属先を新しいクラスに変更します。
26:AUE_SETGROUPS:setgroups(2):sc 27:AUE_SETPGRP:setpgrp(2):sc 40:AUE_SETREUID:setreuid(2):sc 41:AUE_SETREGID:setregid(2):sc 214:AUE_SETEGID:setegid(2):sc 215:AUE_SETEUID:seteuid(2):sc |
audit_controlファイルで新しいフラグを使用します。次のエントリは、ログインを監査するとともに、sc クラスに属するイベントのすべての正常な起動を監査します。
flags:lo,+sc |
新しい構成によってすべてのプロセスが確実に監査されるようにするには、システムをリブートします。または、次の一連のコマンドを使えば、そのマシンを使用する各ユーザーが正しく監査されるようになります。auid はユーザー ID です。
# auditconfig -conf # audit -s # setumask auid lo,+sc |
監査イベントの定義は、/etc/security/audit_event ファイルに格納されます。
スーパーユーザーになるか、同等の役割を引き受けます。
(省略可能) audit_event ファイルのバックアップコピーを保存します。
# cp /etc/security/audit_event /etc/security/audit_event.save |
audit_event ファイルに新しいエントリを追加します。
各エントリの書式は次のとおりです。
number:name:description:classes |
一意の監査イベント番号を定義する。32767 以降の番号を指定する
一意の監査イベント名を定義する
監査イベントの説明を記述する。監査イベントのマニュアルページ名が含まれることが多い
このイベントを含む監査クラスを選択する
監査デーモンで新しいデータが使用できるようにします。
新しいデータを使用するには、システムをリブートするか、次のコマンドを入力します。
# auditconfig -conf |
この例のエントリは、ローカルアプリケーションの新しい監査イベントを定義しています。
# grep localapp /etc/security/audit_event 32768:AUE_localapp:localapp(1):ta |