IBM Cloud Docs
Vulnerability Advisorでのイメージ・セキュリティーの管理

Vulnerability Advisorでのイメージ・セキュリティーの管理

Vulnerability Advisorは、 IBM Cloud® Container Registry の一部として提供されます。 Vulnerability Advisorは、IBM やサード・パーティーによって提供されるか、組織のレジストリー名前空間に追加された、コンテナー・イメージのセキュリティー状況を検査します。

Vulnerability Advisorは IBM Cloud Container Registry のセキュリティ管理を提供します。 Vulnerability Advisorは、推奨される修正とベストプラクティスを含むセキュリティステータスレポートを生成します。

イメージを名前空間に追加すると、Vulnerability Advisorによってイメージが自動的にスキャンされ、セキュリティー問題や潜在的な脆弱性が検出されます。 セキュリティー問題が検出されると、報告された脆弱性の解決に役立つ指示が提供されます。

Vulnerability Advisorによって問題が検出されれば、このイメージのデプロイの非推奨を指示する判断になります。 このイメージのデプロイを選択した場合、このイメージからデプロイされたコンテナーには、コンテナーの攻撃や侵害に使用される可能性のある既知の問題が含まれます。 判断は、指定した適用除外項目に基づいて調整されます。

Vulnerability Advisorによって報告されたセキュリティー問題や構成問題を修正することで、IBM Cloud インフラストラクチャーをセキュアにすることができます。

IBM Cloud Security and Compliance Center を使用して、Vulnerability Advisorによって検出された脆弱性をモニターすることができます。 詳細については、 Security and Compliance Center 入門を参照してください。

Vulnerability Advisor バージョン3は、2023年11月13日をもって販売終了となります。 バージョン4へのアップデート方法の詳細については、 Vulnerability Advisor バージョン3が2023年11月13日に販売終了となること をご覧ください。

Portierisを使用して、 Vulnerability Advisor が発見した問題を含むイメージの展開をブロックすることは非推奨です。

Vulnerability Advisor について

Vulnerability Advisorはイメージをセキュアにするための機能を提供します。

バージョン4では以下の機能が利用できる:

  • イメージをスキャンして問題がないか調べる。
  • IBM Cloud Kubernetes Service に特化したセキュリティ対策に基づく評価レポートを作成する。
  • 報告された 脆弱性のあるパッケージ の修正方法に関する指示を、その報告書で提供する。
  • フラグが立てられた問題がユース・ケースに適用されない場合、マークするアカウント・レベル、名前空間 レベル、リポジトリー レベル、または タグ レベルのレポートに免除ポリシーを適用します。

Container Registry ダッシュボードの 画像 タブの セキュリティー状況 列には、各イメージに関する問題の数が表示されます。 問題の詳細を確認するには、 セキュリティ・ステータス欄のリンクをクリックしてください。

Vulnerability Advisorのダッシュボードには、イメージのセキュリティーの概要と評価が示されます。 Vulnerability Advisorのダッシュボードについて詳しくは、脆弱性レポートの検討を参照してください。

暗号化された画像は Vulnerability Advisor でスキャンされない。

データ保護

アカウント内のイメージとコンテナーをスキャンしてセキュリティー問題を探すために、Vulnerability Advisorは以下の情報を収集、保管、および処理します。

  • ID、説明、およびイメージ名 (レジストリー、名前空間、リポジトリー名、およびイメージ・タグ) が含まれたフリー・フォームのフィールド
  • 構成ファイルのファイル・モードと作成タイム・スタンプに関するメタデータ
  • イメージおよびコンテナー内のシステムとアプリケーションの構成ファイルの内容
  • インストールされているパッケージとライブラリー (バージョンを含む)

上記のリストに示された、Vulnerability Advisorが処理するフィールドや場所に個人情報を入れないでください。

データ・センター・レベルで集約されたスキャン結果は処理され、サービスを運用および改善するための匿名メトリックが生成されます。

バージョン4では、画像が最初に Container Registry レジストリにプッシュされたときにインデックスが作成され、そのインデックスレポートがデータベースに保存されます。 Vulnerability Advisorが照会されると、画像インデックスレポートが取得され、脆弱性評価が作成される。 このアクションは、 Vulnerability Advisorがクエリされるたびに動的に発生します。 そのため、削除が必要なスキャン結果が事前に生成されることはない。 ただし、画像インデックス・レポートは、レジストリから画像が削除されてから30日以内に削除される。

脆弱性のタイプ

脆弱なパッケージ

Vulnerability Advisorは、サポートするオペレーティング・システムを使用しているイメージ内の脆弱なパッケージを検査し、その脆弱性に関連したセキュリティー上の注意事項へのリンクを提供します。

スキャン結果に、既知の脆弱性問題が含まれているパッケージが表示されます。 次の表にリストされた Docker イメージ・タイプに対して公開されるセキュリティー上の注意事項を使用して、潜在的な脆弱性は毎日更新されます。 脆弱パッケージがスキャンに合格するようにするには通常、脆弱性の修正が反映された新しいバージョンのパッケージが必要です。 同じパッケージに複数の脆弱性がリストされることがあり、その場合は、1 回のパッケージの更新で複数の脆弱性を修正できます。

Vulnerability Advisorは、ディストリビュータによってパッケージの修正プログラムが公開された場合にのみ、脆弱性を返します。 まだ修正されていない、または修正される予定がない宣言された脆弱性は、 Vulnerability Advisorでは報告されません。 したがって、 Vulnerability Advisorが脆弱性を報告しなくても、画像にはまだリスクがあるかもしれません。

バージョン4では、画像が最初にプッシュされたときにインデックスが作成されます。 その後、 Vulnerability Advisorがその画像について問い合わせを受けるたびに、脆弱性評価が計算されます。 画像はタグがある場合のみスキャンされる。

以下の表は、 Vulnerability Advisor が脆弱性のあるパッケージをチェックする Docker ベースイメージの対応状況を示しています。

Vulnerability Advisorは、プラットフォームのベンダーにより現在サポートされているプラットフォームのリリースのみをサポートしています。

Vulnerability Advisor 4が脆弱性のあるパッケージをチェックする Docker ベースイメージのサポート
Docker 基本イメージ サポートされるバージョン セキュリティー上の注意事項のソース
Alpine ベンダーのセキュリティサポートがあるすべての安定版。 エッジもサポートしている。 Alpineの SecDB データベース
Debian ベンダーのセキュリティサポートがあるすべての安定版。

linux-libc-dev のような Debian ソースパッケージ linux に関連するバイナリパッケージの CVE は報告されません。 これらのバイナリ・パッケージのほとんどはカーネルとカーネル・モジュールで、コンテナ・イメージでは実行されない。

Debian セキュリティバグトラッカー
GoogleContainerTools ディストロ・レス ベンダーのセキュリティサポートがあるすべての安定版。 GoogleContainerTools ディストロ・レス
Red Hat® Enterprise Linux® (RHEL) RHEL/UBI 7、RHEL/UBI 8、RHEL/UBI 9 Red Hat セキュリティデータAPI
Ubuntu ベンダーのセキュリティサポートがあるすべての安定版。 Ubuntu CVE Tracker

もし、上記の表にあるオペレーティングシステムディストリビューションをベースにしたイメージを使用している場合で、ベンダーがサポートしていないバージョンであり、セキュリティフィードデータが利用できない場合、例えば、 Debian 10以前の場合、 Vulnerability Advisor はお客様のイメージに対して No issues と報告する可能性があります。

構成の問題

設定の問題は、 Vulnerability Advisor バージョン 4 ではサポートされていません。

Vulnerability Advisorのバージョン設定

バージョン4の結果を取得するには、次の ibmcloud cr va-version-set コマンドを実行する。 有効な値は v4 だけです。

ibmcloud cr va-version-set v4

あるいは、環境変数 va_version を設定し、使用する Vulnerability Advisorのバージョンを指定することもできる。 有効な値は v4 だけです。

無効なバージョンの Vulnerability Advisor Vulnerability Advisorを設定しようとすると、エラーが表示されます。

Vulnerability Advisor バージョン3は、2023年11月13日をもって販売終了となります。 バージョン4へのアップデート方法の詳細については、 Vulnerability Advisor バージョン3が2023年11月13日に販売終了となること をご覧ください。

脆弱性レポートの検討

イメージをデプロイする前に、そのイメージのVulnerability Advisor・レポートを検討して、脆弱性の影響を受けるパッケージ、コンテナーやアプリケーションの非セキュアな設定の詳細を知ることができます。

また、イメージが組織のポリシーに準拠しているかどうかを確認することもできます。

発見された問題に対処しなければ、その問題はそのイメージを使用しているコンテナのセキュリティに影響を与える可能性がある。 コンテナランタイム環境でエンフォースメントを使用している場合、ポリシーによってすべての問題が除外されない限り、そのイメージのデプロイが妨げられる可能性があります。

イメージが組織のポリシーによって設定されている要件を満たしていない場合は、イメージをデプロイする前に、その要件を満たすようにイメージを構成する必要があります。 組織のポリシーを表示および変更する方法について詳しくは、組織の適用除外項目ポリシーの設定を参照してください。

コンソールを使用した脆弱性レポートの確認

IBM Cloud コンソールを使用して、 Container Registry のネームスペースに保存されている Docker 画像のセキュリティを確認できます。

  1. IBM Cloud にログインします。

  2. 「ナビゲーション・メニュー」 アイコンをクリックして、 「コンテナー・レジストリー」 をクリックします。

  3. 「イメージ」 をクリックします。 画像の一覧と各画像のセキュリティステータスは、 [画像] テーブルに表示されます。

  4. latest タグが付いたイメージのレポートを表示するには、そのイメージの行をクリックします。 そのイメージのデータが表示された 「イメージの詳細 (Image Details)」 タブが開きます。 リポジトリー内に latest タグが存在しない場合、最新のイメージが使用されます。

  5. セキュリティー状況 列に問題が表示されている場合、その問題について調べるには、 タイプ別の問題 タブをクリックします。 脆弱性テーブルと構成問題テーブルが表示されます。

    • 脆弱性の表。 この表は、各問題の脆弱性ID、その問題のポリシーステータス、影響を受けるパッケージ、問題の解決方法を示しています。 その問題の詳細を表示するには、行を展開します。 その問題のベンダーによるセキュリティー上の注意事項へのリンクを含む、その問題の要約が表示されます。 既知の脆弱性問題が含まれているパッケージをリストします。

      脆弱性のタイプにリストされた Docker イメージ・タイプに対して公開されるセキュリティー上の注意事項を使用して、リストは毎日更新されます。 脆弱パッケージがスキャンに合格するようにするには通常、脆弱性の修正が反映された新しいバージョンのパッケージが必要です。 同じパッケージに複数の脆弱性が含まれていることがあり、この場合、1つのパッケージのアップデートで複数の問題を修正することができる。 セキュリティー上の注意事項のコードをクリックして、パッケージに関する詳細情報と、パッケージを更新するための手順を表示してください。

    • コンフィギュレーションに関する問題の表。 この表は、各問題の構成問題ID、その問題のポリシー・ステータス、およびセキュリティ対策を示しています。 その問題の詳細を表示するには、行を展開します。 その問題のセキュリティー上の注意事項へのリンクを含む、その問題の要約が表示されます。

      リストには、コンテナーのセキュリティーを向上させるために行うことができる処置の推奨事項と、非セキュアなコンテナーのアプリケーション設定が含まれています。 行を展開すると、問題の解決方法が表示されます。

  6. レポートに示された各問題の修正処置を実行し、イメージを再ビルドします。

CLI の使用による、脆弱性レポートの検討

CLI を使用して、IBM Cloud Container Registry で名前空間に保管された Docker イメージのセキュリティーを検討できます。

  1. IBM Cloud アカウント内のイメージをリストします。 保管されている名前空間に関係なくすべてのイメージのリストが返されます。

    ibmcloud cr image-list
    
  2. SECURITY STATUS 列で状況を確認します。

    • No Issues: セキュリティー問題は見つかりませんでした。
    • <X> Issues <X> は問題の数である。
    • Scanning: イメージはスキャン中で、最終的な脆弱性の状況は決定されていません。
    • Unsupported OS: スキャンの結果、サポート対象のオペレーティング・システム (OS) ディストリビューションやアクティブ構成の問題は見つかりませんでした。
  3. 状況の詳細を確認するには、Vulnerability Advisorのレポートを検討します。

    ibmcloud cr va <region>.icr.io/<my_namespace>/<my_image>:<tag>
    

    CLI 出力には、構成の問題に関する以下の情報が表示されています。

    • Security practice 脆弱性の説明。
    • Corrective action 脆弱性を修正する方法

組織の適用除外項目ポリシーの設定

IBM Cloud 組織のセキュリティーを管理する場合は、ポリシー設定を使用して、問題を適用除外するかどうかを決定できます。

セキュリティ・ステータスに関係なく、どのイメージからでもコンテナをデプロイできる。

免除の操作に必要な権限の詳細については、 IBM Cloud Container Registry を構成するためのアクセス ロール」を 参照してください。

Portierisを使用して、 Vulnerability Advisor が発見した問題を含むイメージの展開をブロックすることは非推奨です。

コンソールを使用した免除ポリシーの設定

IBM Cloud コンソールを使用している場合は、免除ポリシーの有効範囲として 名前空間リポジトリー、または タグ を設定できます。 ダイジェスト をスコープとして使用する場合は、CLI を使用する必要があります。CLI を使用した組織の免除ポリシーの設定 を参照してください。

IBM Cloud コンソールを使用してポリシーの適用除外を設定する場合は、次の手順を実行します:

  1. IBM Cloud にログインします。 IBM Cloud コンソールにVulnerability Advisorを表示するには、ログインした状態である必要があります。

  2. 「ナビゲーション・メニュー」 アイコンをクリックして、 「コンテナー・レジストリー」 をクリックします。

  3. 「設定」 をクリックします。

  4. 「セキュリティー・ポリシー除外項目 (Security policy exemptions)」 セクションで、 「作成 (Create)」 をクリックします。

  5. 発行タイプを選択します。

  6. 発行 ID を入力します。

    この情報は、脆弱性レポートにあります。 脆弱性ID 列には、CVEまたはセキュリティ通知の問題に使用するIDが記載され、 構成問題ID 列には、構成の問題に使用するIDが記載されます。

  7. 適用除外項目を適用するレジストリー名前空間、リポジトリー、イメージ、およびタグを選択します。

  8. 「作成」 をクリックします。

また、該当する行にカーソルを合わせ、 オプションのリストを開閉するアイコンをクリックすることで、免除を編集・削除することができる。

CLI を使用した免除ポリシーの設定

CLI を使用している場合、名前空間リポジトリーダイジェスト、または タグ を免除ポリシーの有効範囲として設定できます。

CLIを使用してポリシーの適用除外を設定したい場合は、以下のコマンドを実行できます:

  • セキュリティー問題の適用除外項目を作成するには、ibmcloud cr exemption-add コマンドを実行します。
  • セキュリティー問題の適用除外項目をリストするには、ibmcloud cr exemption-list コマンドを実行します。
  • 適用除外できるセキュリティー問題のタイプをリストするには、ibmcloud cr exemption-types コマンドを実行します。
  • セキュリティー問題の適用除外項目を削除するには、ibmcloud cr exemption-rm コマンドを実行します。

コマンドを実行するときに --help オプションを使用すると、コマンドの詳細情報を表示できます。