收集 Cohesity 日志

支持的平台:

概览

此解析器使用 grok 模式从 Cohesity 备份软件 syslog 消息中提取字段。它既可处理标准 syslog 消息,也可处理 JSON 格式的日志,将提取的字段映射到 UDM,并根据是否存在主标识符和目标标识符动态分配 event_type

准备工作

  • 确保您拥有 Google SecOps 实例。
  • 确保您拥有对 Cohesity 管理的权限。

在 Google SecOps 中配置 Feed 以提取 Cohesity 日志

  1. 依次前往 SIEM 设置 > Feed
  2. 点击新增
  3. Feed 名称字段中,输入 Feed 的名称(例如 Cohesity 日志)。
  4. 选择 Webhook 作为来源类型
  5. 选择 Cohesity 作为日志类型
  6. 点击下一步
  7. 可选:为以下输入参数指定值:
    • 分隔符:用于分隔日志行(例如 \n)的分隔符。
    • 资源命名空间资源命名空间
    • 提取标签:应用于此 Feed 中的事件的标签。
  8. 点击下一步
  9. 最终确定界面中查看 Feed 配置,然后点击提交
  10. 点击生成 Secret 密钥,生成用于对此 Feed 进行身份验证的 Secret 密钥。
  11. 复制并存储密钥。您将无法再查看此密钥。如有必要,您可以重新生成新的 Secret 密钥,但此操作会使之前的 Secret 密钥过时。
  12. 详情标签页中,从端点信息字段复制 Feed 端点网址。您需要在客户端应用中指定此端点网址。
  13. 点击完成

为该 Webhook Feed 创建 API 密钥

  1. 依次前往 Google Cloud 控制台 > 凭据

    转到“凭据”页面

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

  3. 限制 API 密钥对 Chronicle API 的访问权限。

指定端点网址

  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 进行身份验证而生成的密钥。

在 Cohesity 中为 Google SecOps 配置 Webhook

  1. 登录 Cohesity 集群管理界面。
  2. 前往保护作业部分。
  3. 选择要为其配置 webhook 的保护作业。
  4. 依次点击保护作业旁边的操作菜单(三个垂直排列的点)> 修改
  5. 选择提醒标签页。
  6. 点击 + 添加 Webhook
  7. 为以下参数指定值:
    • 名称:为该 webhook 提供描述性名称(例如“Google SecOps”)。
    • 网址:输入 Google SecOps <ENDPOINT_URL>
    • 方法:选择 POST
    • 内容类型:选择 application/json
    • 载荷:此字段取决于您要发送的具体数据。
    • 启用 Webhook:勾选该复选框以启用 webhook。
  8. 保存配置:点击保存,将网络钩子配置应用于保护作业。

UDM 映射表

日志字段 UDM 映射 逻辑
ClientIP principal.asset.ip 直接从 ClientIP 字段映射。
ClientIP principal.ip 直接从 ClientIP 字段映射。
description security_result.description 直接从 description 字段映射。
DomainName target.asset.hostname 直接从 DomainName 字段映射。
DomainName target.hostname 直接从 DomainName 字段映射。
EntityPath target.url 直接从 EntityPath 字段映射。
host principal.asset.hostname 直接从 host 字段映射。
host principal.hostname 直接从 host 字段映射。从 ts 字段(已解析为时间戳)复制而来。由解析器逻辑根据 principal_mid_presenttarget_mid_presentprincipal_user_present 的存在情况确定。可能的值:NETWORK_CONNECTIONUSER_UNCATEGORIZEDSTATUS_UPDATEGENERIC_EVENT。已硬编码为“Cohesity”。
product_event_type metadata.product_event_type 直接从 product_event_type 字段映射。已硬编码为“COHESITY”。
pid principal.process.pid 直接从 pid 字段映射。
Protocol network.application_protocol 直接从 Protocol 字段映射,并转换为大写形式。
RecordID additional.fields(键:“RecordID”,值:RecordID 直接从 RecordID 字段映射,嵌套在 additional.fields 下。
RequestType security_result.detection_fields(键:“RequestType”,值:RequestType 直接从 RequestType 字段映射,嵌套在 security_result.detection_fields 下。
Result security_result.summary 直接从 Result 字段映射。
sha_value additional.fields(键:“SHA256”,值:sha_value 直接从 sha_value 字段映射,嵌套在 additional.fields 下。
target_ip target.asset.ip 直接从 target_ip 字段映射。
target_ip target.ip 直接从 target_ip 字段映射。
target_port target.port 直接从 target_port 字段映射,转换为整数。
Timestamp metadata.collected_timestamp Timestamp 字段解析为时间戳后直接映射。
ts events.timestamp ts 字段解析为时间戳后直接映射。
UserID principal.user.userid 直接从 UserID 字段映射,转换为字符串。
UserName principal.user.user_display_name 直接从 UserName 字段映射。
UserSID principal.user.windows_sid 直接从 UserSID 字段映射。

更改

2024-09-24

  • 移除了用于设置 JSON 日志格式的“gsub”。

2024-09-10

  • 添加了“gsub”,以从日志中移除不需要的字符。
  • 将“prin_ip”映射到“principal.ip”。

2024-07-28

  • 将“EntityId”和“RegisteredSource.EntityId”映射到“principal.user.userid”。
  • 将“Description”和“EventMessage”映射到“metadata.description”。
  • 将“IP”映射到“principal.ip”和“principal.asset.ip”。
  • 将“用户”映射到“principal.user.user_display_name”。
  • 将“Action”“Domain”“ServiceContext”“AttributeMap.AttemptNum”“cluster_id”“cluster_name”“ClusterInfo.ClusterId”“ClusterInfo.ClusterName”“TaskId”“EntityName”“EntityType”“BackupJobId”“BackupJobName”“EnvironmentType”“RegisteredSource.EntityName”“RegisteredSource.EntityType”“AttributeMap.BridgeConstituent”“ReplicationTarget.ClusterName”和“ReplicationTarget.ClusterId”映射到“additional.fields”。

2024-05-16

  • 新创建的解析器。