独自のアプリケーションは、auditwrite(3) ルーチンを使用して、アプリケーションに固有の独自の監査イベントと監査クラスを作成し、監査記録を生成することによってユーザーによるシステム使用状況を監査します。
独自の監査イベント - 作成後 /etc/security/audit_event ファイルに加えられるイベント。audit_event(4) のマニュアルページは、このファイルが数値 32768 〜 65535 を付けてイベント定義を格納する方法と、クラスマップを監査する監査イベントを指定する方法について述べています。
独自の監査クラス - /etc/security/audit_class ファイル (audit_class(4) を参照) に定義された監査イベントの論理グループであり、事前選択と事後選択に使用される。詳細は、audit_control(4) のマニュアルページを参照してください。
アプリケーションプログラマは、独自のアプリケーションで使用される独自の監査イベントとクラスを定義します。そのアプリケーションを使用するサイトのシステム管理者は、前述したファイルを設定することによって、新しいイベントとクラスを認識します。
アプリケーション内部では、監査イベントが生成され、監査トレールにレコード単位でログが記録されます。監査レコードには、監査イベントとその他の関連情報 (イベントを生成したプロセスのプロセス ID、イベントが発生したマシン、日時など) を持つトークンが含まれます。監査トレールは、カーネル、システムアプリケーション、および独自のアプリケーションによって生成された監査レコードがファイル単位で格納される場所です。次の図は、これらの要素とその関係を示しています。
auditwrite(3) ルーチンに渡すトークンを決定し、どの情報を監査レコードに記録するかを決めるのはプログラマです。独自のアプリケーションの監査レコードは、可能なかぎり高いインタフェース層で生成してください。そうすることにより、もっとも正確な情報が得られ、価値の低い監査レコードを生成しないように制限しやすくなります。