收集 Qualys 漏洞管理日志

支持的语言:

此解析器可处理键值 (KV) 或 JSON 格式的 Qualys 漏洞管理日志。它会提取漏洞详情、主机信息和扫描元数据,并将它们映射到 UDM。解析器还会处理不同的日志结构,优先进行 KV 解析,并在必要时回退到 JSON,并将 DetectionList 数组拆分为各个漏洞事件。

准备工作

确保您满足以下前提条件:

  • Google Security Operations 实例。
  • 对 Qualys VMDR 控制台的特权访问权限。

可选:在 Qualys 中创建专用 API 用户

  1. 登录 Qualys 控制台。
  2. 转到用户
  3. 依次点击新建 > 用户
  4. 输入用户所需的一般信息
  5. 选择用户角色标签页。
  6. 确保该角色已选中 API 访问权限复选框。
  7. 点击保存

确定您的具体 Qualys API 网址

选项 1

按照平台标识中所述,确定您的网址。

选项 2

  1. 登录 Qualys 控制台。
  2. 依次前往帮助 > 关于
  3. 滚动页面,在“安全运维中心 (SOC)”下查看此信息。
  4. 复制 Qualys API 网址。

设置 Feed

您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:

  • SIEM 设置 > Feed
  • 内容中心 > 内容包

通过“SIEM 设置”>“Feed”设置 Feed

如需配置 Feed,请按以下步骤操作:

  1. 依次前往 SIEM 设置 > Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称字段中,输入 Feed 的名称,例如 Qualys VM 日志
  5. 选择第三方 API 作为来源类型
  6. 选择 Qualys VM 作为日志类型。
  7. 点击下一步
  8. 为以下输入参数指定值:
    • 用户名:输入用户名。
    • 密钥:输入密码。
    • API 完整路径:提供 Qualys API 服务器网址(例如 https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list),其中 <qualys_base_url> 是您的账号所在的 Qualys API 服务器的基本网址。
  9. 点击下一步
  10. 最终确定界面中检查 Feed 配置,然后点击提交

设置来自内容中心的 Feed

为以下字段指定值:

  • 用户名:输入用户名。
  • 密钥:输入密码。
  • API 完整路径:提供 Qualys API 服务器网址(例如 https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list),其中 <qualys_base_url> 是您的账号所在的 Qualys API 服务器的基本网址。

高级选项

  • Feed 名称:用于标识 Feed 的预填充值。
  • 来源类型:用于将日志收集到 Google SecOps 中的方法。
  • 资源命名空间:与 Feed 关联的命名空间。
  • 提取标签:应用于相应 Feed 中所有事件的标签。

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_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.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_hostIP 不为空,则设置为“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.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_timestamptimestamp 原始日志的 timestamp 字段同时用于事件时间戳和顶级时间戳。

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。