コンテンツにスキップ

Dockerスキャン(ECR/GAR)

コンテナのイメージ名を指定して、コンテナのイメージスキャンができます。 現在は、AWS, GCPのArtifact Registryに対応しています。

対象のコンテナイメージ#

スキャンの頻度#

日本時間の 2:00 ~ 3:00および18:00 ~ 19:00 に、コンテナイメージのスキャンを実施します。 サーバの詳細画面から、手動でのスキャンも実施できます。

Amazon ECRのスキャン#

  • ECRのスキャンをする場合は、あらかじめAWSの認証情報を設定する必要がある
  • 外部連携 AWS 認証設定でAWSの認証情報を登録する

Amazon ECRイメージスキャン設定が拡張スキャンの場合で、「2023-3-29リリース」より以前にAWS認証設定を行った場合は、更新が必要です。 FutureVulsで利用するポリシーを参照し、 FutureVulsAssumeRole のIAM Policyに Action として inspector2:ListCoverageinspector2:ListFindings を追加してください。

Amazon ECRのスキャン結果はステータスが ACTIVE である脆弱性のみFutureVulsに連携されます(SUPPRESSEDCLOSED は連携しない)

AWSでの設定#

  • DockerImageをECRに登録する
  • DockerImageを選択し、編集をクリック image
  • pushしたときに自動でスキャンが実行されるように設定する image
  • すでにpush済みのDockerImgaeをスキャンする場合は、個別にimageを選択してスキャンする image

(Optional) 拡張スキャン設定#

FutureVulsでは正確かつ包括的な脆弱性検知のため、Amazon Inspectorによる拡張スキャンの利用を推奨します。 スキャン設定

FutureVuls上でのイメージの登録#

ECRでの設定完了後、FutureVuls上でコンテナイメージを登録します。

  • サーバ > サーバ追加 > コンテナレジストリ連携(ECR)から、グループの認証情報に紐付くリポジトリの一覧が表示されます。
  • 登録したいリポジトリを(複数)選択後、それぞれのリポジトリについて最新タグを使用するかを選択し、最新タグを使用しない場合はタグ名を入力します。

ECR追加ボタン

ECR登録画面

スキャンの実行#

  • イメージの登録が完了すると、サーバの詳細タブに「手動スキャン」ボタンが表示されます。
  • スキャンが実行されると、通常のサーバと同じように脆弱性やタスクが作成されます。

GCP GARのスキャン#

  • GCP Artifact Registryに登録しているイメージをスキャンをする場合は、あらかじめGCPの認証情報を設定する必要がある
  • 外部連携 GCP 認証設定でGCPの認証情報を登録する

GCPのContainer Registryサポート終了に伴い、FutureVulsではContainer Registryのイメージのサポートを終了しています。Artifact Registryへの移行をお勧めします。詳細は、Google Cloudの公式アナウンスメントをご参照ください。

GCPでの設定#

  • Artifact Registryの設定で、脆弱性スキャンを有効にする スキャン有効化
  • Docker形式のリポジトリを作成します リポジトリ登録
  • 作成したリポジトリ内にスキャンしたいイメージを登録します
  • 下図のようにContainer Analysisが脆弱性を検知していれば準備は完了です(初回検知までに時間がかかる場合があります) イメージ登録

FutureVuls上でのイメージの登録#

Artifact Registryの設定完了後、FutureVuls上でコンテナイメージを登録します。 こちらの操作を開始するには、グループ設定から GCP連携の設定 を完了しておく必要があります。

  • サーバ > サーバ追加 > コンテナレジストリ連携を選択します コンテナレジストリ連携選択
  • 登録したいイメージを(複数)選択します
    • 「最新タグ」にチェックを入れた場合、更新日時が最も新しいタグのイメージをスキャンします
    • 「最新タグ」のチェックを外し、タグを指定した場合、常に指定したタグ名のイメージをスキャンします コンテナレジストリ連携選択

スキャンの実行#

  • イメージの登録が完了すると、サーバの詳細タブに「手動スキャン」ボタンが表示されます。
  • スキャンが実行されると、通常のサーバと同じように脆弱性やタスクが作成されます。