ビュー:
プロファイル適用範囲:レベル2 - クラスター/コントロールプレーン
Amazon EKS に展開されたイメージをスキャンして、ソフトウェアパッケージの脆弱性を悪用してローカルクラウドリソースに不正アクセスを行うハッカーや悪意のあるユーザーによるリスクを軽減します。Amazon Elastic Container Registry (ECR) や他のサードパーティ製品には、既知の脆弱性をスキャンする機能があります。AWS ECR を使用する場合、一部の一般的なイメージスキャンの失敗が発生する可能性があります。たとえば、Amazon ECR は Amazon Linux、Debian、Ubuntu、CentOS、Oracle Linux、Alpine、および RHEL の特定の Linux ディストリビューションのメジャーバージョンに対してのみパッケージの脆弱性スキャンをサポートしているため、イメージがサポートされていないオペレーティングシステムで構築された場合、UnsupportedImageError が発生する可能性があります。さらに、スキャンの結果、CVE ソースが優先度を割り当てていない場合や、Amazon ECR が認識しない優先度の場合、深刻度レベルが UNDEFINED になる場合があります。脆弱性の深刻度と詳細を正確に評価するには、CVE をソースから直接表示できます。

影響

AWS ECR を利用している場合、一般的なイメージスキャンの失敗が発生することがあります。エラーは Amazon ECR コンソール、API、または AWS CLI を使用して DescribeImageScanFindings API で確認できます。
UnsupportedImageError: このエラーは、サポートされていないOS上で構築されたイメージをスキャンしようとしたときに表示されることがあります。Amazon ECRは、Amazon Linux、Debian、Ubuntu、およびその他のディストリビューションの主要バージョンの脆弱性スキャンをサポートしていますが、Dockerのscratchイメージから構築されたイメージはサポートしていません。
未定義の重大度レベル: これは、脆弱性がCVEソースによって優先されていないか、Amazon ECRによって認識されていない場合に発生する可能性があります。

監査

AWS ECRまたはサードパーティプロバイダーのガイドラインに従って、イメージスキャンを有効にしてください。
aws ecr describe-repositories --repository-names $REPO_NAME --region $REGION_CODE

修復

AWS ECRを利用してイメージスキャンを行うには、次の手順に従ってください:
スキャンのプッシュに設定されたリポジトリを作成する (AWS CLI):
aws ecr create-repository --repository-name $REPO_NAME --image-scanning-configuration scanOnPush=true --region $REGION_CODE
既存のリポジトリの設定を編集する (AWS CLI):
aws ecr put-image-scanning-configuration --repository-name $REPO_NAME --image-scanning-configuration scanOnPush=true --region $REGION_CODE
次の手順を使用して、AWS Management Console を使用した手動イメージスキャンを開始します
  1. Amazon ECR コンソールを開く。
  2. ナビゲーションバーから、リポジトリのリージョンを選択します。
  3. ナビゲーションペインで [リポジトリ] を選択します。
  4. [リポジトリ] ページで、イメージを含むリポジトリを選択します。
  5. [イメージ] ページでスキャンするイメージを選択し、[スキャン] を選択します。