のセキュリティのベストプラクティス AWS CloudTrail - AWS CloudTrail

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

のセキュリティのベストプラクティス AWS CloudTrail

AWS CloudTrail には、独自のセキュリティポリシーを開発および実装する際に考慮すべきセキュリティ機能が多数用意されています。以下のベストプラクティスは一般的なガイドラインであり、完全なセキュリティソリューションを説明するものではありません。これらのベストプラクティスはお客様の環境に必ずしも適切または十分でない可能性があるので、処方箋ではなく、あくまで有用な考慮事項とお考えください。

CloudTrail 検出セキュリティのベストプラクティス

証跡の作成

AWS アカウント内のイベントを継続的に記録するには、証跡を作成する必要があります。は、証跡を作成せずに CloudTrail コンソールで管理イベントに 90 日間のイベント履歴情報 CloudTrail を提供しますが、永続的なレコードではなく、考えられるすべてのタイプのイベントに関する情報も提供しません。進行中のレコード、および指定したすべてのイベントタイプを含むレコードの場合は、指定した Amazon S3 バケットにログファイルを配信する証跡を作成する必要があります。

データを管理するには CloudTrail 、すべての の管理イベントを記録する証跡を 1 つ作成し AWS リージョン、Amazon S3 バケットアクティビティや AWS Lambda 関数などのリソースの特定のイベントタイプを記録する追加の証跡を作成することを検討してください。

以下に示しているのは、実行できるいくつかのステップです。

すべての に証跡を適用する AWS リージョン

AWS アカウント内の IAM ID またはサービスによって発生したイベントの完全な記録を取得するには、各証跡をすべての のイベントを記録するように設定する必要があります AWS リージョン。すべての でイベントをログに記録することで AWS リージョン、アカウントで発生したすべてのイベント AWS が、発生した AWS リージョンに関係なくログに記録されます。これには、グローバルサービスイベント のログ記録が含まれます。これは、そのサービスに固有の AWS リージョンに記録されます。すべてのリージョンに適用される証跡を作成すると、 は各リージョンのイベント CloudTrail を記録し、指定した S3 バケットに CloudTrail イベントログファイルを配信します。すべてのリージョンに適用される証跡を作成した後に  AWS リージョンを追加すると、その新しいリージョンは自動的に追加され、そこでのイベントはログに記録されます。これは、 CloudTrail コンソールで証跡を作成する場合のデフォルトのオプションです。

以下に示しているのは、実行できるいくつかのステップです。

CloudTrail ログファイルの整合性を有効にする

検証されたログファイルは、セキュリティおよびフォレンシック調査で特に重要です。例えば、検証済みのログファイルを使用すると、ログファイル自体が変更されていないこと、または特定の IAM ID 認証情報が特定のAPIアクティビティを実行したことを肯定的にアサートできます。また、 CloudTrail ログファイルの整合性検証プロセスでは、ログファイルが削除または変更されたかどうかを知るか、特定の期間中にアカウントにログファイルが配信されなかったことを肯定的にアサートできます。 CloudTrail ログファイルの整合性検証では、ハッシュには SHA-256、デジタル署名RSAには SHA-256 という業界標準アルゴリズムが使用されます。これにより、検出なしでログファイルを変更、削除、または偽造 CloudTrailすることが計算上実行不可能になります。詳細については、「検証の有効化とファイルの検証」を参照してください。

Amazon CloudWatch Logs との統合

CloudWatch ログを使用すると、 によってキャプチャされた特定のイベントに関するアラートをモニタリングおよび受信できます CloudTrail。 CloudWatch Logs に送信されるイベントは、証跡によってログに記録されるように設定されたイベントであるため、モニタリングするイベントタイプ (管理イベントデータイベントおよび/またはネットワークアクティビティイベント (プレビュー)) をログに記録するように証跡を設定していることを確認してください。

例えば、AWS Management Console サインインイベント の失敗など、キーセキュリティやネットワーク関連の管理イベントをモニタリングできます。

以下に示しているのは、実行できるいくつかのステップです。

Amazon を使用する GuardDuty

Amazon GuardDuty は、 AWS 環境内のアカウント、コンテナ、ワークロード、およびデータを保護するのに役立つ脅威検出サービスです。機械学習 (ML) モデルと異常および脅威検出機能を使用することで、 はさまざまなログソース GuardDuty を継続的にモニタリングし、環境内の潜在的なセキュリティリスクと悪意のあるアクティビティを特定して優先順位を付けます。

例えば、 GuardDuty は、インスタンス起動ロールを介して Amazon EC2インスタンス専用に作成されたが、 内の別のアカウントから使用されている認証情報を検出する場合に備えて、潜在的な認証情報の流出を検出します AWS。詳細については、「Amazon GuardDuty ユーザーガイド」を参照してください。

使用アイテム AWS Security Hub

を使用して CloudTrail 、セキュリティのベストプラクティスに関連する の使用状況をモニタリングしますAWS Security Hub。Security Hub は、検出セキュリティコントロールを使用してリソース設定とセキュリティ標準を評価し、お客様がさまざまなコンプライアンスフレームワークに準拠できるようサポートします。Security Hub を使用して CloudTrail リソースを評価する方法の詳細については、「 ユーザーガイド」のAWS CloudTrail 「 コントロール」を参照してください。 AWS Security Hub

CloudTrail 予防的セキュリティのベストプラクティス

の次のベストプラクティス CloudTrail は、セキュリティインシデントの防止に役立ちます。

専有および一元化された Amazon S3 バケットへのログ

CloudTrail ログファイルは、IAMアイデンティティまたはサービスによって実行されたアクションの監査ログです AWS 。これらのログの整合性、完全性、および可用性は、フォレンジックおよび監査目的にとって非常に重要です。専有および一元化された Amazon S3 バケットにログに記録することで、厳格なセキュリティ管理、アクセス、および役割分担を実施できます。

以下に示しているのは、実行できるいくつかのステップです。

  • ログアーカイブ AWS アカウントとして別のアカウントを作成します。を使用する場合は AWS Organizations、このアカウントを組織に登録し、組織内のすべての AWS アカウントのデータをログ記録するための組織証跡の作成を検討してください。

  • Organizations を使用しないが、複数の AWS アカウントのデータをログ記録する場合は、このログアーカイブアカウントにアクティビティをログ記録するための証跡を作成します。このアカウントへのアクセスを、アカウントおよび監査データへのアクセス権限を有する信頼された管理ユーザーだけに制限します。

  • 証跡の作成の一環として、組織の証跡であろうと、単一の AWS アカウントの証跡であろうと、専用の Amazon S3 バケットを作成して、この証跡のログファイルを保存します。

  • 複数の AWS アカウントのアクティビティをログに記録する場合は、 AWS アカウントアクティビティをログに記録するすべての AWS アカウントのログファイルのログ記録と保存を許可するようにバケットポリシーを変更します

  • 組織証跡を使用していない場合は、ログアーカイブアカウントで Amazon S3 バケットを指定して、すべての AWS アカウントで証跡を作成します。

AWS KMS マネージドキーでサーバー側の暗号化を使用する

デフォルトでは、 によって S3 バケット CloudTrail に配信されるログファイルは、KMSキー (SSE-KMS) を使用したサーバー側の暗号化を使用して暗号化されます。SSE-KMS を で使用するには CloudTrail、KMSキーとも呼ばれる AWS KMS keyを作成および管理します。

注記

SSE-KMS および ログファイルの検証を使用し、Amazon S3 バケットポリシーを変更して SSE-KMS 暗号化されたファイルのみを許可する場合、次のポリシー行の例に示すように、バケットポリシーを変更してAES256暗号化を特に許可しない限り、そのバケットを使用する証跡を作成することはできません。

"StringNotEquals": { "s3:x-amz-server-side-encryption": ["aws:kms", "AES256"] }

以下に示しているのは、実行できるいくつかのステップです。

デフォルトの Amazon SNSトピックポリシーに条件キーを追加する

Amazon に通知を送信するように証跡を設定するとSNS、 は、SNSトピックにコンテンツを送信できるポリシーステートメント CloudTrail をSNSトピックアクセスポリシー CloudTrail に追加します。セキュリティのベストプラクティスとして、Amazon SNSトピックポリシーステートメントに aws:SourceArn (またはオプションでaws:SourceAccount) 条件キーを追加することをお勧めします。これにより、SNSトピックへの不正なアカウントアクセスを防ぐことができます。詳細については、「の Amazon SNSトピックポリシー CloudTrail」を参照してください。

ログファイルを保存する Amazon S3 バケットへの最小特権のアクセス権限を実装する

CloudTrail は、指定した Amazon S3 バケットにログイベントを証跡します。これらのログファイルには、ID IAM と AWS サービスによって実行されたアクションの監査ログが含まれています。これらのログファイルの整合性と完全性は、監査とフォレンジック用に非常に重要です。整合性を確保するために、 CloudTrail ログファイルの保存に使用される Amazon S3 バケットへのアクセスを作成または変更するときは、最小権限の原則に従う必要があります。

次のステップを実行します。

ログファイルを保存する Amazon S3 バケットでMFA削除を有効にする

多要素認証 (MFA) を設定する場合、 はバケットのバージョニング状態を変更しようとしたり、バケット内のオブジェクトバージョンを削除しようとしたりするには、追加の認証が必要です。これにより、ユーザーが Amazon S3 オブジェクトを完全に削除する権限を持つIAMユーザーのパスワードを取得しても、ログファイルを侵害する可能性のある操作を防ぐことができます。

以下に示しているのは、実行できるいくつかのステップです。

注記

ライフサイクル設定で MFA 削除を使用することはできません。ライフサイクル設定と、これを使用して他の設定を操作する方法の詳細については、Amazon Simple Storage Service ユーザーガイドの「ライフサイクルとその他のバケット設定」を参照してください。

ログファイルを保存する Amazon S3 バケットにオブジェクトライフサイクル管理を設定する

CloudTrail 証跡のデフォルトは、証跡用に設定された Amazon S3 バケットにログファイルを無期限に保存することです。Amazon S3 オブジェクトライフサイクル管理ルールを使用して、独自の保持ポリシーを定義し、ビジネスおよび監査のニーズをより適切に満たせるようになります。たとえば、1 年以上経過しているログファイルを Amazon Glacier にアーカイブしたり、一定の時間が経過した後にログファイルを削除できます。

注記

多要素認証 (MFA) 対応バケットのライフサイクル設定はサポートされていません。

ポリシーへのアクセス AWSCloudTrail_FullAccessを制限する

AWSCloudTrail_FullAccess ポリシーを持つユーザーは、 AWS アカウント内で最も機密性が高く重要な監査機能を無効化または再設定できます。このポリシーは、 AWS アカウント内のIAMアイデンティティに広く共有または適用することを意図したものではありません。このポリシーの適用は、 AWS アカウント管理者として行動する予定の個人をできるだけ少なく制限してください。