使用部署为 Cloud Run functions 的提取脚本
Google Security Operations 提供了一组用 Python 编写的提取脚本,这些脚本旨在部署为 Cloud Run functions 函数。借助这些脚本,您可以从以下日志源(按名称和日志类型列出)中注入数据。
- Armis Google SecOps Integration
- Aruba Central (
ARUBA_CENTRAL
) - Azure Event Hub (configurable log type)
- Box (
BOX
) - Citrix Cloud audit logs (
CITRIX_MONITOR
) - Citrix session metadata (
CITRIX_SESSION_METADATA
) - Cloud Storage (configurable log type)
- Duo Activity (
DUO_ACTIVITY
) - Duo Admin (
DUO_ADMIN
) - MISP (
MISP_IOC
) - OneLogin (
ONELOGIN_SSO
) - OneLogin user context (
ONELOGIN_USER_CONTEXT
) - Proofpoint (configurable log type)
- Pub/Sub (configurable log type)
- Slack audit logs (
SLACK_AUDIT
) - STIX/TAXII threat intelligence (
STIX
) - Tenable.io (
TENABLE_IO
) - Trend Micro Cloud App Security (configurable log type)
- Trend Micro Vision One audit logs (
TREND_MICRO_VISION_AUDIT
)
这些脚本位于 Google SecOps GitHub 代码库中。
已知限制:当这些脚本在 无状态环境(例如 Cloud Run functions 函数)中使用时,由于缺少检查点功能,它们可能无法将所有日志发送到 Google SecOps。 Google SecOps 已使用 Python 3.9 运行时对脚本进行了测试。
准备工作
请阅读以下资源,了解相关背景信息,以便您有效地使用 Google SecOps 注入脚本。
- 如需了解如何从本地机器部署 Cloud Run functions 函数,请参阅部署 Cloud Run functions 函数。
- 创建和访问密文介绍了如何使用 Secret Manager。您需要此角色来存储和访问 Google SecOps 服务账号 JSON 文件。
- 安装 Google Cloud CLI。您将使用此文件部署 Cloud Run 函数。
- 如果您计划从 Pub/Sub 中注入数据,请参阅 Google Cloud Pub/Sub 文档。
为单个日志类型组装文件
Google SecOps GitHub 中的每个子目录都包含用于注入单个 Google SecOps 日志类型的数据的文件。该脚本会连接到单个源设备,然后使用提取 API 将原始日志发送到 Google SecOps。建议您将每种日志类型部署为单独的 Cloud Run 函数。访问 Google SecOps GitHub 代码库中的脚本。GitHub 中的每个子目录都包含以下特定于其接收的日志类型的文件。
main.py
是特定于日志类型的提取脚本。它会连接到源设备,并将数据提取到 Google SecOps。.env.yml
存储 Python 脚本所需的配置,并且特定于部署。您可以修改此文件,以设置提取脚本所需的配置参数。README.md
提供有关配置参数的信息。Requirements.txt
定义了提取脚本所需的依赖项。此外,common
文件夹包含所有提取脚本都依赖的实用函数。
请执行以下步骤来组装用于注入单一日志类型数据的文件:
- 创建一个部署目录来存储 Cloud Run 函数的文件。 此文件夹将包含部署所需的所有文件。
- 将所选日志类型(例如 OneLogin 用户上下文)的 GitHub 子目录中的所有文件复制到此部署目录。
- 将
common
文件夹及其所有内容复制到部署目录。 相应目录的内容将如下所示:
one_login_user ├─common │ ├─__init__.py │ ├─auth.py │ ├─env_constants.py │ ├─ingest.py │ ├─status.py │ └─utils.py ├─env.yml ├─main.py └─requirements.txt
配置脚本
- 启动 Cloud Shell 会话。
- 使用 SSH 连接到 Google Cloud Linux 虚拟机。请参阅使用 Google 工具连接到 Linux 虚拟机。
点击 > 上传或下载,将提取脚本上传到 Cloud Shell 或从 Cloud Shell 下载提取脚本。
更多文件和文件夹只能上传到主目录或从中下载。 如需了解在 Cloud Shell 和本地工作站之间传输文件的更多方法,请参阅 [从 Cloud Shell 上传和下载文件及文件夹](/shell/docs/uploading-and-downloading-files#upload_and_download_files_and_folders)。
修改函数的
.env.yml
文件,并填充所需的环境变量。下表列出了所有提取脚本通用的运行时环境变量。变量名称 说明 必需 默认 Secret CHRONICLE_CUSTOMER_ID
Chronicle (Google SecOps) 客户 ID。 是 无 否 CHRONICLE_REGION
Chronicle(Google SecOps)区域。 是 us
其他有效值:asia-northeast1
、asia-south1
、asia-southeast1
、australia-southeast1
、europe
、europe-west2
、europe-west3
、europe-west6
、europe-west9
、europe-west12
、me-central1
、me-central2
、me-west1
、northamerica-northeast2
和southamerica-east1
。否 CHRONICLE_SERVICE_ACCOUNT
Chronicle (Google SecOps) 服务账号 JSON 文件的内容。 是 无 是 CHRONICLE_NAMESPACE
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 否 无 否 每个脚本都需要特定于该脚本的环境变量。如需详细了解每种日志类型所需的环境变量,请参阅按日志类型列出的配置参数。
标记为 Secret = Yes
的环境变量必须在 Secret Manager 中配置为 Secret。如需了解使用 Secret Manager 的费用,请参阅 Secret Manager 价格。
如需了解详细说明,请参阅创建和访问 Secret。
在 Secret Manager 中创建 Secret 后,请使用 Secret 资源名称作为环境变量的值。例如:projects/{project_id}/secrets/{secret_id}/versions/{version_id}
,其中 {project_id}
、{secret_id}
和 {version_id}
是特定于您的环境的。
设置调度器或触发器
除 Pub/Sub 之外的所有脚本均实现为以周期性间隔从源设备收集数据。您必须使用 Cloud Scheduler 设置触发器,以便随时间推移提取数据。Pub/Sub 的提取脚本会持续监控 Pub/Sub 订阅。如需了解详情,请参阅按计划运行服务和使用 Pub/Sub 触发 Cloud Run 函数。
部署 Cloud Run 函数
- 启动 Cloud Shell 会话。
- 通过 SSH 连接到 Google Cloud Linux 虚拟机。请参阅使用 Google 工具连接到 Linux 虚拟机。
- 切换到您复制提取脚本的目录。
执行以下命令以部署 Cloud Run 函数。
gcloud functions deploy <FUNCTION NAME> --service-account <SERVICE_ACCOUNT_EMAIL> --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml
将
<FUNCTION_NAME>
替换为您为 Cloud Run 函数定义的名称。将
<SERVICE_ACCOUNT_EMAIL>
替换为您希望 Cloud Run 函数使用的服务账号的电子邮件地址。如果您不将目录更改为文件所在的位置,请务必使用
--source
选项指定部署脚本的位置。运行 Cloud Run 函数的服务账号必须具有 Cloud Functions Invoker (
roles/cloudfunctions.invoker
) 和 Secret Manager Secret Accessor (roles/secretmanager.secretAccessor
) 角色。
查看运行时日志
提取脚本会将运行时消息输出到 stdout。Cloud Run functions 提供了一种查看日志消息的机制。
按日志类型列出的配置参数
Armis Google SecOps 集成
此脚本使用来自 Armis 平台的 API 调用来收集不同类型事件的数据,例如提醒、活动、设备和漏洞。收集的数据会注入到 Google SecOps 中,并由相应的解析器进行解析。
脚本流程
以下是脚本的流程:
验证环境变量。
将脚本部署到 Cloud Run functions。
使用提取脚本收集数据。
将收集的数据注入到 Google SecOps 中。
通过 Google SecOps 中的相应解析器解析收集的数据。
使用脚本收集数据并将其注入到 Google SecOps 中
验证环境变量。
变量 说明 必需 默认 Secret CHRONICLE_CUSTOMER_ID
Chronicle (Google SecOps) 客户 ID。 是 - 否 CHRONICLE_REGION
Chronicle(Google SecOps)区域。 是 美国 是 CHRONICLE_SERVICE_ACCOUNT
Chronicle (Google SecOps) 服务账号 JSON 文件的内容。 是 - 是 CHRONICLE_NAMESPACE
Chronicle (Google SecOps) 日志所标记的命名空间。 否 - 否 POLL_INTERVAL
函数执行以获取额外数据的频率间隔 函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 是 10 否 ARMIS_SERVER_URL
Armis 平台的服务器网址。 是 - 否 ARMIS_API_SECRET_KEY
进行身份验证所需的密钥。 是 - 是 HTTPS_PROXY
代理服务器网址。 否 - 否 CHRONICLE_DATA_TYPE
Chronicle (Google SecOps) 数据类型,用于将数据推送到 Google SecOps。 是 - 否 设置目录。
为 Cloud Run functions 部署创建一个新目录,并向其中添加
common
目录和提取脚本 (armis
) 的内容。设置所需的运行时环境变量。
在
.env.yml
文件中定义所需的环境变量。使用 Secret。
标记为 Secret 的环境变量必须在 Secret Manager 中配置为 Secret。 如需详细了解如何创建 Secret,请参阅创建 Secret。
在 Secret Manager 中创建 Secret 后,请使用 Secret 的资源名称作为环境变量的值。例如:
CHRONICLE_SERVICE_ACCOUNT: projects/{project_id}/secrets/{secret_id}/versions/{version_id}
配置命名空间。
设置
CHRONICLE_NAMESPACE
环境变量以配置命名空间。Chronicle (Google SecOps) 日志会提取到命名空间中。部署 Cloud Run 函数。
从之前创建的目录内运行以下命令,以部署 Cloud Functions 函数。
gcloud functions deploy <FUNCTION NAME> --gen2 --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml
Cloud Run functions 默认规范。
变量 默认 说明 内存 256 MB 无 无 Timedout 60 秒 无 无 区域 us-central1 无 无 实例数下限 0 无 无 实例数上限 100 无 无 如需详细了解如何配置这些变量,请参阅配置 Cloud Run functions。
提取历史数据。
如需提取历史数据并继续收集实时数据,请执行以下操作:
- 以分钟为单位配置
POLL_INTERVAL
环境变量,以指定需要提取的历史数据时长。 - 配置 Cloud Run functions 函数后,使用调度程序触发函数,或通过在 Google Cloud CLI 中运行命令手动触发函数。
- 以分钟为单位配置
Aruba Central
此脚本从 Aruba Central 平台提取审核日志,并以 ARUBA_CENTRAL
日志类型将其注入到 Google SecOps 中。如需了解如何使用该库,请参阅 pycentral Python SDK。
在 .env.yml
文件中定义以下环境变量。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Chronicle (Google SecOps) 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 10 | 否 |
ARUBA_CLIENT_ID |
Aruba Central API 网关客户端 ID。 | 无 | 否 |
ARUBA_CLIENT_SECRET_SECRET_PATH |
Aruba Central API 网关客户端密钥。 | 无 | 是 |
ARUBA_USERNAME |
Aruba Central 平台的用户名。 | 无 | 否 |
ARUBA_PASSWORD_SECRET_PATH |
Aruba Central 平台的密码。 | 无 | 是 |
ARUBA_BASE_URL |
Aruba Central API 网关的基本网址。 | 无 | 否 |
ARUBA_CUSTOMER_ID |
Aruba Central 平台的客户 ID。 | 无 | 否 |
Azure 事件中心
与其他提取脚本不同,此脚本使用 Azure 函数从 Azure 事件中心提取事件。每当向存储桶中添加新事件时,Azure 函数都会自行触发,并且每个事件都会逐渐被提取到 Google SecOps 中。
部署 Azure 函数的步骤:
- 从代码库下载名为
Azure_eventhub_API_function_app.json
的数据连接器文件。 - 登录 Microsoft Azure 门户。
- 前往 Microsoft Sentinel > 从列表中选择您的工作区 > 在配置部分中选择“数据连接器”,然后执行以下操作:
- 在网址中将以下标志设置为 true:
feature.BringYourOwnConnector=true
。例如: https://portal.azure.com/?feature.BringYourOwnConnector=true&... 1. 找到页面上的导入按钮,然后导入在第 1 步中下载的数据连接器文件。
- 在网址中将以下标志设置为 true:
- 点击部署到 Azure 按钮以部署函数,然后按照同一页面上所述的步骤操作。
- 选择首选的订阅、资源组和位置,并提供所需的值。
- 点击检查 + 创建。
- 点击创建以进行部署。
Box
此脚本可获取 Box 中发生的事件的详细信息,并使用 BOX
日志类型将这些信息注入到 Google SecOps 中。这些数据可帮助您深入了解 Box 环境中对象的 CRUD 操作。如需了解 Box 事件,请参阅 Box Events API。
在 .env.yml
文件中定义以下环境变量。如需详细了解 Box 客户端 ID、客户端密钥和主题 ID,请参阅客户端凭据授权。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 5 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
BOX_CLIENT_ID |
Box 平台的客户端 ID,可在 Box 开发者控制台中找到。 | 无 | 否 |
BOX_CLIENT_SECRET |
Secret Manager 中存储用于身份验证的 Box 平台客户端密钥的密文的路径。 | 无 | 是 |
BOX_SUBJECT_ID |
Box 用户 ID 或企业 ID。 | 无 | 否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需详细了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
Citrix Cloud 审核日志
此脚本会收集 Citrix Cloud 审核日志,并使用 CITRIX_MONITOR
日志类型将其提取到 Google SecOps 中。这些日志可提供有关更改内容、更改者、更改时间等信息,帮助您识别在 Citrix Cloud 环境中执行的活动。如需了解详情,请参阅 Citrix Cloud SystemLog API。
在 .env.yml
文件中定义以下环境变量。如需了解 Citrix 客户端 ID 和客户端密钥,请参阅 Citrix API 使用入门。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle(Google SecOps)服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CITRIX_CLIENT_ID |
Citrix API 客户端 ID。 | 无 | 否 |
CITRIX_CLIENT_SECRET |
Secret Manager 中存储用于身份验证的 Citrix API 客户端 Secret 的路径。 | 无 | 是 |
CITRIX_CUSTOMER_ID |
Citrix CustomerID。 | 无 | 否 |
POLL_INTERVAL |
收集额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 30 | 否 |
URL_DOMAIN |
Citrix Cloud Endpoint。 | 无 | 否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Chronicle (Google SecOps) 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
Citrix 会话元数据
此脚本从 Citrix 环境收集 Citrix 会话元数据,并使用 CITRIX_MONITOR
日志类型将其注入到 Google SecOps 中。这些数据包括用户登录详细信息、会话时长、会话创建时间、会话结束时间以及与会话相关的其他元数据。如需了解详情,请参阅 Citrix Monitor Service API。
在 .env.yml
文件中定义以下环境变量。如需了解 Citrix 客户端 ID 和客户端密钥,请参阅 Citrix API 使用入门。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
URL_DOMAIN |
Citrix 网址网域。 | 无 | 否 |
CITRIX_CLIENT_ID |
Citrix 客户端 ID。 | 无 | 否 |
CITRIX_CLIENT_SECRET |
Secret Manager 中存储用于身份验证的 Citrix 客户端 Secret 的 Secret 的路径。 | 无 | 是 |
CITRIX_CUSTOMER_ID |
Citrix 客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 30 | 否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
Cloud Storage
此脚本从 Cloud Storage 中提取系统日志,并使用可配置的日志类型值将其提取到 Google SecOps 中。如需了解详情,请参阅 Google Cloud Python 客户端库。
在 .env.yml
文件中定义以下环境变量。 Google Cloud包含与安全相关的重要日志,但其中一些日志类型无法直接导出到 Google SecOps。如需了解详情,请参阅安全日志分析。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取其他日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 60 | 否 |
GCS_BUCKET_NAME |
要从中提取数据的 Cloud Storage 存储桶的名称。 | 无 | 否 |
GCP_SERVICE_ACCOUNT_SECRET_PATH |
Secret Manager 中存储 Google Cloud 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_DATA_TYPE |
用于将数据推送到 Chronicle (Google SecOps) 实例的日志类型。 | 无 | 否 |
Duo 活动
此脚本从 Duo 管理员处提取 Duo 活动日志,并使用 DUO_ACTIVITY
日志类型将其提取到 Google SecOps 中。如需了解详情,请参阅 Duo Admin API。
在 .env.yml
文件中定义以下环境变量。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west12 、me-central1 、me-central2 、me-west1 和 northamerica-northeast2 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
BACKSTORY_API_V1_URL |
Duo Security API 的网址路径。如需详细了解如何下载包含 DUO 管理员 API 集成密钥的 JSON 文件,请参阅 Duo 管理员文档。 | 无 | 是 |
DUO_SECRET_KEY |
从 DUO API 获取日志所需的 DUO 密钥。如需了解如何下载包含 Duo Admin API 集成密钥、Duo Admin API 密钥和 Duo Admin API 主机名的 JSON 文件,请参阅 Duo 管理员文档。 |
无 | 是 |
DUO_INTEGRATION_KEY |
从 DUO API 获取日志所需的 DUO 集成密钥。如需了解如何下载包含 Duo Admin API 集成密钥、Duo Admin API 密钥和 Duo Admin API 主机名的 JSON 文件,请参阅 Duo Admin 文档。 |
无 | 是 |
LOG_FETCH_DURATION |
提取日志的时长。 | 1 | 否 |
CHECKPOINT_FILE_PATH |
存储上次提取的日志的检查点时间戳的文件路径。 | checkpoint.json |
否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
Duo 管理员
该脚本从 Duo 管理员处获取与对各种对象(例如用户账号和安全性)执行的 CRUD 操作相关的事件。这些事件会以 DUO_ADMIN
日志类型提取到 Google SecOps 中。如需了解详情,请参阅 Duo Admin API。
在 .env.yml
文件中定义以下环境变量。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 无 | 否 |
DUO_API_DETAILS |
Secret Manager 中存储 Duo 账号 JSON 文件的 Secret 的路径。此文件包含 Duo 管理员 API 集成密钥、Duo 管理员 API 密钥和 Duo 管理员 API 主机名。例如:
{
"ikey": "abcd123",
"skey": "def345",
"api_host": "abc-123"
}
如需有关下载 JSON 文件的说明,请参阅 Duo 管理员文档。 |
无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
MISP
此脚本从开源威胁情报和共享平台 MISP 中提取威胁关系信息,并使用 MISP_IOC
日志类型将其注入到 Google SecOps 中。如需了解详情,请参阅 MISP Events API。
在 .env.yml
文件中定义以下环境变量。
变量 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 5 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
ORG_NAME |
用于过滤活动的组织名称。 | 无 | 否 |
API_KEY |
Secret Manager 中存储用于身份验证的 API 密钥的 Secret 的路径。 | 无 | 是 |
TARGET_SERVER |
您创建的 MISP 实例的 IP 地址。 | 无 | 否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需详细了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
OneLogin 事件
此脚本从 OneLogin 环境获取事件,并使用 ONELOGIN_SSO
日志类型将其提取到 Google SecOps 中。这些事件可提供有关用户账号操作的信息。如需了解详情,请参阅 OneLogin Events API。
在 .env.yml
文件中定义以下环境变量。如需了解 OneLogin 客户端 ID 和客户端 Secret,请参阅使用 API 凭据。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 5 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CLIENT_ID |
OneLogin 平台的客户端 ID。 | 无 | 否 |
CLIENT_SECRET |
Secret Manager 中用于存储 OneLogin 平台客户端密钥(用于身份验证)的 Secret 的路径。 | 无 | 是 |
TOKEN_ENDPOINT |
用于请求访问令牌的网址。 | https://api.us.onelogin.com/auth/oauth2/v2/token |
否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
OneLogin 用户上下文
此脚本从 OneLogin 环境获取与用户账号相关的数据,并使用 ONELOGIN_USER_CONTEXT
日志类型将其注入到 Google SecOps 中。如需了解详情,请参阅 OneLogin User API。
在 .env.yml
文件中定义以下环境变量。如需了解 OneLogin 客户端 ID 和客户端 Secret,请参阅使用 API 凭据。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 30 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CLIENT_ID |
OneLogin 平台的客户端 ID。 | 无 | 否 |
CLIENT_SECRET |
Secret Manager 中用于存储 OneLogin 平台客户端密钥(用于身份验证)的 Secret 的路径。 | 无 | 是 |
TOKEN_ENDPOINT |
用于请求访问令牌的网址。 | https://api.us.onelogin.com/auth/oauth2/v2/token |
否 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
Proofpoint
此脚本会提取特定组织在给定时间段内遭受攻击的目标用户的数据,并将这些数据提取到 Google SecOps 中。如需了解所使用的 API,请参阅 People API。
在 .env.yml
文件中定义以下环境变量。如需详细了解如何获取 Proofpoint 服务正文和 Proofpoint 密钥,请参阅向 Arctic Wolf 提供 Proofpoint TAP 凭据配置指南。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取其他日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 360 | 否 |
CHRONICLE_DATA_TYPE |
用于将数据推送到 Chronicle (Google SecOps) 实例的日志类型。 | 无 | 否 |
PROOFPOINT_SERVER_URL |
Proofpoint Server API 网关的基础网址。 | 无 | 否 |
PROOFPOINT_SERVICE_PRINCIPLE |
Proofpoint 平台的用户名。这通常是服务正文。 | 无 | 否 |
PROOFPOINT_SECRET |
存储 Proofpoint 平台密码的 Secret Manager 的路径(包含版本)。 | 无 | 是 |
PROOFPOINT_RETRIEVAL_RANGE |
一个数字,用于指示应从多少天前开始检索数据。可接受的值为 14、30 和 90。 | 无 | 否 |
Pub/Sub
此脚本从 Pub/Sub 订阅中收集消息,并将数据提取到 Google SecOps。它会持续监控订阅网关,并在出现新消息时提取这些消息。如需了解详情,请参阅以下文档:
此提取脚本要求您在 .env.yml
文件和 Cloud Scheduler 作业中设置变量。
在
.env.yml
文件中定义以下环境变量。变量名称 说明 默认值 Secret CHRONICLE_CUSTOMER_ID
Chronicle (Google SecOps) 实例客户 ID。 无 否 CHRONICLE_REGION
Chronicle (Google SecOps) 实例区域。 us
其他有效值:asia-northeast1
、asia-south1
、asia-southeast1
、australia-southeast1
、europe
、europe-west2
、europe-west3
、europe-west6
、europe-west9
、europe-west12
、me-central1
、me-central2
、me-west1
、northamerica-northeast2
和southamerica-east1
。否 CHRONICLE_SERVICE_ACCOUNT
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 无 是 CHRONICLE_NAMESPACE
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 无 否 在 Cloud Scheduler 的消息正文字段中,将以下变量设置为 JSON 格式的字符串。如需详细了解消息正文字段,请参阅创建 Cloud Scheduler。
变量名称 说明 默认值 Secret PROJECT_ID
Pub/Sub 项目 ID。如需了解项目 ID,请参阅创建和管理项目。 无 否 SUBSCRIPTION_ID
Pub/Sub 订阅 ID。 无 否 CHRONICLE_DATA_TYPE
将数据推送到 Chronicle (Google SecOps) 时提供的日志类型的注入标签。如需查看支持的日志类型列表,请参阅 支持的默认解析器。 无 否 以下是 Message body 字段的 JSON 格式字符串示例。
{ "PROJECT_ID":"projectid-0000","SUBSCRIPTION_ID":"subscription-id","CHRONICLE_DATA_TYPE":"SQUID_PROXY"}
Slack 审核日志
此脚本从 Slack 企业网格组织获取审核日志,并使用 SLACK_AUDIT
日志类型将其提取到 Google SecOps 中。如需了解详情,请参阅 Slack 审核日志 API。
在 .env.yml
文件中定义以下环境变量。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 5 | 否 |
SLACK_ADMIN_TOKEN |
Secret Manager 中存储 Slack 身份验证令牌的 Secret 的路径。 |
无 |
是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
STIX/TAXII
此脚本从 STIX/TAXII 服务器拉取指示器,并将其提取到 Google SecOps 中。如需了解详情,请参阅 STIX/TAXII API 文档。
在 .env.yml
文件中定义以下环境变量。
变量名称 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
POLL_INTERVAL |
函数执行的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业的时长相同。 | 60 | 否 |
TAXII_VERSION |
要使用的 STIX/TAXII 版本。可用的选项包括 1.1、2.0、2.1 | 无 | 否 |
TAXII_DISCOVERY_URL |
TAXII 服务器的发现网址。 | 无 | 否 |
TAXII_COLLECTION_NAMES |
要从中提取数据的集合 (CSV)。留空可从所有集合中提取数据。 | 无 | 否 |
TAXII_USERNAME |
身份验证所需的用户名(如有)。 | 无 | 否 |
TAXII_PASSWORD_SECRET_PATH |
身份验证所需的密码(如有)。 | 无 | 是 |
Tenable.io
此脚本从 Tenable.io 平台提取资产和漏洞数据,并使用 TENABLE_IO
日志类型将其提取到 Google SecOps 中。如需了解所使用的库,请参阅 pyTenable Python SDK。
在 .env.yml
文件中定义以下环境变量。如需详细了解资产和漏洞数据,请参阅 Tenable.io API:导出资产和导出漏洞。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取其他日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 360 | 否 |
TENABLE_ACCESS_KEY |
用于身份验证的访问密钥。 | 无 | 否 |
TENABLE_SECRET_KEY_PATH |
包含 Tenable Server 密码的 Google Secret Manager 的路径(包括版本)。 | 无 | 是 |
TENABLE_DATA_TYPE |
要在 Google SecOps 中注入的数据类型。可能的值:ASSETS、VULNERABILITIES。 | 资产、漏洞 | 否 |
TENABLE_VULNERABILITY |
您希望导出中包含的漏洞的状态。可能的值:`OPEN`、`REOPENED` 和 `FIXED`。 | 未解决、已重新打开 | 否 |
Trend Micro Cloud App Security
此脚本从 Trend Micro 平台提取安全日志,并将其提取到 Google SecOps 中。如需了解所用 API 的相关信息,请参阅安全日志 API。
在 .env.yml
文件中定义以下环境变量。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle (Google SecOps) 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取其他日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 10 | 否 |
CHRONICLE_DATA_TYPE |
用于将数据推送到 Chronicle (Google SecOps) 实例的日志类型。 | 无 | 否 |
TREND_MICRO_AUTHENTICATION_TOKEN |
存储 Trend Micro 服务器身份验证令牌的 Google Secret Manager 的路径(包含版本)。 | 无 | 是 |
TREND_MICRO_SERVICE_URL |
Cloud App Security 服务的服务网址。 | 无 | 否 |
TREND_MICRO_SERVICE |
要检索其日志的受保护服务的名称。支持以英文逗号分隔的值。可能的值:exchange、sharepoint、onedrive、dropbox、box、googledrive、gmail、teams、exchangeserver、salesforce_sandbox、salesforce_production、teams_chat。 | exchange, sharepoint, onedrive, dropbox, box, googledrive, gmail, teams, exchangeserver, salesforce_sandbox, salesforce_production, teams_chat | 否 |
TREND_MICRO_EVENT |
要检索其日志的安全事件的类型。支持以英文逗号分隔的值。可能的值:securityrisk、virtualanalyzer、ransomware、dlp。 | securityrisk, virtualanalyzer, ransomware, dlp | 否 |
Trend Micro Vision One
此脚本会检索 Trend Micro Vision One 的审核日志,并以日志类型 TREND_MICRO_VISION_AUDIT
将其提取到 Google SecOps 中。如需了解所用 API 的相关信息,请参阅审核日志 API。
在 .env.yml
文件中定义以下环境变量。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
TREND_MICRO_VISION_AUDIT |
Google SecOps 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle (Google SecOps) 实例区域。 | us 其他有效值: asia-northeast1 、asia-south1 、asia-southeast1 、australia-southeast1 、europe 、europe-west2 、europe-west3 、europe-west6 、europe-west9 、europe-west12 、me-central1 、me-central2 、me-west1 、northamerica-northeast2 和 southamerica-east1 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
Secret Manager 中存储 Chronicle (Google SecOps) 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle (Google SecOps) 日志所标记的命名空间。如需了解 Google SecOps 命名空间,请参阅使用资产命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取其他日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 10 | 否 |
TREND_MICRO_AUTHENTICATION_TOKEN |
存储 Trend Micro 服务器身份验证令牌的 Google Secret Manager 的路径(包含版本)。 | 无 | 是 |
TREND_MICRO_DOMAIN |
服务端点所在的 Trend Micro Vision One 区域。 | 无 | 否 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。