Qualys Vulnerability Management のログを収集する

以下でサポートされています。

このパーサーは、Key-Value(KV)形式または JSON 形式の Qualys Vulnerability Management ログを処理します。脆弱性の詳細、ホスト情報、スキャン メタデータを抽出し、UDM にマッピングします。パーサーは、さまざまなログ構造も処理します。KV 解析を優先し、必要に応じて JSON にフォールバックし、DetectionList 配列を個々の脆弱性イベントに分割します。

始める前に

次の前提条件を満たしていることを確認します。

  • Google Security Operations インスタンス。
  • Qualys VMDR コンソールへの特権アクセス。

省略可: Qualys で専用の API ユーザーを作成する

  1. Qualys コンソールにログインします。
  2. [ユーザー] にアクセスします。
  3. [New] > [User] をクリックします。
  4. ユーザーに必要な [General Information] を入力します。
  5. [User Role] タブを選択します。
  6. ロールの [API Access] チェックボックスがオンになっていることを確認します。
  7. [Save] をクリックします。

特定の Qualys API URL を識別する

オプション 1

プラットフォームの特定の記事に記載されている方法で URL を特定します。

オプション 2

  1. Qualys コンソールにログインします。
  2. [Help] > [About] に移動します。
  3. スクロールして、[Security Operations Center (SOC)] でこの情報を確認します。
  4. Qualys API URL をコピーします。

フィードを設定する

Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。

  • [SIEM 設定] > [フィード]
  • [Content Hub] > [Content Packs]

[SIEM 設定] > [フィード] でフィードを設定する

フィードを構成する手順は次のとおりです。

  1. [SIEM Settings] > [Feeds] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで [単一のフィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Qualys VM Logs)。
  5. [ソースタイプ] として [サードパーティ API] を選択します。
  6. ログタイプとして [Qualys VM] を選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。
    • ユーザー名: ユーザー名を入力します。
    • シークレット: パスワードを入力します。
    • API のフルパス: Qualys API サーバー URL(https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list など)を指定します。ここで、<qualys_base_url> は、アカウントが配置されている Qualys API サーバーへのベース URL です。
  9. [次へ] をクリックします。
  10. [Finalize] 画面でフィードの設定を確認し、[Submit] をクリックします。

コンテンツ ハブからフィードを設定する

次のフィールドに値を指定します。

  • ユーザー名: ユーザー名を入力します。
  • シークレット: パスワードを入力します。
  • API のフルパス: Qualys API サーバー URL(https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list など)を指定します。ここで、<qualys_base_url> は、アカウントが配置されている Qualys API サーバーへのベース URL です。

詳細オプション

  • フィード名: フィードを識別する事前入力された値。
  • ソースタイプ: Google SecOps にログを収集するために使用される方法。
  • アセットの名前空間: フィードに関連付けられた名前空間。
  • Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。

UDM マッピング テーブル

ログフィールド UDM マッピング 論理
DETECTION.FIRST_FOUND_DATETIME extensions.vulns.vulnerabilities.first_found DETECTION.FIRST_FOUND_DATETIME フィールドから解析され、文字列値をタイムスタンプに変換します。
DETECTION.LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found DETECTION.LAST_FOUND_DATETIME フィールドから解析され、文字列値をタイムスタンプに変換します。
DETECTION.QID extensions.vulns.vulnerabilities.name 「QID: 」と DETECTION.QID の値を連結します。
DETECTION.RESULTS extensions.vulns.vulnerabilities.description description フィールドに直接マッピングされます。grok を使用して network.ip_protocolprincipal.port を抽出するためにも使用されます。
DETECTION.SEVERITY extensions.vulns.vulnerabilities.severity DETECTION.SEVERITY からマッピングされます。値 0、1、2 は「LOW」、3、4 は「MEDIUM」、5、6、7 は「HIGH」になります。
DETECTION.STATUS extensions.vulns.vulnerabilities.about.labels キー「Detection status」のラベルとして追加されます。
DETECTION.TYPE extensions.vulns.vulnerabilities.about.labels キー「Detection type」のラベルとして追加されます。
DNS principal.hostname principal.hostname に直接マッピングされます。
DNSData.DOMAIN principal.domain.name principal.domain.name に直接マッピングされます。
HOST.ASSET_ID principal.asset_id 「QUALYS:」と HOST.ASSET_ID の値を連結します。
HOST.DNS principal.hostname DNS が空の場合、principal.hostname に直接マッピングされます。
HOST.DNS_DATA.DOMAIN principal.domain.name DNSData.DOMAIN が空の場合、principal.domain.name に直接マッピングされます。
HOST.ID metadata.product_log_id metadata.product_log_id に直接マッピングされます。
HOST.IP principal.ip IP が空の場合、principal.ip に直接マッピングされます。
HOST.LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time HOST.LAST_SCAN_DATETIME フィールドから解析され、文字列値をタイムスタンプに変換します。
HOST.LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time HOST.LAST_VM_SCANNED_DATE フィールドから解析され、文字列値をタイムスタンプに変換します。
HOST.NETBIOS additional.fields キー「HOST NETBIOS」のラベルとして追加されます。
HOST.OS principal.platform_version OS が空の場合、principal.platform_version に直接マッピングされます。
HOST.QG_HOSTID additional.fields キー「HOST QG_HOSTID」のラベルとして追加されます。
HOST.TRACKING_METHOD additional.fields キー「HOST TRACKING_METHOD」のラベルとして追加されます。
HOST_ID principal.asset_id 「QUALYS:」と HOST_ID の値を連結します。
ID metadata.product_log_id metadata.product_log_id に直接マッピングされます。
IP principal.ip principal.ip に直接マッピングされます。
LastScanDateTime extensions.vulns.vulnerabilities.scan_start_time LastScanDateTime フィールドから解析され、文字列値をタイムスタンプに変換します。
LastVMAuthScanDuration additional.fields キー「LastVMAuthScanDuration」のラベルとして追加されます。
LastVMScanDate extensions.vulns.vulnerabilities.scan_end_time LastVMScanDate フィールドから解析され、文字列値をタイムスタンプに変換します。
LastVMScanDuration additional.fields キー「LastVMScanDuration」のラベルとして追加されます。
LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found LAST_FOUND_DATETIME フィールドから解析され、文字列値をタイムスタンプに変換します。
LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time LAST_SCAN_DATETIME フィールドから解析され、文字列値をタイムスタンプに変換します。
LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time LAST_VM_SCANNED_DATE フィールドから解析され、文字列値をタイムスタンプに変換します。
NETBIOS additional.fields キー「NETBIOS」のラベルとして追加されます。
NetworkID additional.fields キー「NetworkID」のラベルとして追加されます。
NETWORK_ID additional.fields キー「NetworkID」のラベルとして追加されます。
OS principal.platform_version principal.platform_version に直接マッピングされます。
Os principal.platform_version OS が空の場合、principal.platform_version に直接マッピングされます。
QID extensions.vulns.vulnerabilities.name 「QID: 」と QID の値を連結します。
QgHostID principal.asset_id principal.asset_id を「Host ID:%{QgHostID}」に設定します。
SEVERITY extensions.vulns.vulnerabilities.severity SEVERITY からマッピングされます。値 0、1、2 は「LOW」、3、4 は「MEDIUM」、5、6、7 は「HIGH」になります。
TRACKING_METHOD additional.fields キー「TRACKING_METHOD」のラベルとして追加されます。
TrackingMethod additional.fields キー「TRACKING_METHOD」のラベルとして追加されます。
該当なし metadata.vendor_name 「Qualys」にハードコードされています。
該当なし metadata.product_name 「Vulnerability Management」にハードコードされています。
該当なし metadata.event_type _vulns が空でない場合は「SCAN_VULN_HOST」に設定します。prin_host または IP のいずれかが空でない場合は「STATUS_UPDATE」に設定します。それ以外の場合は「GENERIC_EVENT」に設定します。
該当なし metadata.log_type 未加工ログの log_type フィールドから取得されます。
該当なし principal.platform OSOsHOST.OS から決定されます。これらのいずれかに「Linux」が含まれている場合、プラットフォームは「LINUX」に設定されます。いずれかに「Windows」が含まれている場合、プラットフォームは「WINDOWS」に設定されます。いずれかに「mac」または「IOS」が含まれている場合、プラットフォームは「MAC」に設定されます。
detection.DType extensions.vulns.vulnerabilities.about.resource.attribute.labels DetectionList フィールドから解析されたイベントの脆弱性配列内に、キー「Detection Type」を持つラベルとして追加されます。
detection.FirstFoundTime extensions.vulns.vulnerabilities.first_found detection.FirstFoundTime フィールドから解析され、DetectionList フィールドから解析されたイベントの脆弱性配列内で文字列値をタイムスタンプに変換します。
detection.LastFoundTime extensions.vulns.vulnerabilities.last_found detection.LastFoundTime フィールドから解析され、DetectionList フィールドから解析されたイベントの脆弱性配列内で文字列値をタイムスタンプに変換します。
detection.LastProcessedDatetime extensions.vulns.vulnerabilities.about.resource.attribute.labels DetectionList フィールドから解析されたイベントの脆弱性配列内に、キー「LastProcessedDatetime」を持つラベルとして追加されます。
detection.LastTestDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels DetectionList フィールドから解析されたイベントの脆弱性配列内に、キー「LastTestDateTime」を持つラベルとして追加されます。
detection.LastUpdateDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels DetectionList フィールドから解析されたイベントの脆弱性配列内に、キー「LastUpdateDateTime」を持つラベルとして追加されます。
detection.Qid extensions.vulns.vulnerabilities.name DetectionList フィールドから解析されたイベントの脆弱性配列内で、「QID: 」と detection.Qid の値を連結します。
detection.Results extensions.vulns.vulnerabilities.description DetectionList フィールドから解析されたイベントの脆弱性配列内の説明フィールドに直接マッピングされます。タブと改行はスペースに置き換えられます。
detection.Severity extensions.vulns.vulnerabilities.severity detection.Severity からマッピングされます。DetectionList フィールドから解析されたイベントの脆弱性配列内で、値 0、1、2 は「LOW」、3、4 は「MEDIUM」、5、6、7 は「HIGH」になります。
detection.Status extensions.vulns.vulnerabilities.about.resource.attribute.labels DetectionList フィールドから解析されたイベントの脆弱性配列内に、キー「Detection status」を持つラベルとして追加されます。
detection.TimesFound extensions.vulns.vulnerabilities.about.resource.attribute.labels DetectionList フィールドから解析されたイベントの脆弱性配列内に、キー「TimesFound」を持つラベルとして追加されます。
timestamp metadata.event_timestamptimestamp 未加工ログの timestamp フィールドは、イベント タイムスタンプと最上位のタイムスタンプの両方に使用されます。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。