SunSHIELD 基本セキュリティモジュール

audit_user ファイル内のユーザ監査フィールド

あるユーザを他のユーザと異なる方法で監査することが望ましい場合には、管理者は audit_user ファイルを編集してユーザに監査フラグを追加できます。これらの監査フラグが指定されている場合は、監査制御ファイル内で指定されているシステム全体で有効なフラグと組み合わされ、そのユーザに関してどのイベントクラスを監査するかが決定されます。管理者が audit_user ファイル内のユーザエントリに追加するフラグは、audit_control ファイルにあるデフォルトを次の 2 つの方法で変更します。1 つは、このユーザについては決して監査されないイベントクラスのセットを指定する方法で、もう 1 つは、常に監査の対象となるイベントクラスのセットを指定する方法です。

audit_user ファイルの各ユーザエントリには、3 つのフィールドがあります。最初のフィールドは username フィールド 、2 つ目は always-audit フィールド、3 つ目は never-audit フィールドです。フィールドは順番に処理されるので、監査機能は 2 つ目の always-audit で使用可能になり、3 つ目の never-audit で使用不可になります。


注 -

never-audit フィールド内で all を設定したままにするというのがよくある間違いです。この場合、そのユーザに関してすべての監査機能がオフになり、never-audit フィールド内で設定されたフラグセットが上書きされてしまいます。


あるユーザにフラグを使用することと、always-audit のセットからクラスを削除することとは異なります。たとえば、次の例のようにファイルシステムのオブジェクトの読み込みに成功した場合を除き、ユーザ fred の動作はすべて監査の対象にしたと仮定します (すべてのデータ読み込み動作を監査する場合に生成される監査データの 4 分の 3 程度に監査データを抑えながら、あるユーザに関するほとんどすべての動作を監査するには、この方法が適しています)。また、システムのデフォルトをユーザ fred に適用するとします。次に 2 つの audit_user エントリを示します。

正しいエントリ


fred:all,^+fr:

間違ったエントリ


fred:all:+fr

1 つ目の例は、「ファイルの読み込みが成功した場合を除き、常にすべての動作を監査する」ことを表しています。2 つ目の例は、「常にすべての動作を監査するが、ファイルの読み込みに成功した場合は決して監査しない」ことを表しています。2 つ目の例はシステムのデフォルト値が変更されるので、正しいエントリではありません。はじめの例では期待どおりの効果が達成されます。つまり、audit_user エントリで指定した内容の他に、初期に設定したデフォルト値が適用されます。


注 -

成功したイベントと失敗したイベントは別個に取り扱われるので、プロセスが生成する監査レコードの量は、そのイベントが成功したときよりも、失敗したときの方が多くなることがあります。