Qualys Vulnerability Management のログを収集する
以下でサポートされています。
Google SecOps
SIEM
このパーサーは、Key-Value(KV)形式または JSON 形式の Qualys Vulnerability Management ログを処理します。脆弱性の詳細、ホスト情報、スキャン メタデータを抽出し、UDM にマッピングします。パーサーは、さまざまなログ構造も処理します。KV 解析を優先し、必要に応じて JSON にフォールバックし、DetectionList
配列を個々の脆弱性イベントに分割します。
始める前に
次の前提条件を満たしていることを確認します。
- Google Security Operations インスタンス。
- Qualys VMDR コンソールへの特権アクセス。
省略可: Qualys で専用の API ユーザーを作成する
- Qualys コンソールにログインします。
- [ユーザー] にアクセスします。
- [New] > [User] をクリックします。
- ユーザーに必要な [General Information] を入力します。
- [User Role] タブを選択します。
- ロールの [API Access] チェックボックスがオンになっていることを確認します。
- [Save] をクリックします。
特定の Qualys API URL を識別する
オプション 1
プラットフォームの特定の記事に記載されている方法で URL を特定します。
オプション 2
- Qualys コンソールにログインします。
- [Help] > [About] に移動します。
- スクロールして、[Security Operations Center (SOC)] でこの情報を確認します。
- Qualys API URL をコピーします。
フィードを設定する
Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。
- [SIEM 設定] > [フィード]
- [Content Hub] > [Content Packs]
[SIEM 設定] > [フィード] でフィードを設定する
フィードを構成する手順は次のとおりです。
- [SIEM Settings] > [Feeds] に移動します。
- [Add New Feed] をクリックします。
- 次のページで [単一のフィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: Qualys VM Logs)。
- [ソースタイプ] として [サードパーティ API] を選択します。
- ログタイプとして [Qualys VM] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。
- ユーザー名: ユーザー名を入力します。
- シークレット: パスワードを入力します。
- API のフルパス: Qualys API サーバー URL(
https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list
など)を指定します。ここで、<qualys_base_url>
は、アカウントが配置されている Qualys API サーバーへのベース URL です。
- [次へ] をクリックします。
- [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_protocol と principal.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 |
OS 、Os 、HOST.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_timestamp 、timestamp |
未加工ログの timestamp フィールドは、イベント タイムスタンプと最上位のタイムスタンプの両方に使用されます。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。