脆弱性スキャン・サービスのトラブルシューティング
トラブルシューティング情報を使用して、Oracle Cloud Infrastructure Vulnerability Scanning Serviceの操作中に発生する可能性がある一般的な問題を特定し、対処します。
スキャン・レシピまたはスキャン・ターゲットを作成できません
コンピュート(ホスト)またはイメージ・スキャンのスキャン・レシピまたはスキャン・ターゲットの作成を妨げる問題を修正します。
脆弱性スキャン・レシピまたは脆弱性スキャン・ターゲットを作成するには、コンソールを使用しているか、REST APIをSDK、CLIまたはその他のツールを使用しているかに関係なく、管理者が記述したポリシー(IAM)で必要なタイプのアクセス権が付与されている必要があります。
- 次のドキュメントを使用して、コンピュートおよびイメージのスキャン・レシピおよびターゲットの作成に必要なポリシーがあることを確認します。
- 欠落している必須ポリシーを追加します。
脆弱性スキャン結果なし
どのタイプの脆弱性スキャン・レポートも参照できない一般的な問題を解決します。
ターゲットが作成されてから24時間経っていない
ターゲットの作成後、脆弱性スキャン・サービスは、指定されたターゲット・リソースをすぐにスキャンするわけではありません。
レシピに関連付けられたターゲットを作成してから、脆弱性スキャン・サービスがターゲット・リソースの最初のスキャンを実行するまでに最大で24時間かかる場合があります。コンピュート・ターゲットでは、この遅延は、レシピを日次スケジュールまたは週次スケジュールで構成した場合に発生します。
IAMポリシーが欠落している
任意のタイプの脆弱性スキャン・レポートを表示するには、コンソールを使用するか、REST APIをSDK、CLIまたはその他のツールとともに使用するかに関係なく、管理者が記述したポリシー(IAM)で必要なタイプのアクセス権が付与されている必要があります。
たとえば、グループSecurityAuditors
のユーザーが、コンパートメントSalesApps
内のすべての脆弱性スキャン・リソースを表示できるようにするには:
Allow group SecurityAuditors to read vss-family in compartment SalesApps
スキャン結果を表示するために必要なポリシーがあることを確認します。脆弱性スキャンIAMポリシーを参照してください。
間違ったコンパートメントの指定
コンソール内で、表示するターゲットの脆弱性スキャン結果を含むコンパートメントを必ず選択してください。
脆弱性スキャン・サービスは、コンピュート・インスタンスの結果を、インスタンスの脆弱性スキャン・ターゲットと同じコンパートメントに保存します。
次の例を考えます
- コンピュート・インスタンス
MyInstance
はCompartmentA
にあります。 MyInstance
は、Target1
に指定されています。Target1
は、CompartmentB
にあります。MyInstance
に関連するすべてのレポートは、CompartmentB
にあります。
脆弱性スキャン・サービスは、イメージ・リポジトリの結果を、リポジトリの脆弱性スキャン・ターゲットと同じコンパートメントに保存します。
次の例を考えます
- コンテナ・レジストリのリポジトリ
MyRepo
は、CompartmentA
にあります。 MyRepo
は、Target1
に指定されています。Target1
は、CompartmentB
にあります。MyRepo
に関連するすべてのレポートは、CompartmentB
にあります。
レシピのすべての機能が無効になっている
脆弱性スキャン・サービスでレシピを作成したが、レシピのすべてのスキャン・オプションを無効にした場合、脆弱性スキャン・サービスでは、このレシピに割り当てられているどのターゲットもスキャンされません。
コンソールで、レシピに移動し、必要なスキャン・オプションを有効にします。以下を参照してください。
ホスト・スキャンがない
コンピュート・ターゲットのホスト・スキャンの結果を参照できない原因となっている問題を解決します。
問題がここにリストされていない場合は、他の一般的なスキャン問題について脆弱性スキャン結果なしを参照してください。
エージェントベースのスキャンが有効ではありません
ホスト・スキャンを作成するために、脆弱性スキャン・サービスでは、ターゲット・コンピュート・インスタンスで実行されるOracle Cloud Agentが使用されます。デフォルトでは、レシピでエージェント・ベースのスキャンが有効です。レシピでこのオプションを無効にした場合、脆弱性スキャン・サービスでは、レシピに関連付けられたターゲットのホスト・スキャンは作成されません。
エージェントでスキャン・プラグインが無効になっている
Oracle Cloud Agentプロセスは、コンピュート・インスタンスで実行されているプラグインを管理します。脆弱性スキャン・プラグインは、脆弱性を検出し、CISベンチマークをテストするために使用されます。デフォルトでは、エージェントを実行しているすべてのインスタンスで脆弱性スキャン・プラグインが有効になりますが、このプラグインは無効にできます。
ターゲット・コンピュート・インスタンスで脆弱性スキャン・プラグインを手動で無効にした場合は、有効にする必要があります。
エージェントをデプロイするためのIAMポリシーが欠落している
ターゲット・コンピュート・インスタンスでOracle Cloud Agentが実行されていない場合は、脆弱性スキャン・サービスによってエージェントがインスタンスに自動的にデプロイされます。ただし、管理者は、ターゲット・コンピュート・インスタンスを更新する権限を脆弱性スキャン・サービスに付与する必要があります。
インスタンスが最新エージェントを実行していない
ターゲット・コンピュート・インスタンスでOracle Cloud Agentバージョン1.11.0
が実行されている場合、最新バージョンに自動的に更新されません。
インスタンスのOracle Cloud Agentを手動で更新します。以下を参照してください。
パブリックIPアドレスのないインスタンスのサービス・ゲートウェイが欠落している
コンピュート・インスタンスは、Virtual Cloud Network (VCN)およびサブネットに関連付けられます。ターゲット内のインスタンスがプライベート・サブネット上にあるか、パブリックIPアドレスがない場合、VCNには、サービス・ゲートウェイとそのサービス・ゲートウェイのルート・ルールが含まれている必要があります。Oracleサービスへのアクセス: サービス・ゲートウェイを参照してください。
VCNまたはサービス・ゲートウェイが正しく構成されていない場合、脆弱性スキャン・サービスはプライベート・サブネット上のコンピュート・インスタンスと通信してホスト・スキャンを実行できません。
サービス・ゲートウェイは、オブジェクト・ストレージなどの単一サービスのみのトラフィックを許可するように構成できません。
パブリックIPアドレスがないインスタンスでトラフィック転送が無効になっている
VNICにより、インスタンスはVCNに接続することができ、そのインスタンスがVCN内外のエンドポイントに接続する方法も決まります。各VNICは、VCNのサブネット内に存在します。ターゲット内のコンピュート・インスタンスがプライベート・サブネット上にある場合、またはパブリックIPアドレスがない場合、インスタンスのVNICはトラフィックを転送できる必要があります。
VNICが正しく構成されていない場合、脆弱性スキャン・サービスはプライベート・サブネット上のコンピュート・インスタンスと通信してホスト・スキャンを実行できません。
インスタンスのVNICを編集し、オプション「ソース/宛先チェックのスキップ」を選択します。既存のVNICの更新を参照してください。
コンテナ・イメージ・スキャンがない
コンテナ・イメージ・スキャンの結果を参照できない原因となっている問題を修正します。
問題がここにリストされていない場合は、他の一般的なスキャン問題について脆弱性スキャン結果なしを参照してください。
コンテナ・レジストリにアクセスするIAMポリシーがない
管理者は、Vulnerability Scanningサービスにコンテナ・レジストリからイメージを取得する権限を付与する必要があります。
ポリシーでは、ターゲット・イメージ・リポジトリを含むコンパートメントを指定する必要があります。
スキャン結果をエクスポートできない
スキャン・レポートまたは脆弱性レポートをローカル・マシンにエクスポートできない問題を修正します。
IAMポリシーが欠落している
管理者は、スキャン・レポートおよび脆弱性レポートの読取り権限を付与しているが、エクスポート権限を付与していない可能性があります。
脆弱性スキャン・レポートのエクスポートに必要なポリシーがあることを確認します。脆弱性スキャンIAMポリシーを参照してください。
たとえば、グループSecurityAuditors
のユーザーが、コンパートメントSalesApps
内のすべての脆弱性スキャン・リソースの表示および結果のエクスポートを許可するには:
Allow group SecurityAuditors to read vss-family in compartment SalesApps
Allow group SecurityAuditors to manage host-agent-scan-results in compartment SalesApps where request.operation = 'ExportHostAgentScanResultCsv'
Allow group SecurityAuditors to manage host-vulnerabilities in compartment SalesApps where request.operation = 'ExportHostVulnerabilityCsv'
エクスポート操作は、
vss-vulnerabilities
リソース・タイプではなく、host-vulnerabilities
リソース・タイプで使用できます。コンパートメントの削除に失敗した
脆弱性スキャン・ターゲットおよびレポートに使用したコンパートメントを削除できない原因となっている問題を解決します。
コンパートメントにレポートが存在する
コンパートメントを削除するには、すべてのスキャン・レポートも含めて、そのコンパートメントが空である必要があります。コンソールを使用してレポートを削除することはできません。CLIまたはAPIを使用します。
レポート・タイプごとに異なるCLIコマンドおよびAPI操作があります。例:
コンパートメントからすべてのタイプのレポートをすばやく削除するには、クラウド・シェルを使用してスクリプトを実行できます。
レポートされたCVEがホストですでに修正されている(誤検出)
すでに修正されている脆弱性がホスト・スキャンによってレポートされる問題を修正します。
Oracleでは、共通脆弱性(CVE)番号を使用して、クリティカル・パッチ・アップデートやセキュリティ・アラート・アドバイザなど、オペレーティング・システムおよびその他のソフトウェアのセキュリティ脆弱性を識別します。CVE番号は、セキュリティ脆弱性に関する広く知られた情報のための一意の共通識別子です。脆弱性スキャン・サービスのユーザー・インタフェースでQualys ID (QID)を表示します。
ホスト・スキャン中に、脆弱性スキャン・サービスによって、ホスト上のOSパッケージのバージョンが、オープン・ソースCVEデータベース内のパッケージの修正済バージョンと比較されます。
OS管理サービスを使用してターゲット・ホストを更新する場合、次のシナリオで誤検出が多くなります:
- 脆弱性スキャン・サービス・レポートで、特定のCVE番号がターゲット・ホストで修正されていないことが示されます。
- OS管理サービスで、同じターゲット・ホストにインストールするためのセキュリティ更新がないことが示されます。
CVEデータベースが不正確
Oracle Cloud Infrastructure Vulnerability Scanning Serviceは、最新のOracle Linuxおよびオープン・ソース・データベースを使用して、スキャン結果を改善するために継続的に動作していますが、これらのデータベース、またはCVEを検出するためにサービスが使用する方法が不正確である可能性があります。たとえば、脆弱性スキャン・サービスでは、次の場合でもLinuxインスタンスでセキュリティの問題が報告されることがあります:
- 問題は最新のLinuxディストリビューションで最近修正されました
- 問題は最新のLinuxディストリビューションで修正されましたが、古いバージョンに最近バックポートされました
脆弱性スキャン・サービスによって検出された脆弱性が偽陽性である可能性がある場合は、CVE番号を使用して、その脆弱性がコンピュート・インスタンスですでに修正されているかどうかを検証できます。
たとえば、Oracle LinuxのCVEを検証するには:
- Unbreakable Linux Network CVE Summaryで、CVE番号を検索します。
- CVE詳細の「Errrata Information」で、コンピュート・インスタンスで実行されているOracle Linuxのバージョンのリリース日を識別します。
バージョンにリリース日がある場合、そのバージョンのCVEは修正されています。
- コンピュート・インスタンスにSSHを使用して接続します。
- パッケージ変更ログでCVE番号を検索します。
rpm -q --changelog package | grep <CVE>
Kspliceを使用してCVEが修正されている
Oracle Kspliceによって、再起動しなくても重要なセキュリティ・パッチでOracle Linuxホストを更新できます。
Kspliceを使用してCVEを修正し、ホストを再起動しなかった場合、脆弱性スキャン・サービスはそれを引き続き脆弱性としてレポートする可能性があります。CVE番号を使用して、脆弱性がすでにコンピュート・インスタンスにあるかどうかを確認できます。
Oracle Autonomous Linuxは、Oracle Linuxに基づいた自動パッチ適用型のオペレーティング・システム・イメージです。これは、Oracle Kspliceを使用して毎日自動的にパッチを適用します。Oracle Autonomous Linuxはホストを再起動せずにカーネルを更新するため、脆弱性スキャン・サービスは、修正された脆弱性も引き続きレポートする可能性があります。
カーネルまたはパッケージ・ファイルが古い
ホストのファイル・システムに古い未使用のカーネルまたはパッケージ・ファイルが存在する場合、脆弱性スキャン・サービスは、これらの古いファイルを脆弱性としてレポートすることがあります。このシナリオは、これらのファイルのバックアップ・コピーを作成した場合や、更新またはアンインストール中にファイルが適切にクリーンアップされなかった場合に発生します。
- 検出されたCVEの説明を参照して、脆弱性に関連するファイルのリストを識別します。
- ターゲット・ホストでこれらのファイルのコピーを検索し、それらを削除します。
クラウド・ガードの結果
Cloud Guardで脆弱性スキャンの問題を参照できない問題を解決しました。
Cloud Guardは、脆弱性スキャン・サービスの結果を分析し、次のタイプの問題をレポートします。
- スキャンされたコンテナ・イメージに脆弱性があります
- スキャンされたホストに脆弱性があります
- スキャンされたホストにオープン・ポートがあります
クラウド・ガードのトラブルシューティングの前に、ホスト・スキャン、ポート・スキャンまたはコンテナ・イメージ・スキャンを脆弱性スキャン・サービスで表示できることを確認してください。そうでない場合は、「脆弱性スキャン結果なし」を参照してください。
クラウド・ガードの一般的な問題の詳細は、クラウド・ガードのトラブルシューティングを参照してください。
クラウド・ガード・ターゲットにターゲット・ホストまたはコンテナが含まれていない
クラウド・ガード・ターゲットは、脆弱性スキャン・ターゲットとは別のリソースです。クラウド・ガードを使用して脆弱性スキャン・レポートで問題を検出するには、脆弱性スキャン・ターゲット・コンパートメントが、クラウド・ガード・ターゲット・コンパートメントと同じであるか、クラウド・ガード・ターゲット・コンパートメントのサブコンパートメントである必要があります。
次のシナリオを検討してください。
CompartmentA
とCompartmentB
は、兄弟関係です(1つは、もう1つのサブコンパートメントではありません)。- コンピュート・インスタンス
MyInstance
およびイメージ・リポジトリMyRepo
は、CompartmentA
にあります。 - 脆弱性スキャン・ターゲット
ScanTarget1
は、CompartmentA
に設定されています。 - クラウド・ガード・ターゲット
CGTarget1
は、CompartmentB
に設定されています。
この例では、MyInstance
およびMyRepo
で検出された脆弱性の問題はクラウド・ガードに表示されません。クラウド・ガードおよび脆弱性スキャン・サービスのターゲット設定を調査します。クラウド・ガード・ターゲットがテナンシのルート・コンパートメントに設定されている場合、変更の必要はありません。
脆弱性スキャン・ターゲットにコンパートメントが含まれるクラウド・ガード・ターゲットを作成します。ターゲットの管理を参照してください。
脆弱性スキャン・ルールが無効
OCI構成ディテクタ・レシピなどのOracle管理ディテクタ・レシピでは、すべてのディテクタ・ルールが有効になります。ただし、カスタム・ディテクタ・レシピを作成し、脆弱性スキャン・ディテクタ・ルールを有効にしなかった場合、Cloud Guardは脆弱性スキャンの問題を報告しません。
スキャン・ディテクタ・ルールを有効にします。クラウド・ガードの脆弱性スキャンのルールの使用を参照してください。
脆弱性スキャン・ルール設定によって脆弱性が除外される
クラウド・ガード・ディテクタ・レシピでは、脆弱性スキャン・ディテクタ・ルールの設定によって、クラウド・ガードで問題としてレポートされる脆弱性が制御されます。
- クラウド・ガードが問題としてレポートする許可されないポート番号
- クラウド・ガードが無視する許可されたポート番号
- クラウド・ガードが問題としてレポートする脆弱性リスク・レベル(低、中、高、クリティカル)、
次の例を検討してください
- 脆弱性スキャン・サービスのポート・スキャンでは、オープン・ポート111および123が識別されますが、クラウド・ガードの脆弱性スキャン・ディテクタ・ルールは、ポート111および123を許可するように構成されています。
- 脆弱性スキャン・サービスのホスト・スキャンでは、リスク・レベル「中」の脆弱性が識別されます。ただし、クラウド・ガード内の脆弱性スキャン・ディテクタ・ルールは、「高」または「クリティカル」の脆弱性のみをレポートするように構成されています。
構成ディテクタ・レシピで脆弱性スキャン・ディテクタ・ルールの設定を確認してください。脆弱性スキャン・ディテクタ・ルールの更新を参照してください。
Qualysエージェントのインストールに失敗しました
Qualysエージェントのインストールを妨げる問題を修正します。
IAMポリシーが欠落している
Qualysエージェントをインストールするには、コンソールを使用しているか、REST APIをSDK、CLIまたはその他のツールとともに使用しているかに関係なく、管理者によって書き込まれたポリシー(IAM)で、ユーザーとQualysエージェントに必要なタイプのアクセス権が付与されている必要があります。
- Qualysエージェントをインストールするために必要なポリシーがあることを確認します。エージェントベースの標準ポリシーおよびエージェントベースのQualysポリシーを参照してください。
- 欠落している必須ポリシーを追加します。
無効なライセンス
Qualysポータルでクラウド・エージェントのアクティブ化キーを生成したときに、脆弱性管理アプリケーションが選択されませんでした。
- Qualysポータルに移動し、「アクティブ化キー」の「脆弱性管理」アプリケーションを選択します。手順については、Qualys Cloud Platformのドキュメントを参照してください。
- Qualysエージェントをインストールします。
OCIコンソールでQualysスキャン・レポートが表示されない
OCIコンソールでQualysスキャン・レポートを表示できない問題を修正します。
Qualysスキャン・レポートがQualysポータルにのみ表示され、OCIコンソールには表示されない場合は、サポート・センターを使用してサポート・チケットを開きます。
間違ったコンパートメントの指定
コンソール内で、表示するターゲットの脆弱性スキャン結果を含むコンパートメントを必ず選択してください。
脆弱性スキャン・サービスは、コンピュート・インスタンスの結果を、インスタンスの脆弱性スキャン・ターゲットと同じコンパートメントに保存します。
次の例を考えます
- コンピュート・インスタンス
MyInstance
はCompartmentA
にあります。 MyInstance
は、Target1
に指定されています。Target1
は、CompartmentB
にあります。MyInstance
に関連するすべてのレポートは、CompartmentB
にあります。
レシピはQualysエージェント・スキャン・レシピではありません
Qualysエージェントは、Computeスキャン・レシピで指定する必要があります。
間違った形式で格納されたQualysライセンス・キー
Qualysエージェントのスキャン・レシピで使用されるライセンス・キーは、プレーン・テキストで格納する必要があります。
Qualysエージェントのインストールに失敗しました
Qualysエージェントが正しくインストールおよびプロビジョニングされていない可能性があります。
- コンピュート・インスタンスがQualysポータルに表示されていることを確認します。
- ターゲット・エラー・ページで、コンピュート・インスタンスに関連付けられたエラーがないことを確認します。
エグレス・ルールが正しく設定されていません
VCNで設定されているエグレス・ルールによって、QualysエージェントがOCI外のサーバーと通信できることを確認します。
Windowsドメイン・コントローラ・インスタンスでOracle Cloud Agentプラグインが機能しない脆弱性スキャン
Oracle Cloud Agentプラグインの脆弱性スキャンを実行できない問題を修正します。
原因
Windows Serverインスタンスをドメイン・コントローラとして使用する場合、モニタリング・サービスやOS管理サービスなどのOracle Cloud Agentに依存機能は使用できません。
処置
処置については、次のMOS記事を参照してください: Doc ID 2919839.1。