【Security Hub修復手順】[S3.10] バージョニングが有効な S3 バケットでは、ライフサイクルポリシーを設定する必要があります

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

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

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

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

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

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

[S3.10] バージョニングが有効な S3 バケットでは、ライフサイクルポリシーを設定する必要があります

[S3.10] S3 buckets with versioning enabled should have lifecycle policies configured

前提条件

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

コントロールの説明

このコントロールは、S3 バージョニングが有効化されたバケットのうち、ライフサイクルポリシーが設定されていない場合、失敗します。

ライフサイクルポリシーを設定しない場合、旧バージョンのオブジェクトがS3バケットに増え続け、手動削除が必要です。

ライフサイクルポリシーによるオブジェクトの自動削除やストレージクラス変更によって、コスト最適化を図ることができますので、設定をしましょう。

コントロール対象のリソース

修正手順

1 対象のS3バケットの確認方法

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

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

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

  • 対象のS3バケットに対して、どのようなライフサイクルポリシー設定を行うか
      • 一定期間を過ぎたオブジェクトは、S3 Glacier のストレージクラスに移動
      • 一定期間を過ぎたオブジェクトは、削除する

今回は、1例として、一日経過したオブジェクトを削除するライフサイクルポリシーを設定します。

3 ライフサイクルポリシーの設定

  1. S3のダッシュボードから対象のバケットをクリックします。今回はAWSLogs/内のオブジェクトを削除する設定を行います。
  2. [管理]タブから[ライフサイクルルールを作成する]をクリックします
  3. 以下の設定を行い、ルールを作成します。
    • プレフィックス:AWSLogs/
    • オブジェクトの現行バージョンを有効期限切れにするをチェック
    • オブジェクト作成後の日数:1
  4. 翌日もしくは翌々日、AWSLogs/オブジェクトを確認すると、削除されていることが分かります。

    • ただし、バージョニングを有効にしているため、バージョンの表示のトグルをクリックすると、AWSLogs/が表示されます。削除マーカーがついています。

今回は、削除アクションのライフサイクルポリシーを設定しました。

他にも一定期間後に、S3 Glacier のストレージクラスに移動するアクションなどもありますので、適切なアクションを行いコスト改善につなげましょう。

最後に

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

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

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

以上、平井でした!