第8章 イメージの脆弱性の調査

Red Hat Advanced Cluster Security for Kubernetes を使用すると、イメージに対して脆弱性の有無を分析できます。スキャナーは、すべてのイメージレイヤーを分析し、CVE (Common Vulnerabilities and Exposures) 一覧と比較して、既知の脆弱性をチェックします。

スキャナーが脆弱性を見つけた場合は、以下を行います。

  • Vulnerability Management ビューに表示して詳細分析ができるようにします。
  • リスクに応じて脆弱性をランク付けし、リスク評価のために RHACS ポータルでこれらの脆弱性をハイライトします。
  • 有効な security policies と比較して確認します。

スキャナーはイメージを検査し、イメージ内のファイルに基づいてインストールされたコンポーネントを特定します。次のファイルを削除するように最終的なイメージを変更すると、インストールされているコンポーネントまたは脆弱性を特定できない場合があります。

コンポーネントファイル

パッケージマネージャー

  • /etc/alpine-release
  • /etc/apt/sources.list
  • /etc/lsb-release
  • /etc/os-release または /usr/lib/os-release
  • /etc/oracle-release/etc/centos-release/etc/redhat-release、または /etc/system-release
  • その他の同様のシステムファイル。

言語レベルの依存関係

  • JavaScript の package.json
  • Python の場合は dist-info または egg-info です。
  • Java Archive(JAR)for Java Archive(JAR) の MANIFEST.MF

アプリケーションレベルの依存関係

  • dotnet/shared/Microsoft.AspNetCore.App/
  • dotnet/shared/Microsoft.NETCore.App/

8.1. イメージのスキャン

Central はイメージスキャン要求を Scanner に送信します。これらの要求を受信すると、スキャナーは関連するレジストリーからイメージレイヤーをプルし、イメージを確認して各レイヤーにインストールされているパッケージを識別します。次に、特定されたパッケージとプログラミング言語固有の依存関係を脆弱性一覧と比較して、情報を Central に送信します。

Red Hat Advanced Cluster Security for Kubernetes は、別の脆弱性スキャナーと統合することもできます。

スキャナーは、以下の脆弱性を特定します。

  • ベースイメージのオペレーティングシステム
  • パッケージマネージャーによりインストールされるパッケージ
  • プログラミング言語固有の依存関係
  • プログラミングランタイムとフレームワーク

サポート対象のパッケージ形式

スキャナーは、以下のパッケージ形式を使用するイメージの脆弱性の有無を確認できます。

  • yum
  • microdnf
  • apt
  • apk
  • dpkg
  • RPM

サポート対象のプログラミング言語

Scanner は、次のプログラミング言語の依存関係の脆弱性をチェックできます。

  • Java
  • JavaScript
  • Python
  • Ruby

サポート対象のランタイムおよびフレームワーク

Red Hat Advanced Cluster Security for Kubernetes 3.0.50(Scanner バージョン 2.5.0) から、スキャナーは以下の開発者プラットフォームの脆弱性を特定します。

  • .NET Core
  • ASP.NET Core

サポート対象オペレーティングシステム

このセクションにリストされているサポート対象のプラットフォームは、Scanner で脆弱性が特定されるディストリビューションで、Red Hat Advanced Cluster Security for Kubernetes をインストールできるサポート対象のプラットフォームとは異なります。

Scanner は、以下の Linux ディストリビューションを含むイメージの脆弱性を特定します。

ディストリビューションバージョン

Alpine Linux

alpine:v3.2, alpine:v3.3, alpine:v3.4, alpine:v3.5, alpine:v3.6, alpine:v3.7, alpine:v3.8, alpine:v3.9, alpine:v3.10, alpine:v3.11, alpine:v3.12, alpine:v3.13, alpine:v3.14, alpine:v3.15, alpine:v3.16, alpine:edge

Amazon Linux

amzn:2018.03, amzn:2

CentOS

centos:6,centos:7,centos:8

Debian

debian:9, debian:10, debian:11, debian:unstable

Red Hat Enterprise Linux (RHEL)

rhel:6, rhel:7, rhel:8

Ubuntu

ubuntu:14.04, ubuntu:16.04, ubuntu:18.04, ubuntu:20.04, ubuntu:21.10, ubuntu:22.04

注記
  • Fedora は脆弱性データベースを管理していないため、Scanner は Fedora オペレーティングシステムをサポートしていません。ただし、Scanner は Fedora ベースのイメージで言語固有の脆弱性を検出します。
  • Scanner は、以下のイメージの脆弱性も特定します。ただし、脆弱性ソースはベンダーで更新されなくなりました。

    ディストリビューションバージョン

    Debian

    debian:8

    Ubuntu

    ubuntu:12.04, ubuntu:12.10, ubuntu:13.04, ubuntu:14.10, ubuntu:15.04, ubuntu::15.10, ubuntu::16.10, ubuntu:17.04, ubuntu:17.10, ubuntu:18.10, ubuntu:19.04, ubuntu:19.10, ubuntu:20.10, ubuntu:21.04