AWS CloudTrail User Guide (Version 1.0)を読んで理解を深める

  • 4
    いいね
  • 0
    コメント

0. はじめに

0.1 CloudTrail設定したこと

AWS CloudTrail User Guide (Version 1.0)

1. What is AWS CloudTrail?

  • AWS CloudTrail は、AWS CloudTrail を有効(ログ記録 ON)にしたAWSアカウントに対して次のものを使用してAPI呼び出しを行った記録(証跡情報)をAmazon S3バケットに記録するサービス。
    • AWS マネジメントコンソール
    • AWS SDK
    • コマンドラインツール(AWS CLI)
    • 高レベルの AWS サービス(AWS CloudFormation など)

  • 記録される情報には、API 呼び出し元の ID、API 呼び出し元のソース IP アドレス、リクエストのパラメータ、および AWS サービスから返された応答の要素が含まれます。

  • 参考

1.1 How AWS CloudTrail Works

AWS CloudTrailのしくみ

(1) CloudWatch Logs との統合

(2) 証跡情報を適用するリージョン

  • You can create two types of trails:
    
    A trail that applies to all regions
    A trail that applies to one region
    
  • AWS では、すべてのリージョンに適用することを推奨している
    • As a best practice, create a trail that applies to all regions in the AWS partition in which you are working.
    • ちなみに、AWSマネジメントコンソールのサインイン認証ページのリージョンは、URLに「us-east-1.signin.aws.amazon.com」とある通り、必ずバージニア北部となる。コンソールログイン監視を行いたい場合は、すべてのリージョンに適用させる必要がある。
  • 証跡情報をすべてのリージョンに適用する
    • AWS アカウント内の全リージョンで実行された API アクティビティのレコードが、1 つの S3 バケットまたは CloudWatch Logs のロググループに届きます。
    • S3バケットでは各リージョン名のバケットの中にログファイルが記録され、CloudWatch Logsでは、一つのロググループに全リージョンのログファイルが記録される。
    • AWS に新しいリージョンが作成された場合、新しいリージョンの API アクティビティを含むログファイルが届きます。お客様の側のアクションは不要です。
    • 証跡情報をすべてのリージョンに適用すると、CloudTrail によって証跡情報設定がレプリケーションされ、すべてのリージョンに新しい証跡情報が作成されます。 CloudTrail はそれぞれのリージョンでログファイルの記録と処理を行い、すべての AWS リージョンでの API アクティビティを含むログファイルを単一の S3 バケットおよび単一の CloudWatch Logs ロググループに配信します。 オプションの SNS トピックを指定した場合、単一の SNS トピックに配信されたすべてのログファイルの SNS 通知が CloudTrail によって配信されます。
    • 既存の証跡情報をすべてのリージョンに適用できます。既存の証跡情報をすべてのリージョンに適用した場合、CloudTrail によりすべてのリージョンで新しい証跡情報が作成されます。
    • 通常、証跡情報設定をすべてのリージョンにレプリケーションするためにかかる時間は 30 秒未満です。
  • 参考

(3) 証跡情報の保護

(4) イベントのペイロード、タイムライン、送信頻度

1.2 CloudTrail Workflow

CloudTrailを使用するための手順

1.3 CloudTrail Concepts

CloudTrailに関連する基本的な概念

(1) What Are Trails?

(2) How Do You Manage CloudTrail?
CloudTrailの管理方法

  • CloudTrail Console
  • CloudTrail CLI
  • CloudTrail APIs
  • AWS SDKs

(3) How Do You Control Access to CloudTrail?
CloudTrail 管理のためのアクセス制御方法

  • IAMを使用して、AWS CloudTrailにアクセスする必要があるすべてのユーザーのための個別のユーザーを作成します。あなた自身のためにIAMユーザーを作成し、そのIAMユーザーに管理権限を与え、すべての作業にそのIAMユーザーを使用します。
  • 詳細については、CloudTrailのユーザー権限の制御を参照してください。

(4) How Do You Use Event Selectors?
イベントセレクターの使い方

  • イベント(API呼び出し)が発生すると、CloudTrailはすべての証跡情報に対してイベントセレクターを評価する。
  • イベントセレクターでは、記録したいイベントのタイプを設定する。発生したイベント(API呼び出し)の内容と、イベントセレクターで設定したタイプが一致する場合は、記録する。一致しない場合は、記録しない。
  • 詳細については、イベントセレクターの設定を参照してください。
  • 実際のイベントセレクターの設定

(5) How Do You Perform Monitoring with CloudTrail?
CloudTrailを使った監視方法

  • Amazon CloudWatchは、AWS上で実行するAmazon Web Services リソースおよびアプリケーションをリアルタイムで監視するメトリックを収集および追跡するWebサービスです。Amazon CloudWatch LogsはCloudWatchの機能で、特にログデータの監視に使用できます。
  • CloudWatchログとの統合により、CloudTrailはAWSアカウントのAPIアクティビティを含むイベントをCloudWatchログロググループに送信できます。 CloudWatchログに送信されるCloudTrailイベントは、定義したメトリックフィルタに従ってアラームをトリガできます。
  • 詳細については、Amazon CloudWatchログでCloudTrailログファイルを監視するを参照してください。
  • 実際の設定例

(6) How Does CloudTrail Behave Regionally and Globally?
CloudTrailは、リージョンやグローバルどのように動作するか

  • What are the advantages of applying a trail to all regions?
    証跡情報を全てのリージョンに適用する利点

    • The configuration settings for the trail apply consistently across all regions.
      CloudTrail設定は、すべてのリージョンで一貫して適用されます。
    • You receive log files from all regions in a single S3 bucket and optionally in a * CloudWatch Logs log group.
      1つのS3バケット内のすべてのリージョンから、必要に応じてCloudWatch Logs のログ・グループにログファイルを送ることができる。
    • You manage trail configuration for all regions from one location.
      1つの場所(例えば、東京リージョン)からすべての地域のCloudTrail設定を管理します。
    • You immediately receive events from a new region. When a new region launches, CloudTrail automatically creates a trail for you in the new region with the same settings as your original trail.
      新しいリージョンがローンチすると、自動的にその新しいリージョンのCloudTrail設定がなされる。
    • You can create trails in regions that you don't use often to monitor for unusual activity.

  • What happens when you apply a trail to all regions?
    証跡情報を全てのリージョンに適用するとどうなるか

    • CloudTrail delivers log files for API activity from all regions to the single Amazon S3 bucket that you specify, and optionally to a CloudWatch Logs log group.
      CloudTrailは、APIアクティビティのログファイルをすべてのリージョンから、指定した単一のAmazon S3バケットに、場合によってはCloudWatchログのロググループに配信します。
    • If you configured an Amazon SNS topic for the trail, SNS notifications about log file deliveries in all regions are sent to that single SNS topic.
      CloudWatch アラームのアクションでSNSトピックを設定した場合は、すべてのリージョンのログファイル配信に関するSNS通知がその単一のSNSトピックに送信されます。
    • Global service events will be delivered from a single region to your specified S3 bucket and to your CloudWatch Logs log group if you configured one for the trail. For information about global service events, see About global service events.
      グローバルサービスイベントは、1つのリージョンから指定したS3バケット、およびCloudWatch Logsのロググループに配信されます。
    • If you enabled log file integrity validation, log file integrity validation is enabled in all regions for the trail. For information about log file integrity validation, see Validating CloudTrail Log File Integrity.
      ログファイルの整合性検証を有効にした場合、ログファイルの整合性検証はすべての領域で有効になります。

  • Multiple trails per region - 複数の証跡情報

    • 1 つの AWS リージョンにつき最大 5 つの証跡情報を作成できます。すべてのリージョンに適用される証跡情報は各リージョンに存在し、それぞれのリージョンで 1 つの証跡情報として数えられます。ただし、2つ以上証跡情報を作成する場合は、費用が発生する。
    • 複数の証跡情報を使用することで、セキュリティ管理者、ソフトウェア開発者、および IT 監査人といったさまざまな利害関係者が独自の証跡情報を作成し、管理することができます。例えば、セキュリティ管理者は、すべてのリージョンに適用される証跡情報を作成し、1 つの KMS キーを使用した暗号化を設定できます。開発者はオペレーションの問題のトラブルシューティング用に、1 つのリージョンに適用される証跡情報を作成できます。
    • リソースレベルのアクセス権限を使用してきめ細かなアクセスコントロールポリシーを作成すれば、特定のユーザーに対して、特定の証跡情報へのアクセスを許可または拒否することができます。
    • 参考
      よくある質問 - 複数の証跡情報

  • AWS Security Token Service (AWS STS) and CloudTrail

(7) About global service events
グローバル・サービスイベントについて

  • For global services such as IAM, AWS STS, and Amazon CloudFront, events are delivered to any trail that has the Include global services option enabled.
    IAM、AWS STS、Amazon CloudFrontなどのグローバルサービスでは、[グローバルサービスを含める]オプションが有効になっているすべてのトレイルにイベントが配信されます。
  • AWS OpsWorks and Amazon Route 53 actions are logged in the US East (N. Virginia) Region.
    AWS OpsWorksおよびAmazon Route 53のアクションは、米国東部(N. Virginia: us-east-1)リージョンに記録されています。
  • AWSマネジメントコンソールのサインイン認証ページへのログインログも、米国東部(N. Virginia: us-east-1)リージョンに記録される。

(8) How Does CloudTrail Relate to Other AWS Monitoring Services?

(9) Partner Solutions

1.4 CloudTrail Supported Services

1.5 CloudTrail Supported Regions

1.6 CloudTrail Log File Examples

(1) CloudTrail Log File Name Format
(2) Log File Examples

  • Amazon EC2 Log Examples
  • IAM Log Examples
  • Error Code and Message Log Example

2. Getting Started with CloudTrail

2.1 Creating and Updating Your Trail

2.1.1 Creating and Updating a Trail with the CloudTrail Console

AWSマネジメントコンソールからCloudTrailを設定する

2.1.1.1 Creating a Trail for the First Time

初めて CloudTrail を使うための設定

  • CloudTrailサービスはデフォルトでは無効になっている。AWSアカウント作成後に、次の手順でサービスを開始させる。

  • AWSマネジメントコンソール手順

1) 管理者権限ポリシーが付加されたIAMユーザ でAWSマネジメントコンソールへサインインして、CloudTrailサービスへ遷移する。(参考:IAM 管理者のユーザーおよびグループの作成)

https://console.aws.amazon.com/cloudtrail/

2) 今すぐ始める

3) リージョンを東京とする

Choose the region where you want the trail to be based.

4) CloudTrail の有効化

証跡名: trail-test

命名規則

証跡情報を全てのリージョンに適用: はい

・ AWSの推奨設定は「はい」

新しい S3 バケットを作成しますか: はい

・ いいえを選択した場合は、既存のS3バケットを指定する。そのS3バケットは、CloudTrail用のバケットポリシーを設定する必要がある。

S3 バケット: toru-nishimura-trail-test

・ 新しく作成するS3のバケット名を入力する。
・ グローバルに一意の名前にする必要がある(全世界のAWS S3利用者がすでに名付けたバケット名は使用できない)。
命名規則

詳細

ログファイルのプレフィックス

・ 今回は無記入

ログファイルの検証を有効化しますか。: はい

ログファイル配信のたびに SNS 通知を受け取りますか: いいえ

有効化

4) 確認

・CloudTrail マネジメントコンソール
 https://console.aws.amazon.com/cloudtrail/

20161212-01.png

・trail-test 設定画面
20161212-02.png

▼S3 設定項目の「ログファイルを暗号化しますか。」設定に関して
・この設定は、trail作成時の画面にはなかった。trail作成後に変更できる設定だと思われる。
・デフォルトでは「いいえ」となっていて、暗号化されていない感じだけど、きっと、S3 Server Side Encryption(SSE) はされているはず。
・ここで言う暗号化とは、KMS を使用して暗号化するかどうか、ということだと思われる。

・S3バケット

・ S3にCloudTrail用バケットが作成されていることを確認する。
20161212-03.png

・証跡情報を全てのリージョンに適用にしたため、現在存在するすべてのリージョン名のバケットが作成される。
作成されていない場合は、遅くても20分は待ってから確認してみる。
・バケット作成以降に新しいリージョンがローンチした場合は、自動的にそのリージョン名のバケットが作成されるはず。

・ 東京リージョンバケットの中の CloudTrail Log を確認。
20161212-04.png

・CloudTrail を有効化した直後から、証跡情報はS3バケットへ転送される。ただし、S3バケットへ転送されるタイミングは、遅くても20分
Finding Your CloudTrail Log Files
Reading Your CloudTrail Log Files

・ trail作成時に「ログファイルの検証を有効化しますか。: はい」とした場合は、1時間後くらいにDigest バケットが作成される。
20161215-01.png

5) S3 CloudTrailログ用バケットのライフサイクル設定
デフォルトでは、ログファイルは永続的に保存される
今回は、30日経過したものはS3バケットから完全に削除する設定を行う

S3 マネジメントコンソール
 https://console.aws.amazon.com/s3/

CloudTrail用バケットの虫眼鏡アイコンをクリック ⇒ ライフサイクル
20161215-02.png

ルールを追加する

次のルールを適用: バケット全体: toru-nishimura-trail-test
完全に削除: 30
ルール名: cloudtrail-logs-delete

作成完了
20161215-03.png

2.1.1.2 Adding a Trail

証跡情報設定を追加する

2.1.1.3 Updating a Trail

CloudTrail設定を作成した後で設定可能になるもの

2.1.1.4 Deleting a Trail

証跡情報の削除

2.1.1.5 Turning off Logging for a Trail

証跡情報のログ記録を無効化

2.1.2 Creating and Updating a Trail with the AWS Command Line Interface

2.1.3 CloudTrail Trail Naming Requirements

2.1.4 Amazon S3 Bucket Naming Requirements

2.1.5 Amazon S3 Bucket Policy for CloudTrail

2.1.6 AWS KMS Alias Naming Requirements

2.2 Viewing Events with CloudTrail API Activity History

API アクティビティ履歴

  • トラブルシュートや、セキュリティインシデント等の調査・確認・監査用として、直近7日間の証跡情報(API アクティビティ履歴)をS3からではなくCloudTrail console, AWS CLI, or AWS SDKs から閲覧することができる。

2.2.1 Viewing CloudTrail Events in the CloudTrail Console

証跡情報をマネジメントコンソールのCloudTrail の API アクティビティ履歴から確認する

https://console.aws.amazon.com/cloudtrail/home/
⇒ API アクティビティ履歴

  • フィルターで属性(ユーザー名,イベント名,リソースタイプ,リソース名,イベントID)を、時間範囲で開始時間と終了時間を指定して、目的の情報を絞る事が可能。
  • イベントリストの各行の左の▶をドリルダウンすることで詳細情報を確認することができる。
  • AWS Config を有効にすれば、そのイベントに関係する AWS Config 情報も確認できる。

2.2.2 Viewing CloudTrail Events with the AWS CLI

2.2.3 Regions Supported by CloudTrail API Activity History

2.2.4 Services Supported by CloudTrail API Activity History

2.2.5 Resource Types Supported by CloudTrail API Activity History

2.3 Controlling User Permissions for CloudTrail

2.4 Getting and Viewing Your CloudTrail Log Files

2.4.1 Finding Your CloudTrail Log Files

2.4.2 Reading Your CloudTrail Log Files

2.5 Configuring Amazon SNS Notifications for CloudTrail

3. Working with CloudTrail Log Files

3.1 Create Multiple Trails

  • 利用例
    • A security administrator creates a trail in the EU (Ireland) Region and configures KMS log file encryption. The log files are delivered to a separate S3 bucket.
    • A developer creates a trail in the EU (Frankfurt) Region and configures CloudWatch alarms to receive notifications for specific API activity.
    • An IT auditor creates a trail in the EU (Ireland) Region and configures log file integrity validation to ensure the log files have not changed since CloudTrail delivered them.
    • Another developer creates a trail in the EU (Frankfurt) Region and configures SNS. The log files are delivered to a separate S3 bucket. eu-shared-01.png

3.2 Configuring Event Selectors for Trails

イベントセレクター設定

  • 1つの証跡情報設定の中で、記録したいイベントのタイプをイベントセレクターで選択する(最大5つ)。

  • イベント(API呼び出し)のタイプ

    • データイベント
      ・ Amazon S3オブジェクトレベルのAPI操作のログ(GetObject、DeleteObject、PutObjectなど)のこと。
      ・ デフォルト設定では、データイベントを記録していない。
      ・ データイベントをログするには、イベントセレクターの S3 リソースを指定します。
      ・ 使用する場合は、追加料金が適用されます

    • 管理イベント
      ・ データイベント以外のすべてのイベントのこと。
      ・ デフォルト設定では、管理イベントの読み込み/書き込みイベントを記録している。

    • 読み込みイベント
      ・ リソースに何の変更を加えないイベントのこと。

    • 書き込みイベント
      ・ リソースに何かしらの変更を加えるイベントのこと。

  • イベントセレクターのデフォルト設定

    20161214-01.png

3.3 Receiving CloudTrail Log Files from Multiple Regions

3.4 Monitoring CloudTrail Log Files with Amazon CloudWatch Logs

Amazon CloudWatchログを使用して、CloudTrailログの監視を行う

3.4.1 Sending CloudTrail Events to CloudWatch Logs

CloudTrailログをCloudWatch Logsへ送信する設定

  • AWSマネジメントコンソール手順

1) 管理者権限ポリシーが付加されたIAMユーザ でAWSマネジメントコンソールへサインインして、CloudTrailサービスへ遷移する。(参考:IAM 管理者のユーザーおよびグループの作成)

 https://console.aws.amazon.com/cloudtrail/

2) 設定する 詳細情報名 を選択する

3) [CloudWatch Logs] → 設定
20161214-02.png

4) 新規または既存のロググループ名を入力する → 次へ
20161214-03.png

AWS推奨のロググループ名

5) IAMロールの指定 → 許可
20161214-04.png
今回は、デフォルトの設定通りに

IAMロール: 新しいIAMロールの作成
ロール名: CloudTrail_CloudWatchLogs_Role

20161214-05.png

6) 確認

 https://console.aws.amazon.com/cloudwatch/
 ⇒左のナビゲーションペインからログを選択

作成したロググループ「CloudTrail/test-logs」を選択

7) CloudTrail の CloudWatch Logs データ保持期間を変更する場合
 ※CloudTrail ログの長期保管はS3で行う。
 ※CloudTrail ログを CloudWatch Logs へ送信する目的は次のようなことから
  それほど長期間保持しておく必要は無いと思われる。
  ・短期のトラブルシュートや、セキュリティインシデント等の調査・確認・監査用
  ・CloudWatch アラーム用
  ・CloudWatch ES へログを送る用

メトリクスの保存期間について
変更方法

3.4.2 Using an AWS CloudFormation Template to Create CloudWatch Alarms

3.4.3 Creating CloudWatch Alarms for CloudTrail Events: Examples

CloudTrailログのCloudWatchアラート設定例

3.4.4 Creating CloudWatch Alarms for CloudTrail Events: Additional Examples

  • AWSにアクセスするためにルートアカウントの資格情報が使用されたとき、または MFAのないAPIアクティビティやコンソールサインインが発生したとき に通知するCloudWatchアラームを作成することにより、AWSアカウントのアクティビティがこれらのベストプラクティスに準拠しているかどうかを監視できます。

  • アラート設定例

    1. Monitor for Root Usage
      ルートアカウント認証情報を使用してAWSマネジメントコンソールにサインインしたときに通知する

    2. Monitor for API Activity Without Multi-factor Authentication (MFA)
      MFAのないAPIアクティビティが発生したとき に通知する

    3. Monitor for Console Sign In Without Multi-factor Authentication (MFA)
      MFAを使用していないコンソールサインインが発生したときに通知する

(1) Monitor for Root Usage 設定手順
(ルートアカウント認証情報を使用してAWSマネジメントコンソールにサインインしたときに通知する)

[注意]
証跡情報を全てのリージョンに適用していること。

1) 管理者権限ポリシーが付加されたIAMユーザ(MFAあり) でAWSマネジメントコンソールへサインインして、CloudWatchサービスへ遷移する。(参考:IAM 管理者のユーザーおよびグループの作成)

  https://console.aws.amazon.com/cloudwatch/

2) 左のナビゲーションペインからログを選択

3) 3.4.1 で作成した CloudTrail用のロググループ名を選択

4) メトリクスフィルタの作成をクリック
20161214-07.png

5) ログメトリクスフィルタの定義

・ フィルタパターン:


{ $.userIdentity.type = "Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType != "AwsServiceEvent" }

メトリクスの割り当て

6) メトリクスフィルタの作成とメトリクスの割り当て

・ メトリクス名前空間: LogMetrics (デフォルト)
・ メトリクス名: RootAccountUsageCount
フィルタの作成
20161214-08.png

7) アラームの作成

名前: RootAccountUsage
次の時: RootAccountUsageCount が: >= 1 を: 1 回連続した場合
間隔: 5分間
統計: Standard, 合計
アクション(SNS)設定、メール送信設定などは適当に

20161214-11.png

[注意]ルートアカウントでマネジメントコンソールにサインインして何かしらの操作をしていた場合は、右のグラフにUsage数がプロットされている。

8) アラーム設定完了

20161214-12.png

9) 監視開始状態

・監視状態が「データ不足」となっているが、この監視設定ではこの状態で監視を行っている。

20161214-13.png

10) 動作確認

・マネジメントコンソールをサインアウトして、ルートアカウント認証情報でマネジメントコンソールのサインインに成功させる。そのまま遅くても20分くらい待ち、アラートが通知されることを確認する。

・状態
20161214-14.png

(2) Monitor for Console Sign In Without MFA 設定手順
(MFAを使用していないコンソールサインインが発生したときに通知する)

[注意]
証跡情報を全てのリージョンに適用していること。

1) 管理者権限ポリシーが付加されたIAMユーザ(MFAあり) でAWSマネジメントコンソールへサインインして、CloudWatchサービスへ遷移する。(参考:IAM 管理者のユーザーおよびグループの作成)

 https://console.aws.amazon.com/cloudwatch/

2) 左のナビゲーションペインからログを選択

3) 4.2.2.1 で作成した CloudTrail用のロググループ名を選択

4) メトリクスフィルタの作成をクリック

5) ログメトリクスフィルタの定義

・ フィルタパターン:


{ $.eventName = "ConsoleLogin" && $.additionalEventData.MFAUsed = "No" }

メトリクスの割り当て

6) メトリクスフィルタの作成とメトリクスの割り当て

・ メトリクス名前空間: LogMetrics (デフォルト)
・ メトリクス名: ConsoleSignInWithoutMfaCount
フィルタの作成
20161214-15.png

7) アラームの作成

名前: ConsoleSignInWithoutMfa
次の時: ConsoleSignInWithoutMfaCount が: >= 1 を: 1 回連続した場合
間隔: 5分間
統計: Standard, 合計
アクション(SNS)設定、メール送信設定などは適当に

20161214-16.png

8) アラーム設定完了

9) 監視開始状態

・監視状態が「データ不足」となっているが、この監視設定ではこの状態で監視を行っている。

20161214-17.png

10) 動作確認

・マネジメントコンソールをサインアウトして、MFAなしのIMAユーザーでマネジメントコンソールのサインインに成功させる。そのまま遅くても20分くらい待ち、アラートが通知されることを確認する。

・ちなみに、サインイン認証ページのリージョンは、URLに「us-east-1.signin.aws.amazon.com」とある通り、必ずバージニア北部となる。サインイン時のコンソールログインのログは、バージニア北部リージョンの CloudTrail の API アクティビティ履歴 に表示される。

・状態
20161214-18.png

3.4.5 Configuring Notifications for CloudWatch Logs Alarms

3.4.6 Stopping CloudTrail from Sending Events to CloudWatch Logs

3.4.7 CloudWatch Log Group and Log Stream Naming for CloudTrail

3.4.8 Role Policy Document for CloudTrail to Use CloudWatch Logs for Monitoring

3.5 Receiving CloudTrail Log Files from Multiple Accounts

3.6 Sharing CloudTrail Log Files Between AWS Accounts

3.7 Encrypting CloudTrail Log Files with AWS KMS–Managed Keys (SSE-KMS)

3.8 Validating CloudTrail Log File Integrity

CloudTrailログの整合性検証

  • CloudTrailが配信した後にログファイルが変更、削除、または変更されなかったかどうかを判断するには、CloudTrailログファイルの整合性検証を使用できます。この機能は業界標準のアルゴリズムを使用して構築されています。ハッシングにはSHA-256、デジタル署名にはRSAを使用するSHA-256があります。これにより、CloudTrailログファイルを検出せずに変更、削除または偽造することは計算上不可能です。 AWS CLIを使用して、CloudTrailが配信した場所のファイルを検証することができます。

  • ログファイルの整合性検証を有効にすると、CloudTrailは、配信するすべてのログファイルに対してハッシュを作成します。 1時間ごとに、CloudTrailは過去1時間のログファイルを参照し、それぞれのハッシュを含むファイルを作成して配信します。このファイルはダイジェストファイルと呼ばれます。 CloudTrailは、公開鍵と秘密鍵のペアの秘密鍵を使用して各ダイジェストファイルに署名します。配信後、公開鍵を使用してダイジェストファイルを検証できます。 CloudTrailは、各AWSリージョンごとに異なるキーペアを使用します。

  • ダイジェストファイルは、CloudTrailログファイルと同じように、あなたのトレイルに関連付けられている同じAmazon S3バケットに配信されます。ログファイルがすべての地域から、または複数のアカウントから単一のAmazon S3バケットに配信される場合、CloudTrailはそれらの地域とアカウントのダイジェストファイルを同じバケットに配信します。

  • ダイジェストファイルは、ログファイルとは別のフォルダに格納されます。このようにダイジェストファイルとログファイルを分離することで、きめ細かなセキュリティポリシーを適用し、既存のログ処理ソリューションを変更せずに引き続き使用できます。各ダイジェストファイルには、前のダイジェストファイルのデジタル署名も含まれています(存在する場合)。現在のダイジェストファイルのシグネチャは、ダイジェストファイルAmazon S3オブジェクトのメタデータプロパティにあります。ダイジェストファイルの内容の詳細については、「CloudTrailダイジェストファイルの構造」を参照してください。

  • CloudTrailのログファイルとダイジェストファイルは、Amazon S3またはAmazon Glacierに無期限に、永続的かつ安価に安全に保管することができます。 Amazon S3に格納されているダイジェストファイルのセキュリティを強化するために、Amazon S3 MFA Deleteを使用できます。

3.8.1 Enabling Log File Integrity Validation for CloudTrail

  • デフォルト設定で有効になっている。
    
    4) 確認
    ログファイルの検証を有効化: はい
    

3.8.2 Validating CloudTrail Log File Integrity with the AWS CLI

  • AWSコマンドラインインターフェイスでログを検証するには、CloudTrail validate-logsコマンドを使用します。このコマンドは、Amazon S3バケットに配信されたダイジェストファイルを使用して検証を実行します。

3.8.3 CloudTrail Digest File Structure

3.8.4 Custom Implementations of CloudTrail Log File Integrity Validation

3.9 Using the CloudTrail Processing Library