【Security Hub修復手順】[ECR.1] ECR プライベートリポジトリでは、イメージスキャニングが設定されている必要があります

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。コンテナイメージの脆弱性スキャンは基本的かつ重要なセキュリティ対策です!ぜひ有効にしてください!
2023.02.11

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

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

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

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

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

[ECR.1] ECR プライベートリポジトリでは、イメージスキャニングが設定されている必要があります

[ECR.1] ECR private repositories should have image scanning configured

前提条件

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

対象コントロールの説明

今回のコントロールは「ECR プライベートリポジトリでは、イメージスキャニングが設定されている必要があります」です。

ECRでは無料で実施できる脆弱性スキャンの機能が存在します。スキャンのイメージやしくみの概要を知りたい方は以下の記事をご参照ください。

このコントロールではECRのプライベートなリポジトリにおいて、イメージがリポジトリにプッシュされた際の自動脆弱性スキャンが有効になっているかチェックします。

修正手順

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

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

20230211_securityhub_remedation_ecr1_specify_resource

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

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

  • ECRのイメージスキャンを有効にして良いか?

ただし、コンテナイメージのスキャンについては各種サードパーティ製のプロダクトでも可能です。

そちらでスキャン・スキャン後の対応していて、あえて無効にしていたなどの経緯があるかもしれませんので合わせて聞き取りを行っておきましょう。

とはいえ基本スキャン(Basic scanning)に関しては料金もかからないため以下の手順で有効にしておいた方が良いと思います。

3 ECRのリポジトリを編集

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

20230211_securityhub_remedation_ecr1_ecs_console

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

20230211_securityhub_remedation_ecr1_ecr_dashboard

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

20230211_securityhub_remedation_ecr1_ecr_edit

「イメージスキャンの設定」ブロックの「プッシュ時にスキャン」を有効に設定し、「保存」を選択することで修復完了です。

20230211_securityhub_remedation_ecr1_ecr_on_scan

おまけ: 個々のリポジトリレベルではなくレジストリレベルでスキャン設定できる

先ほどリポジトリのイメージスキャンの設定をする時に気になる文言がありました。

こちらの警告です。

20230211_securityhub_remedation_ecr1_ecr_warning

非推奨警告 リポジトリレベルの ScanOnPush 設定は非推奨となり、レジストリレベルのスキャンフィルターが優先されます。

こちらに記載のとおり、個々のリポジトリレベルではなくプライベートリポジトリ全体に対してイメージスキャンの設定ができます。

20230211_securityhub_remedation_ecr1_resitroy_setting

ただし、今回のコントロール(ニュアンスが伝わるように英語版)にも以下のように記載されています。

Note that you must also configure scan on push for each repository to pass this control.

設定としてはプライベートリポジトリ全体に対してプッシュ時のイメージスキャンが可能ですが、今回のコントロールをパスするには上記手順のように個々のリポジトリごとにイメージスキャンの設定が必要となります。

少し手間に感じるかもしれませんが、個々のリポジトリにてイメージスキャンの設定をしましょう。

最後に

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

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

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

以上、今泉でした!