【Security Hub修復手順】[S3.9] S3 バケットサーバーアクセスログ記録を有効にする必要があります

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。
2023.05.02

こんにちは、AWS事業本部の平井です。

皆さん、お使いのAWS環境のセキュリティチェックはしていますか?

当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。

本記事の対象コントロール

[S3.9] S3 バケットサーバーアクセスログ記録を有効にする必要があります

[S3.9] S3 bucket server access logging should be enabled

前提条件

本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容です。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。

対象コントロールの説明

対象コントロールは、S3サーバーアクセスのログ記録が有効になっているかどうかをチェックします。

S3サーバーアクセスのログ記録が有効になっている場合、このコントロールは成功します。

S3サーバーアクセスのログ記録とは、S3オブジェクトに対しての操作を記録する機能であり、同様の機能としてCloudTrail S3オブジェクトレベルログが存在します。

CloudTrail S3オブジェクトレベルログの方がより詳細な情報を取得できるため、本番環境で機密性の高い情報を保存している場合等ではこちらを使用することが推奨されますので、その場合、このコントロールは抑制済みで構いません。

ただし、S3サーバーアクセスのログの方が安価のため、監査の参考やアクセスログ分析で必要な場合、まずこちらを検討するとよいです。

詳細な比較は、下記のブログを一読ください。

修正手順

1 ステークホルダーに確認

ステークホルダー(リソースの作成者や管理している部署などの関係者)に以下を確認します。

  • S3サーバーアクセスのログ記録を有効にしてよいか
    • 不要の場合は、抑制済みにします

2 S3サーバーアクセスのログ記録を有効化

  1. まず、ログを保存する用のバケットを作成します。
    • バケット名を入力し、他は全てデフォルトのままで作成します。
  2. S3サーバーアクセスのログ記録を有効化するバケットを選択し、[プロパティ]の[サーバーアクセスのログ記録]の編集をクリックします。
  3. ログを有効にし、ターゲットバケットは、1.で作成したログ保存用のバケットを選択します。
  4. ログ保存用バケットのバケットポリシーをみると、3.で有効化した影響で、バケットポリシーが追記されています。
  5. ログが配信されたことが確認できます。

非推奨

バケットポリシーではなく、ACLからS3ログ配信グループの書き込みを許可することも可能ですが、ACLは非推奨です

  1. [アクセス許可]の[オブジェクト所有者]を編集し、ACL 有効にします
  2. ACLを編集から、S3ログ配信グループオブジェクトの書き込みACLの読み込みを許可します。

最後に

今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。

コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!

最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。

以上、平井でした!