【Security Hub修復手順】[S3.11] S3 バケットでは、イベント通知を有効にする必要があります

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

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

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

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

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

[S3.11] S3 バケットでは、イベント通知を有効にする必要があります

[S3.11] S3 buckets should have event notifications enabled

前提条件

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

コントロールの説明

このコントロールは、S3バケットのイベント通知が有効になっているかどうかをチェックします。

S3 イベント通知が有効になっていない場合、このコントロールは失敗します。

イベント通知を有効にすると、S3 バケットで特定のイベントが発生したときに通知を受け取ることができます。

例えば、オブジェクトの作成、オブジェクトの削除、オブジェクトの復元時に通知を受けることができます。

これらの通知により、不正なデータアクセスに繋がるイベントを関連チームに警告できます。

ただし、対応必須ではありません。必要と判断した場合、利用しましょう。

また、イベント通知ではなく、EventBridgeを利用した方法もありますので、下記の記事をご参考ください。

修正手順

1 対象のリソースの確認方法

  1. AWSマネージメントコンソールにログインし、AWS 基礎セキュリティのベストプラクティス v1.0.0にて、「S3.11」を検索します。タイトルを選択します。
  2. リソースの欄から失敗しているリソースを確認できます。

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

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

  • イベント通知を有効にしてよいか確認
    • しない場合、抑制済みにしましょう

3 イベント通知を有効

今回は、「S3バケットにファイルが保存されたら、メール通知する」というイベント通知を設定します。

まず、メール通知するために、Amazon SNSトピックを作成します。

作成方法は、下記手順をご確認ください。

作成後、SNSのアクセスポリシーに以下を追加します。これによって、S3からSNSへのSNS:Publishアクションを許可します。

    {
      "Sid": "S3-policy",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "SNS:Publish",
      "Resource": "arn:aws:sns:::",
      "Condition": {
        "StringEquals": {
          "AWS:SourceArn": "arn:aws:s3:::"
        }
      }
    }

S3のコンソール上で、S3バケットの[イベント通知を作成]から、[イベントタイプ]のうちPUTにチェックを入れ、[送信先]には先程作成したSNSトピックを指定します。

S3バケットにファイルをアップロードしてみましょう。

アップロード後、メールが通知されました!

イベント通知の送信先として、SNSだけでなくAmazon SQSやAWS Lambdaなどがあります。

下記は、送信先をSQSにした場合の記事ですので、ご参照ください。

最後に

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

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

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

以上、平井でした!