收集 Qualys 安全漏洞管理記錄
支援的國家/地區:
Google SecOps
SIEM
這個剖析器會處理鍵/值 (KV) 或 JSON 格式的 Qualys Vulnerability Management 記錄。並擷取安全漏洞詳細資料、主機資訊和掃描中繼資料,然後對應至 UDM。剖析器也會處理不同的記錄結構,優先剖析 KV,並視需要改用 JSON,然後將 DetectionList
陣列分割為個別的安全性弱點事件。
事前準備
請確認您已完成下列事前準備事項:
- Google Security Operations 執行個體。
- 具備 Qualys VMDR 控制台的特殊存取權。
選用:在 Qualys 中建立專屬的 API 使用者
- 登入 Qualys 控制台。
- 前往使用者。
- 依序點選「新增」>「使用者」。
- 輸入使用者的一般資訊。
- 選取「使用者角色」分頁標籤。
- 確認角色已勾選「API 存取權」核取方塊。
- 按一下 [儲存]。
找出特定 Qualys API 網址
選項 1
如「平台識別」一節所述,找出網址。
選項 2
- 登入 Qualys 控制台。
- 依序點選「說明」>「關於」。
- 捲動畫面,即可在「資安營運中心 (SOC)」下方查看這項資訊。
- 複製 Qualys API 網址。
設定動態饋給
在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:
- 「SIEM 設定」>「動態消息」
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態饋給」,設定動態饋給
如要設定動態消息,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態消息」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中,輸入動態饋給的名稱,例如「Qualys VM Logs」。
- 選取「第三方 API」做為「來源類型」。
- 選取「Qualys VM」做為記錄類型。
- 點選「下一步」。
- 指定下列輸入參數的值:
- 使用者名稱:輸入使用者名稱。
- 密碼:輸入密碼。
- API 完整路徑:提供 Qualys API 伺服器網址 (例如
https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list
),其中<qualys_base_url>
是您帳戶所在 Qualys API 伺服器的基準網址。
- 點選「下一步」。
- 在「Finalize」畫面中檢查動態饋給設定,然後按一下「Submit」。
從內容中心設定動態饋給
為下列欄位指定值:
- 使用者名稱:輸入使用者名稱。
- 密碼:輸入密碼。
- API 完整路徑:提供 Qualys API 伺服器網址 (例如
https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list
),其中<qualys_base_url>
是您帳戶所在 Qualys API 伺服器的基準網址。
進階選項
- 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
- 來源類型:將記錄收集到 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
- 擷取標籤:套用至這個動態饋給所有事件的標籤。
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 |
直接對應至說明欄位。也用於使用 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.TYPE |
extensions.vulns.vulnerabilities.about.labels |
以「偵測類型」鍵新增為標籤。 |
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 |
硬式編碼為「安全漏洞管理」。 |
不適用 | 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.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 |
將「QID: 」與從 DetectionList 欄位剖析的事件,在漏洞陣列中的 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.TimesFound |
extensions.vulns.vulnerabilities.about.resource.attribute.labels |
在從 DetectionList 欄位剖析的事件中,以「TimesFound」鍵新增為標籤。 |
timestamp |
metadata.event_timestamp 、timestamp |
原始記錄的 timestamp 欄位會用於事件時間戳記和頂層時間戳記。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。