CloudTrail Trails
AWS CloudTrail は、AWS インフラストラクチャ全体のアカウントアクティビティを監視および記録し、ストレージ、分析、および修復アクションを制御できるようにします。トレイルは、CloudTrail イベントを指定した Amazon Simple Storage Service (Amazon S3) バケットに配信するための設定です。
CloudTrail は、AWS インフラストラクチャにおけるアカウントアクティビティを監視および記録するための 3 種類のトレイルを提供しています。1 つ目は、すべての AWS リージ ョンからのアクティビティをキャプチャするマルチリージョントレイルです。デフォルトでは、AWS Management Console からトレイルを作成すると、すべてのリージョンに適用されます。2 つ目は、AWS CLI でのみ利用可能なシングルリージョントレイルで、特定のリージョンのアクティビティをキャプチャします。ただし、より広範なカバレッジのためにマルチリージョントレイルの使用を推奨します。
最後に、AWS Organizations サービスを使用する際に、組織内のすべての AWS アカウントに適用される組織トレイルがあります。このタイプのトレイルは、マルチアカウント環境において包括的なカバレッジと一元化されたモニタリングを提供します。
これらのトレイルタイプを使用することで、CloudTrail の設定をモニタリングおよび記録要件に合わせてカスタマイズできます。これはリージョンレベルで行うことも、組織全体にわたって行うこともできます。以下に、CloudTrail トレイルのベストプラクティスをいくつか示します。
すべての AWS アカウントとリージョンで CloudTrail を設定する
AWS アカウントでユーザー、ロール、またはサービスが実行したイベントの完全な記録を取得するには、すべての AWS リージョンでイベントをログに記録するように各トレイルを設定してください。会社または組織が使用するすべての AWS アカウントにこれらのトレイルを設定します。この設定により、イベントが発生した AWS リージョンに関係なく、すべてのイベントがログに記録されます。その結果、通常は使用されていないリージョンでの予期しないアクティビティを検出できます。グローバルサービスイベント(例:AWS Identity and Access Management および Amazon Route 53)も含まれ、ログに記録されます。すべてのリージョンに適用されるトレイルを作成すると、新しい AWS リージョンが自動的に含まれます。AWS Organizations を通じてマルチアカウントを設定している場合は、その組織内のすべての AWS アカウントのすべてのイベントをログに記録するトレイルを作成できます。
ユースケースごとに個別のトレイルを設定する
CloudTrail は、監査、セキュリティモニタリング、運用上のトラブルシューティングなどのユースケースをサポートしています。AWS では、各チームに必要な情報を提供できるよう、ユースケースごとに複数のトレイルを設定することを推奨しています。これを実現するには、異なるユーザーが管理するトレイルを作成します。トレイルは、ログファイルを別々の S3 バケットに配信するように設定できます。たとえば、セキュリティ管理者はすべてのリージ ョンに適用されるトレイルを作成し、1 つの AWS Key Management Service (AWS KMS) キーでログファイルを暗号化して、ログファイルの検証を有効にすることができます。同じ会社の開発者は、1 つのリージョンにのみ適用されるトレイルを作成し、特定の API アクティビティの通知を受け取るように Amazon CloudWatch アラームを設定することができます。
CloudTrail ログを、アクセスが制限された別のセキュリティ境界 (別の AWS アカウント) の S3 バケットに配信するよう設定する
監査目的で、専用の S3 バケットに別の管理ドメインでログファイルを保存することで、厳格なセキュリティコントロールと職務の分離を実施できます。この S3 バケットへのアクセスを制限することで、ログへの不正かつ無制限なアクセスの可能性を低減できます。これらのコントロールが整備されていれば、AWS アカウントの認証情報が侵害された場合でも、ログは別のドメインに保存されているため失われることはありません。
ログファイルを保存する Amazon S3 バケットで MFA 削除とバージョニングを有効にする
このS3バケットにMFA(多要素認証)を設定することで、バケットまたはバケット内のオブジェクトを完全に削除するために追加の認証が必要となるようにできます。MFA に加えて、バージョニングが有効なバケットは、誤った削除や上書きからオブジェクトを復元するのに役立ちます。たとえば、オブジェクトを削除した場合、Amazon S3 はオブジェクトを完全に削除する代わりに削除マーカーを挿入します。ほとんどの AWS ユーザーや管理者は悪意を持っていませんが、重要なログファイルを保存している S3 バケットを誰かが誤って削除してしまう可能性があります。これらの保護手段を追加することで、ログファイルが侵害されるリスクを低減できます。