CloudTrail ログファイルの整合性の検証とは
- CloudTrail のログファイルの改竄有無を確認できる
- CloudTrail が作成するダイジェストファイル(ログファイルのハッシュを含むファイル)とログファイルを使って検証する
詳細はこちら
なぜログファイルの整合性を検証するのか
- セキュリティおよびフォレンシック調査で重要
- CloudTrail のログファイルが改竄有無を確認できる
詳細はこちら
この記事で試したこと
AWS CloudTrail のログファイルが改竄有無を AWS CLI を使って検証しました。
改竄無し、改竄有り(変更、削除)、の結果もそれぞれ記載しています。
前提
- CloudTrail が有効になっていること
- AWS CLI が使えること
検証準備
- CloudtTrail のログファイルの整合性検証を有効にする (デフォルトは有効)
- CloudTrail に紐付く S3 Bucket にダイジェストファイルがあることを確認する (ダイジェストファイルは整合性検証を有効化後、約1時間で作成される)
検証方法
こちらのコマンドで検証します
「--start-time」と「--trail-arn」オプションは必須です
aws cloudtrail validate-logs --start-time <開始時間> --end-time <終了時間> --trail-arn <CloudTrailのARN> --verbose
コマンドの詳細はこちら
検証結果(改竄されていない場合)
エラーなく終了
$ aws cloudtrail validate-logs --start-time 20211120T07:00:00Z --end-time 20211120T08:00:00Z --trail-arn arn:aws:cloudtrail:us-east-1:123456789012:trail/management-events
Validating log files for trail arn:aws:cloudtrail:us-east-1:123456789012:trail/management-events between 2021-11-20T07:00:00Z and 2021-11-20T08:00:00Z
Results requested for 2021-11-20T07:00:00Z to 2021-11-20T08:00:00Z
Results found for 2021-11-20T07:28:41Z to 2021-11-20T08:00:00Z:
2/2 digest files valid
23/23 log files valid
検証結果(改竄されている場合)
ログファイルが変更されている場合、Log fileの右側に「INVALID: hash value doesn't match」が出力される
$ aws cloudtrail validate-logs --start-time 20211120T07:00:00Z --end-time 20211120T08:00:00Z --trail-arn arn:aws:cloudtrail:us-east-1:123456789012:trail/management-events
Validating log files for trail arn:aws:cloudtrail:us-east-1:123456789012:trail/management-events between 2021-11-20T07:00:00Z and 2021-11-20T08:00:00Z
Log file s3://aws-cloudtrail-logs-123456789012-d916811f/AWSLogs/123456789012/CloudTrail/us-east-1/2021/11/20/123456789012_CloudTrail_us-east-1_20211120T0755Z_mlU5fRkEPtpb6a8X.json.gz INVALID: hash value doesn't match
Results requested for 2021-11-20T07:00:00Z to 2021-11-20T08:00:00Z
Results found for 2021-11-20T07:28:41Z to 2021-11-20T08:00:00Z:
2/2 digest files valid
22/23 log files valid, 1/23 log files INVALID
ログファイルが削除されている場合、Log fileの右側に「INVALID: not found」が出力される
$ aws cloudtrail validate-logs --start-time 20211120T07:00:00Z --end-time 20211120T08:00:00Z --trail-arn arn:aws:cloudtrail:us-east-1:123456789012:trail/management-events
Validating log files for trail arn:aws:cloudtrail:us-east-1:123456789012:trail/management-events between 2021-11-20T07:00:00Z and 2021-11-20T08:00:00Z
Log file s3://aws-cloudtrail-logs-123456789012-d916811f/AWSLogs/123456789012/CloudTrail/us-east-1/2021/11/20/123456789012_CloudTrail_us-east-1_20211120T0755Z_mlU5fRkEPtpb6a8X.json.gz INVALID: not found
Results requested for 2021-11-20T07:00:00Z to 2021-11-20T08:00:00Z
Results found for 2021-11-20T07:28:41Z to 2021-11-20T08:00:00Z:
2/2 digest files valid
22/23 log files valid, 1/23 log files INVALID
参考