收集 CloudPassage Halo 日志

支持的平台:

此 Logstash 解析器代码会将 CloudPassage Halo JSON 日志数据转换为统一数据模型 (UDM)。它会从原始日志中提取相关字段、对时间戳进行标准化、将数据映射到 UDM 字段,并使用严重程度和用户信息等其他背景信息丰富事件。

准备工作

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

  • Google SecOps 实例。
  • 对 CloudPassage Halo 的特权访问权限。

在 CloudPassage 中配置 API 密钥

  1. 登录 CloudPassage Halo。
  2. 依次前往设置 > 网站管理
  3. 点击 API 密钥标签页。
  4. 依次点击操作 > 新建 API 密钥
  5. API 密钥标签页中,点击相应密钥的 Show(显示)以显示值。
  6. 复制密钥 ID密钥值。

设置 Feed

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

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

依次选择“SIEM 设置”>“Feed”,设置 Feed

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

  1. 依次前往 SIEM 设置 > Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称字段中,输入 Feed 的名称(例如 CloudPassage 日志)。
  5. 选择第三方 API 作为来源类型
  6. 选择 Cloud Passage 作为日志类型
  7. 点击下一步
  8. 为以下输入参数指定值:
    • 用户名:输入密钥 ID
    • Secret:输入Secret Key(密钥)。
    • 事件类型:要包含的事件类型(如果您未指定事件类型,系统将使用列表中的默认事件)。
  9. 点击下一步
  10. 最终确定界面中查看 Feed 配置,然后点击提交

通过内容中心设置 Feed

为以下字段指定值:

  • 用户名:输入密钥 ID
  • Secret:输入Secret Key(密钥)。
  • 事件类型:要包含的事件类型(如果您未指定事件类型,系统将使用列表中的默认事件)。

高级选项

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

UDM 映射表

日志字段 UDM 映射 逻辑
actor_country principal.location.country_or_region 直接从原始日志中的 actor_country 字段映射。
actor_ip_address principal.ip 直接从原始日志中的 actor_ip_address 字段映射。
actor_username principal.user.userid 直接从原始日志中的 actor_username 字段映射。
created_at metadata.event_timestamp 从原始日志中的 created_at 字段转换为 UDM 时间戳格式。
严重 security_result.severity 如果 critical 为 true,则将严重程度设置为“严重”。否则,对于事件,该值会设为“信息性”,并根据扫描的发现数量进行计算。
id metadata.product_log_id 直接从事件的原始日志中的 id 字段映射而来。
消息 security_result.description 使用 Grok 模式从 message 字段中提取的说明。
name security_result.summary 直接从事件的原始日志中的 name 字段映射而来。
policy_name security_result.detection_fields.policy_name 直接从原始日志中的 policy_name 字段映射。
rule_name security_result.rule_name 直接从原始日志中的 rule_name 字段映射。
scan.created_at metadata.event_timestamp 从扫描的原始日志中的 scan.created_at 字段转换为 UDM 时间戳格式。
scan.critical_findings_count security_result.description 用于计算扫描事件的说明。也用于确定严重程度。
scan.module security_result.summary 用于生成扫描事件的摘要。已转换为大写。
scan.non_critical_findings_count security_result.description 用于计算扫描事件的说明。也用于确定严重程度。
scan.ok_findings_count security_result.description 用于计算扫描事件的说明。
scan.server_hostname target.hostname 直接从扫描的原始日志中的 scan.server_hostname 字段映射而来。
scan.status security_result.summary 用于生成扫描事件的摘要。
scan.url metadata.url_back_to_product 直接从扫描的原始日志中的 scan.url 字段映射而来。
server_group_name target.group.attribute.labels.server_group_name 直接从原始日志中的 server_group_name 字段映射。
server_group_path target.group.product_object_id 直接从原始日志中的 server_group_path 字段映射。
server_hostname target.hostname 直接从事件的原始日志中的 server_hostname 字段映射而来。
server_ip_address target.ip 直接从原始日志中的 server_ip_address 字段映射。
server_platform target.platform 直接从原始日志中的 server_platform 字段映射而来。已转换为大写。
server_primary_ip_address target.ip 直接从原始日志中的 server_primary_ip_address 字段映射。
server_reported_fqdn network.dns.authority.name 直接从原始日志中的 server_reported_fqdn 字段映射。
target_username target.user.userid 直接从原始日志中的 target_username 字段映射。
metadata.event_type 对于事件,请将其设置为“SCAN_UNCATEGORIZED”;对于扫描,请将其设置为“SCAN_HOST”。
metadata.log_type 设置为“CLOUD_PASSAGE”。
metadata.product_name 设置为“HALO”。
metadata.vendor_name 设置为“CLOUDPASSAGE”。
principal.hostname target.hostname 复制。
security_result.action 设置为“UNKNOWN_ACTION”。
security_result.category 设置为“POLICY_VIOLATION”。
is_alert 如果 security_result.severity 为“CRITICAL”,则设置为 true。
is_significant 如果 security_result.severity 为“CRITICAL”,则设置为 true。

变化

2022-06-30

  • 改进
  • 将“policy_name”映射到“security_result.detection_fields”。
  • 将“server_group_name”映射到“target.group.attribute.labels”。
  • 将“server_group_path”映射到“target.group.product_object_id”。
  • 添加了 Grok 模式以获取“description”。

需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。