翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のセキュリティのベストプラクティス 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 コンソールで証跡を作成する場合のデフォルトのオプションです。
以下に示しているのは、実行できるいくつかのステップです。
-
既存の証跡を更新して すべての AWS リージョンでイベントを記録します。
-
でmulti-region-cloud-trail有効なルール AWS リージョン を使用して、作成されたすべての証跡がすべての でイベントをログ記録するように、継続的な検出コントロールを実装します AWS Config。
CloudTrail ログファイルの整合性を有効にする
検証されたログファイルは、セキュリティおよびフォレンシック調査で特に重要です。例えば、検証済みのログファイルを使用すると、ログファイル自体が変更されていないこと、または特定の IAM ID 認証情報が特定のAPIアクティビティを実行したことを肯定的にアサートできます。また、 CloudTrail ログファイルの整合性検証プロセスでは、ログファイルが削除または変更されたかどうかを知るか、特定の期間中にアカウントにログファイルが配信されなかったことを肯定的にアサートできます。 CloudTrail ログファイルの整合性検証では、ハッシュには SHA-256、デジタル署名RSAには SHA-256 という業界標準アルゴリズムが使用されます。これにより、検出なしでログファイルを変更、削除、または偽造 CloudTrailすることが計算上実行不可能になります。詳細については、「検証の有効化とファイルの検証」を参照してください。
Amazon CloudWatch Logs との統合
CloudWatch ログを使用すると、 によってキャプチャされた特定のイベントに関するアラートをモニタリングおよび受信できます CloudTrail。 CloudWatch Logs に送信されるイベントは、証跡によってログに記録されるように設定されたイベントであるため、モニタリングするイベントタイプ (管理イベントデータイベントおよび/またはネットワークアクティビティイベント (プレビュー)) をログに記録するように証跡を設定していることを確認してください。
例えば、AWS Management Console サインインイベント の失敗など、キーセキュリティやネットワーク関連の管理イベントをモニタリングできます。
以下に示しているのは、実行できるいくつかのステップです。
-
CloudWatch のログ統合 CloudTrailの例を確認します。
-
CloudWatch ログ にイベントを送信するように証跡を設定します。
-
で - CloudWatch logs 対応ルールを使用して、すべての証跡がモニタリングのためにログにイベントを送信していることを確認するために、継続的な検出コントロールの実装を検討してください AWS Config。 cloud-trail-cloud-watch
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"] }
以下に示しているのは、実行できるいくつかのステップです。
-
で cloud-trail-encryption-enabledルールを使用して、すべての証跡が SSEKMSでログファイルを暗号化するように、継続的な検出コントロールを実装することを検討してください AWS Config。
デフォルトの 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 バケットポリシーを確認し、必要に応じてそれを調整して不要なアクセスを削除します。このバケットポリシーは、 CloudTrail コンソールを使用して証跡を作成すると生成されますが、手動で作成および管理することもできます。
-
セキュリティのベストプラクティスとして、バケットポリシーに
aws:SourceArn
条件キーを手動で追加してください。 詳細については、「の Amazon S3 バケットポリシー CloudTrail」を参照してください。 -
同じ Amazon S3 バケットを使用して複数の AWS アカウントのログファイルを保存する場合は、複数のアカウントのログファイルを受信するためのガイダンスに従ってください。
-
組織証跡を使用している場合は、組織証跡のガイダンスに従っていることを確認し、を使用して組織の証跡を作成する AWS CLI の組織証跡の Amazon S3 バケットのポリシー例を確認してください。
-
Amazon S3 セキュリティのドキュメントとバケットを保護するためのチュートリアルの例を確認してください。
ログファイルを保存する Amazon S3 バケットでMFA削除を有効にする
多要素認証 (MFA) を設定する場合、 はバケットのバージョニング状態を変更しようとしたり、バケット内のオブジェクトバージョンを削除しようとしたりするには、追加の認証が必要です。これにより、ユーザーが Amazon S3 オブジェクトを完全に削除する権限を持つIAMユーザーのパスワードを取得しても、ログファイルを侵害する可能性のある操作を防ぐことができます。
以下に示しているのは、実行できるいくつかのステップです。
-
Amazon Simple Storage Service ユーザーガイドのMFA「削除ガイダンス」を参照してください。
注記
ライフサイクル設定で MFA 削除を使用することはできません。ライフサイクル設定と、これを使用して他の設定を操作する方法の詳細については、Amazon Simple Storage Service ユーザーガイドの「ライフサイクルとその他のバケット設定」を参照してください。
ログファイルを保存する Amazon S3 バケットにオブジェクトライフサイクル管理を設定する
CloudTrail 証跡のデフォルトは、証跡用に設定された Amazon S3 バケットにログファイルを無期限に保存することです。Amazon S3 オブジェクトライフサイクル管理ルールを使用して、独自の保持ポリシーを定義し、ビジネスおよび監査のニーズをより適切に満たせるようになります。たとえば、1 年以上経過しているログファイルを Amazon Glacier にアーカイブしたり、一定の時間が経過した後にログファイルを削除できます。
注記
多要素認証 (MFA) 対応バケットのライフサイクル設定はサポートされていません。
ポリシーへのアクセス AWSCloudTrail_FullAccessを制限する
AWSCloudTrail_FullAccess ポリシーを持つユーザーは、 AWS アカウント内で最も機密性が高く重要な監査機能を無効化または再設定できます。このポリシーは、 AWS アカウント内のIAMアイデンティティに広く共有または適用することを意図したものではありません。このポリシーの適用は、 AWS アカウント管理者として行動する予定の個人をできるだけ少なく制限してください。