【Security Hub修復手順】[ECR.2] ECR プライベートリポジトリでは、タグのイミュータビリティが設定されている必要があります

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。 ECRのlatestタグ一本の運用やりがちだと思います。「何が問題なの?」と思った方はぜひ記事中の参考記事だけでもご確認ください!
2023.02.14

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

こんにちは。AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。

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

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

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

[ECR.2] ECR プライベートリポジトリでは、タグのイミュータビリティが設定されている必要があります

[ECR.2] ECR private repositories should have tag immutability configured

前提条件

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

対象コントロールの説明

今回の対象コントロールは「ECR プライベートリポジトリでは、タグのイミュータビリティが設定されている必要があります」です。

ECRに限らずコンテナイメージには参照用のタグを付与できます。(参考: docker tagコマンド

コンテナ基盤を用いたアプリケーションイメージのバージョン管理の方法として、よく見かけるのが以下のような運用です。

  • 本番環境のアプリケーションのイメージには常にlatestを付与している
  • ステージング環境のアプリケーションのイメージには常にstagingを付与している

これらについては、エラー発生時のトレーサビリティや過去バージョンのアプリケーションへのロールバックにおいて欠点があります。

これについては、以下記事がわかりやすかったため参照ください。

このコントロールではイメージタグの上書きを禁止するようにECRリポジトリに設定を促しています。

修正手順

1 対象のリソース(ECRリポジトリ)を特定

まずAWS Security HubのコンソールからECR.1のチェック結果を確認し、是正対象のECRリポジトリを特定します。

20230214_securityhub_remadation_ecr2_specify_resource

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

ステークホルダー(リポジトリの作成者やアプリケーションを管理している部署など)に以下を確認しましょう。

  • ECRのイメージタグの運用方法を確認
    • 上記のようなlatestタグ固定による運用を行なっていないか
  • アプリケーションのリリースバージョンやGitのコミットハッシュを利用する運用に変更できないか?
  • アプリケーション側の運用変更を確認後に、以下「3 ECRのリポジトリを編集」の手順で設定を行うように調整する

アプリケーションのデプロイに関わる部分であるため、慎重に確認とルールの変更を行いましょう。

またCI/CDによる自動デプロイを行なっている場合は設定変更を要すると思いますので、合わせて留意しましょう。

3 ECRのリポジトリを編集

上記のとおり実際にタグ付けの運用を変更後に、以下設定を行いましょう。

ECSのダッシュボードから「Amazon ECR」の「リポジトリ」を選択します。

20230211_securityhub_remedation_ecr1_ecs_console

是正対象のリポジトリを選択します。

20230214_securityhub_remadation_ecr2_go_edit

画面右上の「編集」を選択します。

20230214_securityhub_remadation_ecr2_go_edit2

「一般設定」のブロックの「タグのイミュータビリティ」を「有効」に設定します。

そのまま「保存」をクリックします。

20230214_securityhub_remadation_ecr2_editing

これでイメージタグの上書きが禁止に設定されました!

最後に

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

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

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

以上、今泉でした!