收集 Qualys 扫描日志

支持的语言:

此解析器从 Qualys 扫描 JSON 日志中提取字段,对时间戳进行归一化处理,并将其映射到 UDM。它可处理各种 Qualys 事件类型,包括常规事件和用户登录,并使用相关的安全信息和元数据填充 UDM 字段。

准备工作

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

  • 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 name 字段中,输入 Feed 的名称,例如 Qualys Scan Logs
  5. 选择第三方 API 作为来源类型
  6. 选择 Qualys 扫描作为日志类型。
  7. 点击下一步
  8. 为以下输入参数指定值:
    • 用户名:输入专用用户的用户名。
    • 密钥:输入专用用户的密码。
    • API 完整路径:提供纯 Qualys API 服务器网址(例如 qualysapi.qg2.apps.qualys.eu)。
    • API 类型:选择要注入的扫描类型。
  9. 点击下一步
  10. 最终确定界面中检查 Feed 配置,然后点击提交

设置来自内容中心的 Feed

为以下字段指定值:

  • 用户名:输入专用用户的用户名。
  • 密钥:输入专用用户的密码。
  • API 完整路径:提供纯 Qualys API 服务器网址(例如 qualysapi.qg2.apps.qualys.eu)。
  • API 类型:选择要注入的扫描类型。

高级选项

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

UDM 映射表

日志字段 UDM 映射 逻辑
Category security_result.category_details 直接从 Category 字段映射。
ID metadata.product_log_id 直接从 ID 字段映射。已转换为字符串。
LaunchDatetime metadata.event_timestamp 如果不存在 ScanInput.ScanDatetimeUpdateDate,则用作事件时间戳。以“ISO8601”格式解析。
Ref additional.fields[1].key
additional.fields[1].value.string_value
如果不存在 ScanReference,则映射到键为“ScanReference”的 additional.fields
ScanDetails.Status security_result.detection_fields[0].key
security_result.detection_fields[0].value
映射到 security_result.detection_fields,键为“扫描详细信息状态”。
ScanInput.Network.ID additional.fields[0].key
additional.fields[0].value.string_value
已映射到 additional.fields,密钥为“ScanInput Network ID”。
ScanInput.Network.Name additional.fields[1].key
additional.fields[1].value.string_value
已映射到 additional.fields,键为“ScanInput Network Name”。
ScanInput.OptionProfile.ID additional.fields[2].key
additional.fields[2].value.string_value
映射到 additional.fields,键为“ScanInput Option Profile ID”。
ScanInput.OptionProfile.Name additional.fields[3].key
additional.fields[3].value.string_value
已映射到 additional.fields,键为“ScanInput Option Profile Name”。
ScanInput.ScanDatetime metadata.event_timestamp 如果存在,则用作事件时间戳。以“ISO8601”格式解析。
ScanInput.Title metadata.description 直接从 ScanInput.Title 字段映射。
ScanInput.Username principal.user.userid 直接从 ScanInput.Username 字段映射。
ScanReference additional.fields[4].key
additional.fields[4].value.string_value
已映射到 additional.fields,键为“ScanReference”。
Statement metadata.description 如果不存在 ScanInput.TitleTitle,则直接从 Statement 字段映射。
Status security_result.detection_fields[0].key
security_result.detection_fields[0].value
映射到 security_result.detection_fields,键为“状态”。
SubCategory security_result.description 直接从 SubCategory 字段映射。
Technologies[].ID security_result.detection_fields[0].value 直接从 Technologies[].ID 字段映射。已转换为字符串。重复 security_result 对象的一部分。
Technologies[].Name security_result.detection_fields[1].value 直接从 Technologies[].Name 字段映射。重复 security_result 对象的一部分。
Technologies[].Rationale security_result.detection_fields[2].value 直接从 Technologies[].Rationale 字段映射。重复 security_result 对象的一部分。
Title metadata.description 如果不存在 ScanInput.TitleStatement,则直接从 Title 字段映射。
Type additional.fields[2].key
additional.fields[2].value.string_value
已映射到 additional.fields,键为“Type”。
UpdateDate metadata.event_timestamp 如果不存在 ScanInput.ScanDatetime,则用作事件时间戳。以“ISO8601”格式解析。
Userlogin target.user.userid 直接从 Userlogin 字段映射。如果存在 Userlogin,则设置为“AUTHTYPE_UNSPECIFIED”。设置为“GENERIC_EVENT”。如果存在 Userlogin,则更改为“USER_LOGIN”。如果 metadata_event_type 为“GENERIC_EVENT”且存在 ScanInput.Username,则更改为“USER_UNCATEGORIZED”。设置为“QUALYS_SCAN”。设置为“QUALYS_SCAN”。针对每种技术设置为“ID”。重复 security_result 对象的一部分。为每项技术设置“名称”。重复 security_result 对象的一部分。针对每项技术设置为“Rationale”。重复 security_result 对象的一部分。

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