收集 Sysdig 日志

支持范围:

此解析器会从 Sysdig JSON 日志中提取安全性事件数据,并将原始日志字段转换并映射为 Google Security Operations UDM 格式。它会处理各种字段,包括元数据、主账号或目标信息、安全结果详细信息以及与 Kubernetes 相关的上下文,从而丰富数据,以便在 Google SecOps 中进行分析。解析器还会根据字段值执行数据类型转换、错误处理和条件逻辑,以确保 UDM 表示准确且全面。

准备工作

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

  • Google SecOps 实例。
  • 对 Sysdig Secure 的特权访问权限。

为 webhook Feed 创建 API 密钥

  1. 前往 Google Cloud 控制台 > 凭证。

    转到“凭据”页面

  2. 点击创建凭据,然后选择 API 密钥。

  3. 将 API 密钥访问权限限制为 Google Security Operations API。

选项 1

设置 Feed

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

  1. 依次前往设置 > 数据管理 > Feed。如果您使用的是仅 SIEM 平台,请依次前往设置 > Feed。
  2. 点击添加新新闻信息流。
  3. 在下一页上,点击配置单个 Feed。
  4. 在 Feed 名称字段中,输入 Feed 的名称,例如 Sysdig Logs。
  5. 选择 Webhook 作为来源类型。
  6. 选择 Sysdig 作为日志类型。
  7. 点击下一步。
  8. 可选:为以下输入参数指定值:

    • 拆分定界符:用于分隔日志行的定界符,例如 \n。
  9. 点击下一步。

  10. 在最终确定界面中查看 Feed 配置,然后点击提交。

  11. 点击生成密钥,生成用于对此 Feed 进行身份验证的密钥。

  12. 复制并存储密钥。您无法再次查看此密钥。如有需要,您可以重新生成新的密钥,但此操作会使之前的密钥失效。

  13. 在详细信息标签页中,从端点信息字段复制 Feed 端点网址。您需要在客户端应用中指定此端点网址。

  14. 点击完成。

指定端点网址

  1. 在客户端应用中,指定 Webhook Feed 中提供的 HTTPS 端点网址。
  2. 通过在自定义标头中以以下格式指定 API 密钥和密钥,启用身份验证:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    建议:将 API 密钥指定为标头,而不是在网址中指定。

  3. 如果您的 webhook 客户端不支持自定义标头,您可以使用以下格式的查询参数指定 API 密钥和密钥:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    替换以下内容:

    • ENDPOINT_URL:Feed 端点网址。
    • API_KEY:用于向 Google SecOps 进行身份验证的 API 密钥。
    • SECRET:您为验证 Feed 而生成的密钥。

在 Sysdig 中配置 Webhook

  1. 使用管理员权限登录 Sysdig Secure。
  2. 依次前往个人资料 > 设置 > 事件转发。
  3. 点击 +Add Integration(+添加集成),然后从下拉菜单中选择 Webhook。
  4. 为以下输入参数指定值:

    • Integration Name(集成名称):为 Webhook 提供一个描述性名称(例如 Google SecOps Webhook)。
    • 端点:输入 Webhook <ENDPOINT_URL>,后跟 <API_KEY 和 <SECRET>。
    • 要发送的数据:从下拉列表中选择应转发的 Sysdig 数据类型。

    • 测试集成,然后切换已启用以将其激活。

    • 点击保存。

选项 2

直接将数据转发到 Google SecOps

  1. 使用管理员凭证登录 Sysdig Secure。
  2. 前往设置 > 事件转发。
  3. 点击 +Add Integration(+添加集成),然后从下拉菜单中选择 Google Chronicle。
  4. 为以下输入参数指定值:
    • 集成名称:为集成提供一个描述性名称(例如 Google SecOps 集成)。
    • 客户 ID:与您的 Google Cloud 账号关联的 Google 客户 ID。(在 Google SecOps 中,依次前往设置 > 管理 > 个人资料,即可找到此信息)。
    • 命名空间:可选:用作标记,以标识用于索引编制和扩充的适当数据网域。
    • JSON 凭证:上传您的 Google SecOps JSON 凭证。
    • 区域:选择您所在的区域,例如美国、欧洲或亚洲。
    • 要发送的数据:从下拉列表中选择应转发的 Sysdig 数据类型。
    • 测试集成,然后切换已启用以将其激活。
    • 点击保存。

UDM 映射表

日志字段 UDM 映射 逻辑
agentId read_only_udm.metadata.product_deployment_id 原始日志中 agentId 的值会直接映射到此 UDM 字段。
category read_only_udm.security_result.category_details 原始日志中 category 的值会直接映射到此 UDM 字段。
content.fields.container.id read_only_udm.target.asset.asset_id 原始日志中的 content.fields.container.id 值会加上前缀“container_id:”,并映射到此 UDM 字段。在 containerId 为空时使用。
content.fields.container.image.repository read_only_udm.target.file.full_path 原始日志中 content.fields.container.image.repository 的值会直接映射到此 UDM 字段。
content.fields.container.image.tag read_only_udm.metadata.ingestion_labels.value(键为 tag) 原始日志中 content.fields.container.image.tag 的值会直接映射到此 UDM 字段。
content.fields.evt.res read_only_udm.metadata.ingestion_labels.value(键为 evt_res) 原始日志中 content.fields.evt.res 的值会直接映射到此 UDM 字段。
content.fields.evt.type read_only_udm.metadata.event_type 原始日志中 content.fields.evt.type 的值会直接映射到此 UDM 字段。
content.fields.falco.rule read_only_udm.security_result.rule_name 原始日志中的 content.fields.falco.rule 值直接映射到此 UDM 字段。在 content.ruleName 为空时使用。
content.fields.group.gid read_only_udm.target.group.product_object_id 原始日志中 content.fields.group.gid 的值会直接映射到此 UDM 字段。
content.fields.group.name read_only_udm.target.group.group_display_name 原始日志中 content.fields.group.name 的值会直接映射到此 UDM 字段。
content.fields.proc.cmdline read_only_udm.target.process.command_line 原始日志中 content.fields.proc.cmdline 的值会直接映射到此 UDM 字段。
content.fields.proc.pcmdline read_only_udm.target.process.parent_process.command_line 原始日志中 content.fields.proc.pcmdline 的值会直接映射到此 UDM 字段。
content.fields.proc.pid read_only_udm.target.process.pid 原始日志中 content.fields.proc.pid 的值会直接映射到此 UDM 字段。
content.fields.proc.ppid read_only_udm.target.process.parent_process.pid 原始日志中 content.fields.proc.ppid 的值会直接映射到此 UDM 字段。
content.fields.proc.sid read_only_udm.metadata.ingestion_labels.value(键为 sid) 原始日志中 content.fields.proc.sid 的值会直接映射到此 UDM 字段。
content.fields.user.loginname read_only_udm.principal.user.user_display_name 原始日志中 content.fields.user.loginname 的值会直接映射到此 UDM 字段。
content.fields.user.uid read_only_udm.principal.user.userid 原始日志中 content.fields.user.uid 的值会直接映射到此 UDM 字段。
content.output read_only_udm.additional.fields.value.string_value(键为 content_output) 原始日志中的 content.output 值会直接映射到此 UDM 字段。
content.policyId read_only_udm.security_result.rule_id 原始日志中 content.policyId 的值会直接映射到此 UDM 字段。
content.policyOrigin read_only_udm.additional.fields.value.string_value(键为 content_policyOrigin) 原始日志中 content.policyOrigin 的值会直接映射到此 UDM 字段。
content.policyVersion read_only_udm.additional.fields.value.string_value(键为 content_policyVersion) 原始日志中 content.policyVersion 的值会直接映射到此 UDM 字段。
content.ruleName read_only_udm.security_result.rule_name 原始日志中 content.ruleName 的值会直接映射到此 UDM 字段。
content.ruleTags read_only_udm.security_result.rule_labels 原始日志中 content.ruleTags 数组的值会映射到此 UDM 字段,并动态生成键“ruletag_index”。
content.ruleType read_only_udm.additional.fields.value.string_value(键为 content_ruleType) 原始日志中 content.ruleType 的值会直接映射到此 UDM 字段。
containerId read_only_udm.target.asset.asset_id 原始日志中的 containerId 值会以“container_id:”作为前缀,并映射到此 UDM 字段。
description read_only_udm.metadata.description 原始日志中 description 的值会直接映射到此 UDM 字段。
id read_only_udm.metadata.product_log_id 原始日志中的 id 值会直接映射到此 UDM 字段。
labels.container.label.io.kubernetes.container.name read_only_udm.additional.fields.value.string_value(键为 container_name) 原始日志中的 labels.container.label.io.kubernetes.container.name 值会直接映射到此 UDM 字段。
labels.container.label.io.kubernetes.pod.name read_only_udm.additional.fields.value.string_value(键为 pod_name) 原始日志中的 labels.container.label.io.kubernetes.pod.name 值直接映射到此 UDM 字段。在 labels.kubernetes.pod.name 为空时使用。
labels.container.label.io.kubernetes.pod.namespace read_only_udm.principal.namespace 原始日志中的 labels.container.label.io.kubernetes.pod.namespace 值直接映射到此 UDM 字段。在 labels.kubernetes.namespace.name 为空时使用。
labels.aws.instanceId read_only_udm.target.resource.product_object_id 原始日志中 labels.aws.instanceId 的值会直接映射到此 UDM 字段。
labels.aws.region read_only_udm.target.resource.attribute.cloud.availability_zone 原始日志中 labels.aws.region 的值会直接映射到此 UDM 字段。
labels.host.hostName read_only_udm.principal.ip 或 read_only_udm.principal.hostname 如果值包含“ip”,则会解析为 IP 地址并映射到 principal.ip。否则,它会映射到 principal.hostname。
labels.host.mac read_only_udm.principal.mac 原始日志中的 labels.host.mac 值直接映射到此 UDM 字段。在 machineId 为空时使用。
labels.kubernetes.cluster.name read_only_udm.additional.fields.value.string_value(键为 kubernetes_cluster_name) 原始日志中 labels.kubernetes.cluster.name 的值会直接映射到此 UDM 字段。
labels.kubernetes.deployment.name read_only_udm.additional.fields.value.string_value(键为 kubernetes_deployment_name) 原始日志中 labels.kubernetes.deployment.name 的值会直接映射到此 UDM 字段。
labels.kubernetes.namespace.name read_only_udm.principal.namespace 原始日志中 labels.kubernetes.namespace.name 的值会直接映射到此 UDM 字段。
labels.kubernetes.node.name read_only_udm.additional.fields.value.string_value(键为 kubernetes_node_name) 原始日志中 labels.kubernetes.node.name 的值会直接映射到此 UDM 字段。
labels.kubernetes.pod.name read_only_udm.additional.fields.value.string_value(键为 pod_name) 原始日志中 labels.kubernetes.pod.name 的值会直接映射到此 UDM 字段。
labels.kubernetes.service.name read_only_udm.additional.fields.value.string_value(键为 kubernetes_service_name) 原始日志中的 labels.kubernetes.service.name 值会直接映射到此 UDM 字段。
machineId read_only_udm.principal.mac 原始日志中 machineId 的值会直接映射到此 UDM 字段。
name read_only_udm.security_result.summary 原始日志中 name 的值会直接映射到此 UDM 字段。
severity read_only_udm.security_result.severity 原始日志中的 severity 值会根据以下范围映射到字符串值:<4 = HIGH、>3 且 <6 = MEDIUM、6 = LOW、7 = INFORMATIONAL。
source read_only_udm.security_result.description 原始日志中 source 的值会直接映射到此 UDM 字段。
timestampRFC3339Nano read_only_udm.metadata.event_timestamp 原始日志中的 timestampRFC3339Nano 值会被解析为时间戳,并映射到此 UDM 字段。
type read_only_udm.metadata.product_event_type 原始日志中 type 的值会直接映射到此 UDM 字段。
(解析器逻辑) read_only_udm.metadata.product_name 硬编码为“SYSDIG”。
(解析器逻辑) read_only_udm.metadata.vendor_name 硬编码为“SYSDIG”。
(解析器逻辑) read_only_udm.metadata.event_type 默认设置为“PROCESS_UNCATEGORIZED”,如果 labels.host.hostName 为空,则设置为“GENERIC_EVENT”。
(解析器逻辑) read_only_udm.metadata.log_type 硬编码为“SYSDIG”。
(解析器逻辑) read_only_udm.target.resource.resource_type 如果 labels.aws.instanceId 存在,则设置为“CLOUD_PROJECT”。

更新日志

查看此解析器的更新日志

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