7.2. Audit システムのアーキテクチャー
Audit システムには主に 2 つの部分があります。
- ユーザー空間アプリケーションおよびユーティリティー
- カーネル側のシステムコール処理
カーネルコンポーネントは、ユーザー空間アプリケーションからのシステムコールを受け取ります。これは、user、task、fstype、または exit のいずれかのフィルターを通してそれらをフィルタリングします。
システムコールは、exclude フィルターによる評価を通過した後、これらのフィルターのいずれかに送られます。フィルターは、Audit ルールの設定に基づいて、それを Audit デーモンに送信します。
ユーザー空間の Audit デーモンは、カーネルから情報を収集します。ログファイルにエントリーを書き込みます。その他の Audit ユーティリティーは以下と連携します。
- Audit デーモン
- カーネル Audit コンポーネント
- Audit ログファイル
-
auditctlユーティリティーは、カーネルの Audit コンポーネントと連携します。ルールを管理します。また、イベント生成プロセスの設定やパラメーターも制御します。 -
残りの Audit ユーティリティーは、Audit ログファイルを入力として使用します。ユーザーの要件に基づいて出力を生成します。たとえば、
aureportユーティリティーは、記録された全イベントのレポートを生成します。
RHEL 10 では、Audit dispatcher デーモン (audisp) 機能は、Audit デーモン (auditd) に統合されています。プラグインの設定ファイルは、/etc/audit/plugins.d/ ディレクトリーにあります。これらのプラグインを使用すると、リアルタイム分析プログラムが Audit イベントと連携できるようになります。