设置 SIEM 网络钩子

支持:

准备工作

  • 确保已为 Google SecOps 配置Google Cloud 项目 ,并且已为该项目启用 Chronicle API。
  • 将 Google SecOps 实例关联到 Google Cloud 服务

使用命令行示例

本文档包含 curl 命令示例,可帮助您设置和测试网络钩子 Feed。这些示例使用可修改的占位符变量。如需有效使用这些示例,请执行以下操作:

  1. 修改变量 :在按照设置步骤操作时,您将获得网络钩子端点、API 密钥和 Secret 的值。点击示例代码中的占位符变量,并将其替换为实际值:

    在一个代码示例中修改变量会更新此页面上所有示例中的该变量。

  2. 复制命令 :点击代码块中的复制代码示例 图标。

  3. 运行命令 :将复制的命令粘贴到终端环境中并执行。

    确保 curl 命令包含 --fail(或 -f)标志。 这可确保 curl 在 HTTP 请求失败时返回非零退出代码,并在成功时返回退出代码 0。 这是下一步所必需的。

  4. 验证成功 :成功的 curl 命令不会返回任何输出。如需确认成功,请执行以下操作:

    如果 curl 命令包含 --fail(或 -f)标志,请在运行该命令后立即运行以下命令来检查退出代码:

    echo $?
    

    退出代码 0 表示成功。

设置 HTTPS 网络钩子 Feed

如需设置 HTTPS 网络钩子 Feed,请执行以下操作:

  1. 创建 HTTPS 网络钩子 Feed,并复制端点网址和 Secret 密钥。
  2. 创建 API 密钥以与端点网址搭配使用。您还可以重复使用现有的 API 密钥向 Google SecOps 进行身份验证。
  3. 在应用中指定端点网址

在单个网络钩子请求中发送多个事件

以下代码示例展示了如何使用多个以换行符分隔的 JSON 对象来设置单个请求正文的格式:

curl --location 'ENDPOINT_URL' \
  --header 'Content-Type: application/json' \
  --header 'X-goog-api-key: API_KEY' \
  --header 'X-Webhook-Access-Key: SECRET' \
  --data $'{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}\n{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}' \
  --fail

创建 HTTPS 网络钩子 Feed

  1. 在 Google SecOps 菜单中,选择 设置 ,然后点击 Feed
  2. 点击新增
  3. Feed 名称 字段中,输入 Feed 的名称。
  4. 来源类型 列表中,选择 Webhook
  5. 选择日志类型 。例如,如需为开放网络安全架构框架创建 Feed,请选择开放网络安全架构框架 (OCSF) 作为日志类型
  6. 点击下一步
  7. 可选:为以下输入参数指定值:
    • 拆分定界符:用于分隔日志行的定界符,例如 \n
    • 资产命名空间资产命名空间
    • 提取标签:要应用于此 Feed 中的事件的标签。
  8. 点击下一步
  9. 最终确定 屏幕中检查新的 Feed 配置,然后点击提交
  10. 点击生成 Secret 密钥 以生成 Secret 密钥,用于对此 Feed 进行身份验证。
  11. 复制并存储 Secret 密钥,因为您无法再次查看此 Secret。您可以生成新的 Secret 密钥,但这样做会使之前的 Secret 密钥失效。
  12. 详细信息 标签页中,从端点信息 字段复制 Feed 端点网址。 您需要在客户端应用中指定此端点网址。
  13. 可选:点击已启用 Feed 开关以停用 Feed。默认情况下,Feed 处于启用状态。
  14. 点击完成

为网络钩子 Feed 创建 API 密钥

  1. 前往 Google Cloud 控制台 凭据 页面。
  2. 点击创建凭据 ,然后选择 API 密钥
  3. 将 API 密钥访问权限限制为 Chronicle API。

指定端点网址

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

    X-goog-api-key: API_KEY
    X-Webhook-Access-Key: SECRET
    
    • 我们建议您将 API 密钥指定为标头,而不是在网址中指定。

      curl --location 'ENDPOINT_URL' \
          --header 'Content-Type: application/json' \
          --header 'X-goog-api-key: API_KEY' \
          --header 'X-Webhook-Access-Key: SECRET' \
          --data '{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}' \
          --fail
      
    • 如果您的网络钩子客户端不支持自定义标头,您可以使用以下格式的查询参数指定 API 密钥和 Secret 密钥:

      ENDPOINT_URL?key=API_KEY&secret=SECRET
      

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