AWS CloudTrail コントロール - AWS Security Hub

AWS CloudTrail コントロール

これらのコントロールは CloudTrail リソースに関連しています。

これらのコントロールは、すべての AWS リージョン で使用できるとは限りません。詳細については、「リージョン別のコントロールの可用性」を参照してください。

[CloudTrail.1] CloudTrail を有効にして、少なくとも 1 つのマルチリージョンの追跡で、読み取りと書き込みの管理イベントを含めた設定をする必要があります。

関連する要件: CIS AWS Foundations Benchmark v1.2.0/2.1、CIS AWS Foundations Benchmark v1.4.0/3.1、NIST.800-53.r5 AC-2(4)、NIST.800-53.r5 AC-4(26)、NIST.800-53.r5 AC-6(9)、NIST.800-53.r5 AU-10、NIST.800-53.r5 AU-12、NIST.800-53.r5 AU-2、NIST.800-53.r5 AU-3、NIST.800-53.r5 AU-6(3)、NIST.800-53.r5 AU-6(4)、NIST.800-53.r5 AU-14(1)、NIST.800-53.r5 CA-7、NIST.800-53.r5 SC-7(9)、NIST.800-53.r5 SI-3(8)、NIST.800-53.r5 SI-4(20)、NIST.800-53.r5 SI-7(8)、NIST.800-53.r5 SA-8(22)

カテゴリ: 識別 > ログ記録

重要度:

リソースタイプ : AWS::::Account

AWS Config ルール : multi-region-cloudtrail-enabled

スケジュールタイプ: 定期的

パラメータ:

  • readWriteType: ALL

このコントロールは、マルチリージョンの CloudTrail 追跡が少なくとも 1 つあることをチェックします。また、ExcludeManagementEventSources パラメータは少なくとも 1 つの軌跡に対して空です。

AWS CloudTrail はユーザーアカウントの AWS API コールを記録し、ログファイルをユーザーに送信します。記録された情報には、以下の情報が含まれます。

  • API 発信者の ID

  • API コールの時刻

  • API 発信者の送信元 IP アドレス

  • パラメータのリクエスト

  • AWS のサービス によって返されるレスポンス要素

CloudTrail は、AWS Management Console、AWS SDK、コマンドラインツールから実行された API コールを含むアカウントに対して AWS API コールの履歴を提供します。履歴には、AWS CloudFormation などの AWS のサービス サービスの上位レベルからの API コールも含まれます。

CloudTrail で生成される AWS API コールの履歴を利用して、セキュリティ分析、リソース変更の追跡、およびコンプライアンスの監査を行うことができます。マルチリージョン追跡には、次の利点もあります。

  • マルチリージョン追跡により、使用していないリージョンで発生する予期しないアクティビティを検出できます。

  • マルチリージョン追跡では、グローバルサービスイベントのログ記録がデフォルトで追跡に対して確実に有効になっています。グローバルサービスイベントのログ記録では、AWS グローバルサービスによって生成されたイベントが記録されます。

  • マルチリージョン追跡では、すべての読み取りオペレーションと書き込みオペレーションの管理イベントによって、CloudTrail がすべての AWS アカウント アカウントのリソースに対する管理オペレーションを確実に記録します。

デフォルトでは、AWS Management Console を使用して作成される CloudTrail 追跡はマルチリージョン追跡です。

修正

CloudTrail で新しいマルチリージョンの追跡を作成するには、「AWS CloudTrail ユーザーガイド」の「証跡の作成」を参照してください。以下の値を使用します。

フィールド

追加設定、ログファイル検証

有効

ログイベント、管理イベント、API アクティビティを選択

[読み取り] と [書き込み] 除外にするチェックボックスはオフにしてください。

既存の追跡を更新するには、「AWS CloudTrail ユーザーガイド」の「証跡の更新」を参照してください。[管理イベント][API アクティビティ] で、[読み取り][書き込み] を選択します。

[CloudTrail.2] CloudTrail は保管時の暗号化を有効にする必要があります

関連する要件: PCI DSS v3.2.1/3.4、CIS AWS Foundations Benchmark v1.2.0/2.7、CIS AWS Foundations Benchmark v1.4.0/3.7、NIST.800-53.r5 AU-9、NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-3(6)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-28、NIST.800-53.r5 SC-28(1)、NIST.800-53.r5 SC-7(10)、NIST.800-53.r5 SI-7(6)

カテゴリ: 保護 > データ保護 > 保管中のデータの暗号化

重要度:

リソースタイプ : AWS::CloudTrail::Trail

AWS Config ルール : cloud-trail-encryption-enabled

スケジュールタイプ: 定期的

パラメータ : なし

このコントロールは、CloudTrail がサーバー側の暗号化 (SSE) AWS KMS key 暗号化を使用するよう設定されているかどうかをチェックします。KmsKeyId が定義されていない場合、コントロールは失敗します。

機密性の高い CloudTrail ログファイルのセキュリティ強化として、CloudTrail ログファイルの保管中の暗号化には、AWS KMS keys (SSE-KMS) を使用したサーバー側の暗号化を使用する必要があります。デフォルトでは、CloudTrail によってバケットに配信されるログファイルは、「Amazon S3 マネージド暗号化キーによる Amazon サーバー側の暗号化 (SSE-S3)」によって暗号化されることに注意してください。

修正

CloudTrail ログファイルの SSE-KMS 暗号化を有効にするには、「AWS CloudTrail ユーザーガイド」の「KMS キーを使用するように証跡を更新する」を参照してください。

[PCI.CloudTrail.3] CloudTrail を有効にする必要があります

関連する要件: PCI DSS v3.2.1/10.1、PCI DSS v3.2.1/10.2.1、PCI DSS v3.2.1/10.2.2、PCI DSS v3.2.1/10.2.3、PCI DSS v3.2.1/10.2.4、PCI DSS v3.2.1/10.2.5、PCI DSS v3.2.1/10.2.6、PCI DSS v3.2.1/10.2.7、PCI DSS v3.2.1/10.3.1、PCI DSS v3.2.1/10.3.2、PCI DSS v3.2.1/10.3.3、PCI DSS v3.2.1/10.3.4、PCI DSS v3.2.1/10.3.5、PCI DSS v3.2.1/10.3.6

カテゴリ: 識別 > ログ記録

重要度:

リソースタイプ : AWS::::Account

AWS Config ルール : cloudtrail-enabled

スケジュールタイプ: 定期的

パラメータ : なし

このコントロールは、お使いの AWS アカウント アカウントで CloudTrail が有効になっているかどうかを確認します。アカウントに少なくとも 1 つの CloudTrail 追跡がない場合、コントロールは失敗します。

ただし、一部の AWS サービスでは、すべての API およびイベントのログ記録を有効にすることができません。CloudTrail 以外の監査追跡を追加で実装し、「CloudTrail のサポートされているサービスと統合」内の各サービスのドキュメントを確認してください。

修正

CloudTrail の使用を開始して追跡を作成するには、「AWS CloudTrail ユーザーガイド」の「AWS CloudTrail の開始方法のチュートリアル」を参照してください。

[PCI.CloudTrail.4] CloudTrail ログファイルの検証を有効にする必要があります

関連する要件: PCI DSS v3.2.1/10.5.2、PCI DSS v3.2.1/10.5.5、CIS AWS Foundations Benchmark v1.2.0/2.2、CIS AWS Foundations Benchmark v1.4.0/3.2、NIST.800-53.r5 AU-9、NIST.800-53.r5 SI-4、NIST.800-53.r5 SI-7(1)、NIST.800-53.r5 SI-7(3)、NIST.800-53.r5 SI-7(7)

カテゴリ: データ保護 > データの整合性

重要度:

リソースタイプ : AWS::CloudTrail::Trail

AWS Config ルール : cloud-trail-log-file-validation-enabled

スケジュールタイプ: 定期的

パラメータ : なし

このコントロールは、CloudTrail 追跡でログファイルの整合性の検証が有効になっているかどうかをチェックします。

CloudTrail ログファイルの検証では、CloudTrail が Amazon S3 に書き込む各ログのハッシュを含むデジタル署名されたダイジェストファイルを作成します。これらのダイジェストファイルを使用して、CloudTrail がログを配信した後でログファイルが変更、削除、または変更されなかったかどうかを判断できます。

Security Hub では、すべての追跡でファイルの検証を有効にすることを推奨します。ログファイルの検証により、CloudTrail ログの追加の整合性チェックが提供されます。

修正

CloudTrail ログファイルの検証を有効にするには、「AWS CloudTrailユーザーガイド」の「CloudTrail のログファイルの整合性検証を有効にする」を参照してください。

[CloudTrail.5] CloudTrail 追跡は Amazon CloudWatch Logs と統合する必要があります

関連する要件: PCI DSS v3.2.1/10.5.3、CIS AWS Foundations Benchmark v1.2.0/2.4、CIS AWS Foundations Benchmark v1.4.0/3.4、NIST.800-53.r5 AC-2(4)、NIST.800-53.r5 AC-4(26)、NIST.800-53.r5 AC-6(9)、NIST.800-53.r5 AU-10、NIST.800-53.r5 AU-12、NIST.800-53.r5 AU-2、NIST.800-53.r5 AU-3、NIST.800-53.r5 AU-6(1)、NIST.800-53.r5 AU-6(3)、NIST.800-53.r5 AU-6(4)、NIST.800-53.r5 AU-6(5)、NIST.800-53.r5 AU-7(1)、NIST.800-53.r5 CA-7、NIST.800-53.r5 SC-7(9)、NIST.800-53.r5 SI-20、NIST.800-53.r5 SI-3(8)、NIST.800-53.r5 SI-4(20)、NIST.800-53.r5 SI-4(5)、NIST.800-53.r5 SI-7(8)

カテゴリ: 識別 > ログ記録

重要度:

リソースタイプ : AWS::CloudTrail::Trail

AWS Config ルール : cloud-trail-cloud-watch-logs-enabled

スケジュールタイプ: 定期的

パラメータ : なし

このコントロールは、CloudWatch Logs にログを送信するように CloudTrail 追跡が設定されているかどうかをチェックします。追跡の CloudWatchLogsLogGroupArn プロパティが空の場合、コントロールは失敗します。

CloudTrail は、指定されたアカウントで実行される AWS API コールを記録します。記録された情報には、以下が含まれます。

  • API 発信者のアイデンティティ

  • API コールの時刻

  • API 発信者の送信元 IP アドレス

  • リクエストパラメータ

  • AWS のサービス によって返されるレスポンス要素

CloudTrail はログファイルの保存と配信に Amazon S3 を使用します。長期分析のために、指定した S3 バケットの CloudTrail ログをキャプチャできます。リアルタイム分析を実行するには、CloudWatch Logs にログを送信するように CloudTrail を設定できます。

アカウント内のすべてのリージョンで有効になっている追跡では、CloudTrail はそれらすべてのリージョンからログファイルを CloudWatch Logs ロググループに送信します。

Security Hub では、CloudTrail ログを CloudWatch Logs に送信することを推奨します。この推奨事項は、アカウントアクティビティが確実にキャプチャおよびモニタリングされ、適切なアラームが出されることを確認する目的であることにご注意ください CloudWatch Logs を使用して、これを AWS のサービス に設定することができます。この推奨事項は、別のソリューションの使用を除外するものではありません。

CloudTrail ログを CloudWatch Logs に送信すると、ユーザー、API、リソース、および IP アドレスに基づいてリアルタイムおよび過去のアクティビティを簡単にログに記録できます。この方法を使用して、異常または機密性の高いアカウントアクティビティに対してアラームと通知を確立できます。

修正

CloudTrail を CloudWatch Logs と統合するには、「AWS CloudTrail ユーザーガイド」の「CloudWatch Logs へのイベントの送信」を参照してください。

[CloudTrail.6] CloudTrail ログの保存に使用される S3 バケットが一般公開されていないことを確認します

関連する要件: CIS AWS Foundations Benchmark v1.2.0/2.3、CIS AWS Foundations Benchmark v1.4.0/3.3

カテゴリ: 識別 > ログ記録

重要度: 非常事態

リソースタイプ : AWS::CloudTrail::Trail

AWS Config ルール: なし (カスタム Security Hub ルール)

スケジュールタイプ: 定期的および変更がトリガーされた場合

CloudTrail は、アカウント内で実行された API コールをすべて記録します。これらのログファイルは S3 バケットに保存されます。CIS では、CloudTrail が記録する S3 バケットに S3 バケットポリシーまたはアクセスコントロールリスト (ACL) を適用して、CloudTrail ログへのパブリックアクセスを禁止することを推奨しています。CloudTrail ログコンテンツへのパブリックアクセスを許可すると、攻撃者が感染したアカウントの使用または設定における弱点を特定する手助けとなる可能性があります。

このチェックを実行するために、Security Hub は最初にカスタムロジックを使用して、CloudTrail ログが保存されている S3 バケットを探します。次に AWS Config マネージドルールを使用して、バケットがパブリックにアクセス可能であることを確認します。

ログを単一の集中管理 S3 バケットに集約する場合、Security Hub は、集中管理された S3 バケットがあるアカウントとリージョンに対してのみチェックを実行します。他のアカウントとリージョンでは、コントロールステータスは [No data] (データなし) となります。

バケットがパブリックアクセス可能な場合、チェックにより結果 (失敗) が生成されます。

修正

CloudTrail S3 バケットへのパブリックアクセスをブロックするには、「Amazon Simple Storage Service ユーザーガイド」の「S3 バケットへのパブリックアクセスブロック設定の構成」を参照してください。4 つの Amazon S3 パブリックアクセスブロック設定をすべて選択します。

[CloudTrail.7] CloudTrail S3 バケットで、S3 バケットアクセスログ記録が有効であることを確認します

関連する要件: CIS AWS Foundations Benchmark v1.2.0/2.6、CIS AWS Foundations Benchmark v1.4.0/3.6

カテゴリ: 識別 > ログ記録

重要度:

リソースタイプ : AWS::CloudTrail::Trail

AWS Config ルール: なし (カスタム Security Hub ルール)

スケジュールタイプ: 定期的

S3 バケットアクセスログ記録により、S3 バケットに対して行われたリクエストごとのアクセスレコードを含むログが生成されます。アクセスログレコードには、リクエストのタイプ、リクエストに指定されたリソース、リクエストが処理された日時など、リクエストの詳細が記録されます。

CIS では、CloudTrail S3 バケットでバケットアクセスログ記録を有効にすることを推奨しています。

ターゲット S3 バケットで S3 バケットのログ記録を有効にすることで、ターゲットバケット内のオブジェクトに影響を与える可能性のあるすべてのイベントをキャプチャできます。ログを別のバケットに配置するように設定すると、ログ情報にアクセスできるようになり、セキュリティおよびインシデント対応のワークフローで役立ちます。

このチェックを実行するために、Security Hub は最初にカスタムロジックを使用して、CloudTrail ログが保存されているバケットを探してから、AWS Config マネージドルールを使用して、ログ記録が有効になっているかどうかを確認します。

CloudTrail が複数の AWS アカウント からログファイルを 1 つの送信先 Amazon S3 バケットに配信する場合、Security Hub は、そのコントロールが配置されているリージョンの宛先バケットに対してのみこのコントロールを評価します。これにより、結果が効率化されます。ただし、宛先バケットにログを配信するすべてのアカウントで CloudTrail を有効にする必要があります。宛先バケットを保持しているアカウントを除くすべてのアカウントの制御ステータスは「データなし」です。

バケットがパブリックアクセス可能な場合、チェックにより結果 (失敗) が生成されます。

修正

CloudTrail S3 バケットのサーバーアクセスのログ記録を有効にするには、「Amazon Simple Storage Service ユーザーガイド」の「Amazon S3 サーバーアクセスログの有効化」を参照してください。