単一アカウントのtrailが対象Regionの監査ログをS3へ配信している。これからの監査期間について、配信後にログが変更・削除されていないか検証したい。log file validationはまだ無効である。
検証担当者にはAWS接続と必要なS3読み取り権限があり、ログとダイジェストは元の配信先に保持する。trail ARN・Region・監査期間のUTC時刻を特定でき、検証結果を記録する。
目的を満たす設定と検証の手順はどれか。
ダイジェスト配信を有効化して保持し、元のS3配信先で対象trail・Region・UTC期間の実検証を行う。
詳細解説
Versioningはオブジェクトの版を保持する機能であり、CloudTrailの署名・ハッシュ・ダイジェスト連鎖の検証ではない。保存保護と完全性の実検証を分ける。
有効化によるダイジェスト配信と、署名やハッシュの検証は別である。設定が有効という情報だけでは、対象期間の実検証結果にならない。
組み込みCLIはCloudTrailが元々配信したS3位置のファイルを検証する。ローカルへ移したコピーだけを対象にはできず、移動後の検証にはカスタム実装を検討する。
有効化は検証用ダイジェストを配信する設定であり、実際の検証は別に実行する。署名・ログのハッシュ・連鎖を確認し、結果と検証できない期間も記録する。
公式資料で確認する
以下の項目を公式資料の記述と照合して確認します。
公式資料で有効化とダイジェスト配信を確認する。承認された検証trailでvalidate-logsの--trail-arn、--region、--start-time、--end-timeと--verboseを確認し、署名・ハッシュ・連鎖の検証結果と対象期間を記録する。
参考にした公式資料
確認できる内容
対象期間のダイジェストと参照されたログの検証結果が確認できる。無効期間、欠落、検証不能期間を区別し、有効化だけで検証完了・全イベント収集済みとは判断しない。
理解のポイント
- log file validation
- ダイジェスト
- validate-logs
確認時の注意
- 確認環境: AWS公式SOA-C03試験ガイドとAWS公式ドキュメントの確認
- AWS公式SOA-C03試験ガイドと各サービスの公式ドキュメントを確認する。
基礎のおさらい
有効化と検証実行を区別する
有効化するとCloudTrailは検証用ダイジェストを配信し始めるが、設定だけで完全性を検証するわけではない。ダイジェストには参照ログのハッシュがあり、署名と前ダイジェストへの連鎖を検証する。ログ保存やVersioningも実検証の代わりにはならない。
元の配信場所と対象期間を確認する
AWS CLI validate-logsにはtrail ARN、対象Region、UTCの開始・終了時刻を指定し、必要に応じて--verboseで結果を確認する。AWSへの接続、元のS3位置のログとダイジェストの読み取りが必要である。ローカルや別の場所へ移したコピーだけを組み込みCLIで検証する前提にしない。
検証範囲と検証不能を記録する
CLIはダイジェストが参照するログだけを検証する。validation無効期間のログには後からダイジェストが自動生成されず、連鎖の欠落や不正な署名で検証不能になる期間もある。get-trail-statusのLatestDigestDeliveryErrorで配信問題も調べる。完全性検証の成功と、全イベントの収集や監査期間全体のカバーを同一視しない。