監査レコードは監査ログ内に収集されます。監査サービスでは、監査レコードのための 3 つの出力モードが提供されます。
監査ファイルと呼ばれるログは、バイナリ形式で監査レコードを格納します。システムまたはサイトからの一連の監査ファイルによって、完全な監査レコードが提供されます。完全な監査レコードは監査トレールと呼ばれます。これらのログは audit_binfile プラグインで作成され、praudit および auditreduce 事後選択コマンドで確認できます。
audit_remote プラグインは、監査レコードをリモートリポジトリにストリーム出力します。リポジトリは監査トレールを保持し、事後選択ツールを指定する役割を果たします。
syslog ユーティリティーは、監査レコードの概要テキストを収集して格納します。syslog レコードは、完全なレコードではありません。次の例は、login 監査レコードの syslog エントリを示します。
Oct 10 10:10:20 example_system auditd: [ID 6472 audit.notice] \ login - login ok session 4076172534 by root as root:other
サイトでは、すべての書式の監査レコードを収集するように監査を構成できます。サイトにあるシステムを、バイナリモードをローカルに使用したり、バイナリファイルをリモートリポジトリに送信したり、syslog モードを使用したりするように構成できます。次の表では、バイナリ監査レコードを syslog 監査レコードと比較しています。
|
プラグインと監査ログについての詳細は、次を参照してください。
audit_binfile (5) のマニュアルページ
audit_syslog(5) のマニュアルページ
audit.log(4) のマニュアルページ
バイナリ形式のレコードにより、強力なセキュリティーとカバレージが提供されます。バイナリ出力は、Common Criteria の監査要件などの、セキュリティー認定の要件を満たします。
audit_binfile プラグインは、レコードをスヌーピングから保護されたファイルシステムに書き込みます。単一のシステム上で、すべてのバイナリレコードが収集され、順番に表示されます。バイナリログ上の UTC タイムスタンプにより、1 つの監査トレール上のシステムがタイムゾーンをまたがって分散している場合の正確な比較が可能になります。praudit -x コマンドを使用すると、レコードを XML 形式でブラウザに表示できます。スクリプトを使用して、XML を解析することもできます。
audit_remote プラグインは、レコードをリモートリポジトリに書き込みます。このリポジトリは、ストレージと事後選択を処理します。
これに対して、syslog レコードでは、利便性と柔軟性が向上する可能性があります。たとえば、さまざまなソースから syslog データを収集できます。また、syslog.conf ファイル内の audit.notice イベントをモニターする場合、syslog ユーティリティーは現在のタイムスタンプで監査レコードのサマリーをログに記録します。ワークステーション、サーバー、ファイアウォール、ルーターなどのさまざまなソースからの syslog メッセージ用に開発された管理および分析ツールと同じツールを使用できます。レコードをリアルタイムで表示し、リモートシステム上に格納することができます。
syslog.conf を使用して監査レコードをリモートに格納すると、攻撃者による改変や削除からログデータが保護されます。ただし、syslog モードには、次のような欠点があることを考慮してください。
レコードがネットワーク攻撃 (サービス拒否や、なりすましソースアドレスなど) を受けやすくなります。
UDP プロトコルは、パケットを破棄したり、間違った順番でパケットを配信したりすることがあります。
syslog エントリを 1024 文字に制限すると、ログ内の一部の監査レコードが切り捨てられる可能性があります。
単一のシステム上で一部の監査レコードが収集されず、順番に表示されない可能性があります。
各監査レコードには、ローカルシステムの日付と時間がスタンプされます。したがって、複数システムの監査トレールを構築する際に、タイムスタンプを信頼できません。