コンテナーの脆弱性管理

Microsoft Defender for Cloudでは、Microsoft Defender 脆弱性の管理 (MDVM) を使用して、サポートされている Kubernetes 環境でコンテナーを実行することによって使用されるレジストリ イメージとコンテナー イメージの脆弱性を特定します。 結果は、Microsoft Defender for Cloudのセキュリティに関する推奨事項として表示されます。

Microsoft Defender for Cloudは、グループ化されたコンテナーの脆弱性に関する推奨事項から個々の推奨事項に移行しています。 移行中に、グループ化された推奨事項と個々の推奨事項がポータルに並んで表示される場合があります。 グループ化された推奨事項から個々の推奨事項への切り替えの詳細について説明します。

コンテナーの脆弱性評価は、Defender for Containers で利用でき、サポートされているシナリオでは Defender CSPM でも利用できます。 Defender CSPMが有効になっている場合、コンテナーの脆弱性に関する推奨事項には、コンテキストに応じたリスクシグナルとリスクベースの優先順位付けが含まれる場合があります。

レジストリの脆弱性評価

レジストリの脆弱性評価は、デプロイ前にサポートされているレジストリに格納されているコンテナー イメージの脆弱性を識別します。

サポートされているレジストリは次のとおりです。

  • Azure Container Registry (ACR)
  • Amazon Elastic Container Registry (ECR)
  • Google Artifact Registry (GAR)
  • Google Container Registry (GCR)
  • Docker Hubや JFrog Artifactory などの構成済みの外部レジストリ

レジストリの脆弱性評価では、 レジストリ アクセス を有効にする必要があります。

レジストリ スキャンのサポート

レジストリ スキャンでは、次の機能がサポートされます。

  • OS パッケージの脆弱性評価 (Linux および Windows)
  • 言語パッケージの脆弱性評価 (Linux のみ)

サポートされているオペレーティング システム、パッケージの種類、レジストリ、クラウドの完全な一覧については、コンテナーのサポート マトリックスのDefenderを参照してください。

実行中のコンテナーのランタイム スキャン

ランタイム コンテナーの脆弱性評価では、サポートされている Kubernetes 環境でコンテナーを実行することによって使用されるコンテナー イメージが評価されます。

次の 2 つのランタイム シナリオがあります。

  • レジストリ コンテキストを使用したランタイムの結果: レジストリ スキャンされたイメージは、クラスター内の実行中のワークロードにマップされます。

    • レジストリ アクセスK8S API アクセスまたは Defender センサーが必要です。
  • レジストリに依存しないランタイム スキャン: イメージはランタイム環境から直接収集され、元のレジストリに関係なくスキャンされます。

    • マシンと Kubernetes API アクセスまたは Defender センサーエージェントレス スキャンが必要です。

ランタイム評価には、次のものが含まれます。

  • 顧客所有のコンテナー
  • Kubernetes アドオン
  • クラスターで実行されているサード パーティ製ツール

ランタイム評価はレジストリに依存しない場合がありますが、サポートされているレジストリを接続すると、修復ワークフローのイメージとリポジトリのコンテキストを保持するのに役立ちます。

ランタイム脆弱性評価は、クラスターで実行されているコンテナー イメージをスキャンします。 コンテナー ランタイム レイヤーはスキャンされません。

ランタイム脆弱性評価は、AKS エフェメラル OS ディスクを使用するWindowsノードで実行されているコンテナー イメージではサポートされていません。 自動スケールで構成された AKS クラスターでは、スキャン時にクラスター ノードがダウンした場合、結果の一部または一部が提供されない場合があります。

スキャン動作とタイミング

スキャンとワークロード検出は非同期プロセスです。

レジストリの脆弱性評価の場合:

  • 新しくプッシュまたはインポートされたイメージは、通常、数時間以内にスキャンされます。
  • 毎日の再スキャンでは、次の結果が更新されます。
    • 過去 30 日間にプッシュされた画像
    • 過去30日以内に取得されたイメージ
    • Defender for Cloudによって監視されている Kubernetes クラスターで現在実行されているイメージ

過去 30 日以内にプッシュまたはプルされておらず、監視対象の Kubernetes クラスターで現在実行されていないイメージは、毎日の再スキャンに含まれていないので、更新された脆弱性の結果を受け取りません。 結果に画像が表示されない場合は、レジストリからイメージをプルすると、スキャンが再アクティブ化されます。

実行時の脆弱性評価の場合:

  • 実行中のコンテナーは、エージェントレス検出を使用する場合、約 24 時間ごとにインベントリされます。
  • Defender センサーを使用すると、ほぼリアルタイムでインベントリの更新が行われます。

インベントリの検出と脆弱性分析は別々のサイクルで実行されるため、新しくデプロイまたは更新されたイメージが推奨事項に完全に反映されるまでに時間がかかる場合があります。

削除されたイメージ

イメージがAzure Container Registryから削除されると、ACR はDefender for Cloudに通知します。 通常、削除されたイメージの脆弱性評価結果は 1 時間以内に削除されます。 まれに、Defender for Cloudは削除通知をすぐに受信せず、関連する脆弱性の結果の削除には最大で 3 日かかる場合があります。

タグのみを削除しても、基になるイメージ マニフェストが削除されない場合があります。 ACR からイメージを削除する方法の詳細については、「Azure Container Registryでのコンテナー イメージの削除」を参照してください。