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