设置 SIEM 网络钩子
准备工作
- 确保已为 Google SecOps 配置Google Cloud 项目 ,并且已为该项目启用 Chronicle API。
使用命令行示例
本文档包含 curl 命令示例,可帮助您设置和测试网络钩子 Feed。这些示例使用可修改的占位符变量。如需有效使用这些示例,请执行以下操作:
修改变量 :在按照设置步骤操作时,您将获得网络钩子端点、API 密钥和 Secret 的值。点击示例代码中的占位符变量,并将其替换为实际值:
ENDPOINT_URL:在创建 HTTPS 网络钩子 Feed时获得的 Feed 端点网址。API_KEY:您为网络钩子 Feed 创建的 API 密钥,用于向 Google SecOps 进行身份验证。SECRET:在创建 HTTPS 网络钩子 Feed时生成的 Secret 密钥。
在一个代码示例中修改变量会更新此页面上所有示例中的该变量。
复制命令 :点击代码块中的复制代码示例 图标。
运行命令 :将复制的命令粘贴到终端环境中并执行。
确保
curl命令包含--fail(或-f)标志。 这可确保curl在 HTTP 请求失败时返回非零退出代码,并在成功时返回退出代码0。 这是下一步所必需的。验证成功 :成功的
curl命令不会返回任何输出。如需确认成功,请执行以下操作:如果
curl命令包含--fail(或-f)标志,请在运行该命令后立即运行以下命令来检查退出代码:echo $?退出代码
0表示成功。
设置 HTTPS 网络钩子 Feed
如需设置 HTTPS 网络钩子 Feed,请执行以下操作:
- 创建 HTTPS 网络钩子 Feed,并复制端点网址和 Secret 密钥。
- 创建 API 密钥以与端点网址搭配使用。您还可以重复使用现有的 API 密钥向 Google SecOps 进行身份验证。
- 在应用中指定端点网址。
在单个网络钩子请求中发送多个事件
以下代码示例展示了如何使用多个以换行符分隔的 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
- 在 Google SecOps 菜单中,选择 设置 ,然后点击 Feed 。
- 点击新增 。
- 在 Feed 名称 字段中,输入 Feed 的名称。
- 在来源类型 列表中,选择 Webhook 。
- 选择日志类型 。例如,如需为开放网络安全架构框架创建 Feed,请选择开放网络安全架构框架 (OCSF) 作为日志类型 。
- 点击下一步 。
- 可选:为以下输入参数指定值:
- 拆分定界符:用于分隔日志行的定界符,例如
\n。 - 资产命名空间:资产命名空间。
- 提取标签:要应用于此 Feed 中的事件的标签。
- 拆分定界符:用于分隔日志行的定界符,例如
- 点击下一步 。
- 在最终确定 屏幕中检查新的 Feed 配置,然后点击提交 。
- 点击生成 Secret 密钥 以生成 Secret 密钥,用于对此 Feed 进行身份验证。
- 复制并存储 Secret 密钥,因为您无法再次查看此 Secret。您可以生成新的 Secret 密钥,但这样做会使之前的 Secret 密钥失效。
- 在详细信息 标签页中,从端点信息 字段复制 Feed 端点网址。 您需要在客户端应用中指定此端点网址。
- 可选:点击已启用 Feed 开关以停用 Feed。默认情况下,Feed 处于启用状态。
- 点击完成 。
为网络钩子 Feed 创建 API 密钥
- 前往 Google Cloud 控制台 凭据 页面。
- 点击创建凭据 ,然后选择 API 密钥 。
- 将 API 密钥访问权限限制为 Chronicle API。
指定端点网址
- 在客户端应用中,指定网络钩子 Feed 中提供的 HTTPS 端点。
通过以以下格式将 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 专业人士的解答。