13.3. イメージのスキャン
RHACS バージョン 4.4 は、StackRox Scanner と Scanner V4 の 2 つのスキャナーを提供します。どちらのスキャナーも、ネットワークに接続されたセキュアクラスター内のイメージを検査できます。Operator を使用してデプロイされた Red Hat OpenShift 環境の場合、またはスキャン委譲が使用されている場合、セキュアクラスターのスキャンがデフォルトで有効になります。詳細は、「イメージスキャン委譲へのアクセス」を参照してください。
Scanner V4 が有効になっている場合でも、現時点では、Red Hat OpenShift、Kubernetes、Istio などの RHCOS ノードとプラットフォームの脆弱性のスキャンを提供するには、StackRox Scanner を引き続き有効にする必要があります。この機能は、今後のリリースの Scanner V4 でサポートされる予定です。StackRox Scanner を無効にしないでください。
StackRox Scanner を使用する場合、RHACS は次のアクションを実行します。
- Central がイメージスキャンの要求を StackRox Scanner に送信します。
- StackRox Scanner は、この要求を受信すると、関連するレジストリーからイメージレイヤーを取得し、イメージをチェックして、各レイヤーにインストールされているパッケージを特定します。次に、特定されたパッケージとプログラミング言語固有の依存関係を脆弱性リストと比較し、情報を Central に送り返します。
StackRox Scanner は、次の領域の脆弱性を特定します。
- ベースイメージのオペレーティングシステム
- パッケージマネージャーによりインストールされるパッケージ
- プログラミング言語固有の依存関係
- プログラミングランタイムとフレームワーク
Scanner V4 を使用する場合、RHACS は次のアクションを実行します。
- Central が、特定のイメージをダウンロードしてインデックス作成 (分析) するように Scanner V4 Indexer に要求します。
- Scanner V4 Indexer は、レジストリーからイメージのメタデータを取得してイメージのレイヤーを確認し、以前にインデックス作成されていない各レイヤーをダウンロードします。
- Scanner V4 Indexer は、インデックス作成プロセスを支援するマッピングファイルを Central に要求します。Scanner V4 Indexer はインデックスレポートを作成します。
- Central は、特定のイメージを既知の脆弱性と照合するように Scanner V4 Matcher に要求します。このプロセスにより、最終的なスキャン結果、つまり脆弱性レポートが生成されます。Scanner V4 Matcher は、Central から最新の脆弱性を要求します。
- Scanner V4 Matcher は、イメージのインデックス作成の結果、つまりインデックスレポートを Scanner V4 Indexer に要求します。次に、レポートを使用して関連する脆弱性を特定します。この対話は、イメージのインデックスが Central クラスターで作成された場合にのみ発生します。この対話は、セキュアクラスターでインデックス作成されたイメージの脆弱性を Scanner V4 が照合する場合には発生しません。
- Indexer は、イメージレイヤーのダウンロードとインデックス作成が 1 回だけ行われるように、インデックス作成の結果に関連するデータを Scanner V4 DB に保存します。これにより、不必要なネットワークトラフィックやその他のリソースの使用が防止されます。
- セキュアクラスターのスキャンが有効になっている場合、Sensor は Scanner V4 にイメージのインデックス作成を要求します。Scanner V4 Indexer は、Central が同じ namespace に存在しない限り、インデックス作成プロセスを支援するマッピングファイルを Sensor に要求します。その場合は、代わりに Central と通信します。
13.3.1. Scanner の一般的な警告メッセージの理解と対処
Red Hat Advanced Cluster Security for Kubernetes (RHACS) でイメージをスキャンすると、CVE DATA MAY BE INACCURATE
という警告メッセージが表示される場合があります。イメージ内のオペレーティングシステムまたはその他のパッケージに関する完全な情報を取得できない場合、Scanner はこのメッセージを表示します。
以下の表は、一般的な Scanner の警告メッセージを示しています。
Message | 説明 |
---|---|
| Scanner がイメージのベースオペレーティングシステムを正式にサポートしていないことを示します。したがって、オペレーティングシステムレベルのパッケージの CVE データを取得できません。 |
| イメージのベースオペレーティングシステムのサポートが終了したことを示します。これは、脆弱性データが古くなっていることを意味します。たとえば、Debian 8 および 9 です。 イメージ内のコンポーネントを識別するために必要なファイルの詳細は、イメージの脆弱性の検査 を参照してください。 |
| Scanner がイメージをスキャンしたが、イメージに使用されたベースオペレーティングシステムを特定できなかったことを示します。 |
|
ネットワーク上でターゲットレジストリーに到達できないことを示します。原因は、ファイアウォールが 根本原因を分析するには、プライベートレジストリーまたはリポジトリー用に特別なレジストリー統合を作成し、RHACS Central の Pod ログを取得します。これを行う方法は、イメージレジストリーとの統合 を参照してください。 |
| Scanner がイメージをスキャンしたが、イメージが古く、Red Hat Scanner Certification の範囲内にないことを示します。詳細は、Partner Guide for Red Hat Vulnerability Scanner Certification を参照してください。 重要 Red Hat コンテナーイメージ を使用している場合は、2020 年 6 月以降のベースイメージの使用を検討してください。 |
13.3.2. サポート対象オペレーティングシステム
このセクションにリストされているサポート対象のプラットフォームは、Scanner で脆弱性が特定されるディストリビューションで、Red Hat Advanced Cluster Security for Kubernetes をインストールできるサポート対象のプラットフォームとは異なります。
Scanner は、以下の Linux ディストリビューションを含むイメージの脆弱性を特定します。使用される脆弱性データベースの詳細は、「RHACS アーキテクチャー」の「脆弱性ソース」を参照してください。
ディストリビューション | バージョン |
---|---|
| |
| |
CentOS |
|
以下の脆弱性ソースはベンダーによって更新されていません: | |
| |
| |
| |
| |
次の脆弱性ソースは、ベンダーにより更新されていません: |
- StackRox Scanner でのみサポートされます。
- Scanner V4 でのみサポートされます。
- 2020 年 6 月より古いイメージは、Scanner V4 ではサポートされていません。
Fedora は脆弱性データベースを管理していないため、Scanner は Fedora オペレーティングシステムをサポートしていません。ただし、Scanner は Fedora ベースのイメージで言語固有の脆弱性を検出します。
13.3.3. サポート対象のパッケージ形式
スキャナーは、以下のパッケージ形式を使用するイメージの脆弱性の有無を確認できます。
パッケージ形式 | パッケージマネージャー |
---|---|
apk | apk |
dpkg | apt、dpkg |
rpm | dnf、microdnf、rpm、yum |
13.3.4. サポート対象のプログラミング言語
Scanner は、次のプログラミング言語の依存関係の脆弱性をチェックできます。
プログラミング言語 | パッケージ形式 |
---|---|
Go[1] | バイナリー: バイナリーのビルドに使用された標準ライブラリーのバージョンが分析されます。バイナリーがモジュールサポート (go.mod) を使用してビルドされている場合、依存関係も分析されます。 |
Java | JAR、WAR、EAR、JPI、HPI |
JavaScript | package.json |
Python | egg、wheel |
Ruby | gem |
- Scanner V4 でのみサポートされます。
13.3.5. サポート対象のレイヤー圧縮形式
コンテナーイメージレイヤーは、圧縮または非圧縮の .tar
ファイルアーカイブです。StackRox Scanner と Scanner V4 は、次の表に示すさまざまな形式をサポートしています。
形式 | StackRox Scanner のサポート | Scanner V4 のサポート |
---|---|---|
非圧縮 | はい | はい |
bzip2 | はい | はい |
gzip | はい | はい |
xz | はい | なし |
zstd | なし | はい |
13.3.6. サポート対象のランタイムおよびフレームワーク
Red Hat Advanced Cluster Security for Kubernetes 3.0.50 (Scanner バージョン 2.5.0) 以降の StackRox Scanner は、次の開発者プラットフォームの脆弱性を特定します。
- .NET Core
- ASP.NET Core
これらは Scanner V4 ではサポートされていません。
13.3.7. ソースレジストリーからミラーレジストリーへのイメージプルのリダイレクト
Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、次のいずれかの OpenShift Container Platform カスタムリソース (CR) を使用して設定したレジストリーミラーからのイメージのスキャンをサポートします。
-
ImageContentSourcePolicy
(ICSP) -
ImageDigestMirrorSet
(IDMS) -
ImageTagMirrorSet
(ITMS)
イメージレジストリーのリポジトリーミラーリングの設定方法の詳細は、「イメージレジストリーのリポジトリーミラーリングの設定」を参照してください。
委譲されたイメージスキャンを使用して、レジストリーミラーからイメージを自動的にスキャンできます。
委譲されたイメージスキャンの設定方法は、「セキュアなクラスターを使用したイメージのスキャン」を参照してください。