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

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

AWS CloudTrail におけるセキュリティのベストプラクティス

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

CloudTrail でのDetective に関するセキュリティのベストプラクティス

証跡の作成

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

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

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

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

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

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

CloudTrail ログファイルの整合性の実現

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

Amazon CloudWatch Logs との統合

CloudWatch Logs を使用すると、CloudTrail によってキャプチャされた特定のイベントに関するアラートを監視および受信できます。CloudWatch Logs に送信されるイベントは証跡によって記録されるように設定されているため、監視するイベントタイプ (管理イベントやデータイベント) を記録するために証跡を設定してください。

たとえば、主要なセキュリティおよびネットワーク関連の管理イベント (失敗した AWS コンソールサインインイベント

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

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

以下は、セキュリティ問題の防止に役立つ CloudTrail のベストプラクティスです。

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

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

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

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

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

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

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

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

AWS KMS で管理されたキーを使用したサーバー側の暗号化

デフォルトでは、CloudTrail によってバケットに配信されるログファイルは、Amazon の Amazon S3 で管理された暗号化キーによるサーバー側の暗号化 (SSE-S3) によって暗号化されます。直接管理可能なセキュリティレイヤーを提供するには、代わりに CloudTrail ログファイルの AWS KMS によって管理されたキーを使用したサーバー側の暗号化 (SSE-KMS) を使用できます。CloudTrail で SSE-KMS を使用するには、KMS キーを作成して管理します。これは、カスタマーマスターキー (CMK)

注記

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

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

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

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

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

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

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

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

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

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

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

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

を持つユーザーFullAccessポリシーには、AWS アカウントの最も機密かつ重要な監査機能を無効にしたり、再設定したりすることができます。このポリシーは、AWS アカウントのユーザーおよびロールに共有または広く適用されることを想定していません。このポリシーの適用は、AWS アカウント管理者として行動すると思われるできるだけ少ない個人に制限してください。