使用部署为 Cloud Run 函数的提取脚本
Google Security Operations 提供了一组用 Python 编写的提取脚本,这些脚本旨在作为 Cloud Run 函数进行部署。借助这些脚本,您可以从以下日志来源(按名称和日志类型列出)注入数据。
- Armis Google Security Operations 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 安全运营 GitHub 代码库中。
已知限制:当这些脚本在 Cloud Run 函数等无状态环境中使用时,它们可能无法将所有日志发送到 Google 安全运营团队,因为它们缺少检查点功能。Google 安全运营团队已使用 Python 3.9 运行时对这些脚本进行了测试。
准备工作
请阅读以下资源,了解相关背景信息,以便有效使用 Google 安全运营数据提取脚本。
- 如需了解如何通过本地机器部署 Cloud Run functions 函数,请参阅部署 Cloud Run functions 函数。
- 创建和访问 Secret 介绍了如何使用 Secret Manager。您需要此权限才能存储和访问 Google 安全运营服务账号 JSON 文件。
- 安装 Google Cloud CLI。您将使用此 ID 部署 Cloud Run 函数。
- 如果您打算从 Pub/Sub 注入数据,请参阅 Google Cloud Pub/Sub 文档。
汇编单个日志类型的文件
Google Security Operations GitHub 中的每个子目录都包含用于为单个 Google Security Operations 日志类型注入数据的文件。该脚本会连接到单源设备,然后使用提取 API 将原始日志发送到 Google Security Operations。我们建议您将每种日志类型部署为单独的 Cloud Run 函数。访问 Google Security Operations GitHub 代码库中的脚本。GitHub 中的每个子目录都包含以下特定于其提取的日志类型的文件。
main.py
是特定于日志类型的提取脚本。它会连接到来源设备,并将数据提取到 Google Security Operations。.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 上传和下载文件和文件夹](/shell/docs/uploading-and-downloading-files#upload_and_download_files_and_folders)。
修改该函数的
.env.yml
文件,并填充所需的环境变量。下表列出了所有提取脚本通用的运行时环境变量。变量名称 说明 必填 默认 Secret CHRONICLE_CUSTOMER_ID
Google Security Operations 客户 ID。 是 无 否 CHRONICLE_REGION
Google Security Operations 所在的区域。 是 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
Google 安全运营服务账号 JSON 文件的内容。 是 无 是 CHRONICLE_NAMESPACE
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 否 无 否 每个脚本都需要特定于该脚本的环境变量。如需详细了解每种日志类型所需的环境变量,请参阅按日志类型划分的配置参数。
标记为 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 提供了一种查看日志消息的机制。如需了解详情,请参阅 Cloud Functions 中有关查看运行时日志的信息。
按日志类型的配置参数
Armis Google Security Operations 集成
此脚本会使用 Armis 平台中的 API 调用收集不同类型的事件(例如提醒、活动、设备和漏洞)的数据。收集的数据会提取到 Google Security Operations,并由相应的解析器进行解析。
脚本流程
以下是该脚本的流程:
验证环境变量。
将脚本部署到 Cloud Run functions 函数。
使用提取脚本收集数据。
将收集的数据提取到 Google Security Operations。
通过 Google Security Operations 中的相应解析器解析收集的数据。
使用脚本收集数据并将其注入到 Google Security Operations
验证环境变量。
变量 说明 必需 默认 Secret CHRONICLE_CUSTOMER_ID
Google Security Operations 客户 ID。 是 - 否 CHRONICLE_REGION
Google Security Operations 所在的区域。 是 美国 是 CHRONICLE_SERVICE_ACCOUNT
Google 安全运营服务账号 JSON 文件的内容。 是 - 是 CHRONICLE_NAMESPACE
Google Security Operations 日志的标签命名空间。 否 - 否 POLL_INTERVAL
函数执行以获取更多 函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔时间相同。 是 10 否 ARMIS_SERVER_URL
Armis 平台的服务器网址。 是 - 否 ARMIS_API_SECRET_KEY
进行身份验证所需的密钥。 是 - 是 HTTPS_PROXY
代理服务器网址。 否 - 否 CHRONICLE_DATA_TYPE
用于将数据推送到 Google Security Operations 的 Google Security Operations 数据类型。 是 - 否 设置目录。
为 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
环境变量以配置命名空间。Google Security Operations 日志会被提取到该命名空间中。部署 Cloud Run functions 函数。
从之前创建的目录内运行以下命令,以部署 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 无 无 超时 60 秒 无 无 区域 us-central1 无 无 实例数下限 0 无 无 实例数上限 100 无 无 如需详细了解如何配置这些变量,请参阅配置 Cloud Run functions。
提取历史数据。
如需提取历史数据并继续收集实时数据,请执行以下操作:
- 配置
POLL_INTERVAL
环境变量(以分钟为单位),表示需要提取的历史数据的范围。 - 在配置 Cloud Run functions 函数后,使用调度程序触发函数,或在 Google Cloud CLI 中运行命令手动触发函数。
- 配置
Aruba Central
此脚本会从 Aruba Central 平台提取审核日志,并将其以 ARUBA_CENTRAL
日志类型提取到 Google 安全运营中。如需了解如何使用该库,请参阅 pycentral Python SDK。
在 .env.yml
文件中定义以下环境变量。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
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 Functions 从 Azure Event Hub 提取事件。每当有新事件添加到存储桶中时,Azure 函数都会自行触发,并且每个事件都会逐步提取到 Google Security Operations。
部署 Azure Functions 的步骤:
- 从代码库下载名为
Azure_eventhub_API_function_app.json
的数据连接器文件。 - 登录您的 Microsoft Azure 门户。
- 在“配置”部分中,依次选择 Microsoft Sentinel > 从列表中选择您的工作区 > 选择数据连接器,然后执行以下操作:
- 在网址中将以下标志设置为 true:
feature.BringYourOwnConnector=true
。例如: https://portal.azure.com/?feature.BringYourOwnConnector=true&... 1. 找到页面上的import按钮,然后导入您在第 1 步中下载的数据连接器文件。
- 在网址中将以下标志设置为 true:
- 点击 Deploy to Azure(部署到 Azure)按钮以部署函数,然后按照同一页面上提及的步骤操作。
- 选择首选的订阅、资源组和位置,然后提供所需的值。
- 点击 Review + Create(检查 + 创建)。
- 点击创建进行部署。
Box
此脚本会获取 Box 中发生的事件的详细信息,并将其以 BOX
日志类型注入 Google Security Operations。这些数据可帮助您深入了解对 Box 环境中对象执行的 CRUD 操作。如需了解 Box 事件,请参阅 Box Events API。
在 .env.yml
文件中定义以下环境变量。如需详细了解 Box 客户 ID、Client Secret 和 Subject ID,请参阅客户凭据授予。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 5 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
BOX_CLIENT_ID |
Box 平台的客户端 ID,可在 Box 开发者控制台中找到。 | 无 | 否 |
BOX_CLIENT_SECRET |
Secret Manager 中用于存储 Box 平台客户端密钥(用于身份验证)的密文的路径。 | 无 | 是 |
BOX_SUBJECT_ID |
Box 用户 ID 或企业 ID。 | 无 | 否 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
Citrix Cloud 审核日志
此脚本会收集 Citrix Cloud 审核日志,并将其以 CITRIX_MONITOR
日志类型提取到 Google Security Operations。这些日志可提供有关发生了哪些更改、更改者是谁、更改时间等信息,有助于识别 Citrix Cloud 环境中执行的活动。如需了解详情,请参阅 Citrix Cloud SystemLog API。
在 .env.yml
文件中定义以下环境变量。如需了解 Citrix 客户端 ID 和客户端密钥,请参阅 开始使用 Citrix API。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 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 端点。 | 无 | 否 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
Citrix 会话元数据
此脚本会从 Citrix 环境收集 Citrix 会话元数据,并将其以 CITRIX_MONITOR
日志类型提取到 Google Security Operations。这些数据包括用户登录详细信息、会话时长、会话创建时间、会话结束时间以及与会话相关的其他元数据。如需了解详情,请参阅 Citrix Monitor Service API。
在 .env.yml
文件中定义以下环境变量。如需了解 Citrix 客户端 ID 和客户端密钥,请参阅 开始使用 Citrix API。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
URL_DOMAIN |
Citrix 网址域名。 | 无 | 否 |
CITRIX_CLIENT_ID |
Citrix 客户端 ID。 | 无 | 否 |
CITRIX_CLIENT_SECRET |
Secret Manager 中存储用于身份验证的 Citrix 客户端 Secret 的路径。 | 无 | 是 |
CITRIX_CUSTOMER_ID |
Citrix 客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 30 | 否 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
Cloud Storage
此脚本会从 Cloud Storage 提取系统日志,并将其提取到 Google Security Operations 中,同时为日志类型提供可配置的值。如需了解详情,请参阅 Google Cloud Python 客户端库。
在 .env.yml
文件中定义以下环境变量。Google Cloud 包含与安全相关的日志,其中某些日志类型无法直接导出到 Google Security Operations。如需了解详情,请参阅安全日志分析。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔时间相同。 | 60 | 否 |
GCS_BUCKET_NAME |
要从中提取数据的 Cloud Storage 存储桶的名称。 | 无 | 否 |
GCP_SERVICE_ACCOUNT_SECRET_PATH |
Secret Manager 中存储 Google Cloud 服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_DATA_TYPE |
用于将数据推送到 Google Security Operations 实例的日志类型。 | 无 | 否 |
Duo 活动
此脚本会从 Duo 管理中心提取 Duo 活动日志,并将其以 DUO_ACTIVITY
日志类型提取到 Google 安全运营中。如需了解详情,请参阅 Duo Admin API。
在 .env.yml
文件中定义以下环境变量。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
BACKSTORY_API_V1_URL |
Duo Security API 的网址路径。如需详细了解如何下载包含 DUO Admin API 集成密钥的 JSON 文件,请参阅 Duo Admin 文档。 | 无 | 是 |
DUO_SECRET_KEY |
从 DUO API 提取日志所需的 DUO 密钥。请参阅 Duo 管理员文档,了解如何下载包含 Duo Admin API 集成密钥、Duo Admin API 密钥和 Duo Admin API 主机名的 JSON 文件。 |
无 | 是 |
DUO_INTEGRATION_KEY |
从 DUO API 提取日志所需的 DUO 集成密钥。请参阅 Duo Admin 文档,了解如何下载包含 Duo Admin API 集成密钥、Duo Admin API 密钥和 Duo Admin API 主机名的 JSON 文件。 |
无 | 是 |
LOG_FETCH_DURATION |
提取日志的时长。 | 1 | 否 |
CHECKPOINT_FILE_PATH |
存储上次提取的日志的检查点时间戳的文件路径。 | checkpoint.json |
否 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
Duo 管理员
该脚本会从 Duo Admin 获取与对用户账号和安全等各种对象执行的 CRUD 操作相关的事件。这些事件会以 DUO_ADMIN
日志类型提取到 Google Security Operations。如需了解详情,请参阅 Duo Admin API。
在 .env.yml
文件中定义以下环境变量。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 无 | 否 |
DUO_API_DETAILS |
Secret Manager 中存储 Duo 账号 JSON 文件的 Secret 的路径。其中包含 Duo Admin API 集成密钥、Duo Admin API 密钥和 Duo Admin API 主机名。例如:
{
"ikey": "abcd123",
"skey": "def345",
"api_host": "abc-123"
}
如需了解如何下载 JSON 文件,请参阅 Duo 管理员文档。 |
无 | 是 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
MISP
此脚本会从 MISP(一个开源威胁情报和共享平台)提取威胁关联信息,并将其以 MISP_IOC
日志类型提取到 Google Security Operations 中。如需了解详情,请参阅 MISP Events API。
在 .env.yml
文件中定义以下环境变量。
变量 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 5 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
ORG_NAME |
用于过滤事件的组织名称。 | 无 | 否 |
API_KEY |
Secret Manager 中用于存储要用于身份验证的 API 密钥的 Secret 的路径。 | 无 | 是 |
TARGET_SERVER |
您创建的 MISP 实例的 IP 地址。 | 无 | 否 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
OneLogin 事件
此脚本会从 OneLogin 环境获取事件,并将其以 ONELOGIN_SSO
日志类型提取到 Google 安全运营中。这些事件可提供用户账号操作等信息。如需了解详情,请参阅 OneLogin Events API。
在 .env.yml
文件中定义以下环境变量。如需了解 OneLogin 客户端 ID 和客户端 Secret,请参阅使用 API 凭据。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 5 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CLIENT_ID |
OneLogin 平台的客户端 ID。 | 无 | 否 |
CLIENT_SECRET |
Secret Manager 中用于存储 OneLogin 平台的客户端密钥(用于身份验证)的密钥的路径。 | 无 | 是 |
TOKEN_ENDPOINT |
用于请求访问令牌的网址。 | https://api.us.onelogin.com/auth/oauth2/v2/token |
否 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
OneLogin 用户上下文
此脚本会从 OneLogin 环境获取与用户账号相关的数据,并将其以 ONELOGIN_USER_CONTEXT
日志类型提取到 Google 安全运营中。如需了解详情,请参阅 OneLogin User API。
在 .env.yml
文件中定义以下环境变量。如需了解 OneLogin 客户端 ID 和客户端 Secret,请参阅使用 API 凭据。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 30 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CLIENT_ID |
OneLogin 平台的客户端 ID。 | 无 | 否 |
CLIENT_SECRET |
Secret Manager 中用于存储 OneLogin 平台的客户端密钥(用于身份验证)的密钥的路径。 | 无 | 是 |
TOKEN_ENDPOINT |
用于请求访问令牌的网址。 | https://api.us.onelogin.com/auth/oauth2/v2/token |
否 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
Proofpoint
此脚本会提取特定组织在给定时间段内遭到攻击的用户的数据,并将这些数据提取到 Google 安全运营中心。如需了解所使用的 API,请参阅 People API。
在 .env.yml
文件中定义以下环境变量。如需详细了解如何获取 Proofpoint 服务正文和 Proofpoint 密钥,请参阅向 Arctic Wolf 提供 Proofpoint TAP 凭据配置指南。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔时间相同。 | 360 | 否 |
CHRONICLE_DATA_TYPE |
用于将数据推送到 Google Security Operations 实例的日志类型。 | 无 | 否 |
PROOFPOINT_SERVER_URL |
Proofpoint Server API 网关的基准网址。 | 无 | 否 |
PROOFPOINT_SERVICE_PRINCIPLE |
Proofpoint 平台的用户名。这通常是服务正文。 | 无 | 否 |
PROOFPOINT_SECRET |
Secret Manager 的路径及其版本,其中存储了 Proofpoint 平台的密码。 | 无 | 是 |
PROOFPOINT_RETRIEVAL_RANGE |
一个数字,表示应从多少天前检索数据。可接受的值为 14、30 和 90。 | 无 | 否 |
Pub/Sub
此脚本会从 Pub/Sub 订阅收集消息,并将数据提取到 Google Security Operations。它会持续监控订阅网关,并在有新消息出现时提取这些消息。如需了解详情,请参阅以下文档:
此提取脚本要求您在 .env.yml
文件和 Cloud Scheduler 作业中设置变量。
在
.env.yml
文件中定义以下环境变量。变量名称 说明 默认值 Secret CHRONICLE_CUSTOMER_ID
Google Security Operations 实例客户 ID。 无 否 CHRONICLE_REGION
Google Security Operations 实例所在的区域。 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 无 是 CHRONICLE_NAMESPACE
Google Security Operations 日志的标签命名空间。如需了解 Google Security Operations 命名空间,请参阅使用资产命名空间。 无 否 在 Cloud Scheduler 的消息正文字段中,将以下变量设置为 JSON 格式的字符串。如需详细了解消息正文字段,请参阅创建 Cloud Scheduler。
变量名称 说明 默认值 Secret PROJECT_ID
Pub/Sub 项目 ID。如需了解项目 ID 的相关信息,请参阅创建和管理项目。 无 否 SUBSCRIPTION_ID
Pub/Sub 订阅 ID。 无 否 CHRONICLE_DATA_TYPE
在将数据推送到 Google Security Operations 时提供的日志类型的提取标签。如需查看支持的日志类型的列表,请参阅 支持的默认解析器。 无 否 以下是消息正文字段的 JSON 格式字符串示例。
{ "PROJECT_ID":"projectid-0000","SUBSCRIPTION_ID":"subscription-id","CHRONICLE_DATA_TYPE":"SQUID_PROXY"}
Slack 审核日志
此脚本会从 Slack Enterprise Grid 组织获取审核日志,并将其以 SLACK_AUDIT
日志类型提取到 Google Security Operations。如需了解详情,请参阅 Slack Audit Logs API。
在 .env.yml
文件中定义以下环境变量。
变量名称 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 5 | 否 |
SLACK_ADMIN_TOKEN |
Secret Manager 中存储 Slack 身份验证令牌的 Secret 的路径。 |
无 |
是 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
STIX/TAXII
此脚本会从 STIX/TAXII 服务器提取指标,并将其提取到 Google 安全运营中。如需了解详情,请参阅 STIX/TAXII API 文档。在 .env.yml
文件中定义以下环境变量。
变量名称 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 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 安全运营中。如需了解所用库的相关信息,请参阅 pyTenable Python SDK。
在 .env.yml
文件中定义以下环境变量。如需详细了解资产和漏洞数据,请参阅 Tenable.io API:导出资产和导出漏洞。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔时间相同。 | 360 | 否 |
TENABLE_ACCESS_KEY |
用于身份验证的访问密钥。 | 无 | 否 |
TENABLE_SECRET_KEY_PATH |
包含版本的 Google Secret Manager 路径,其中存储了 Tenable Server 的密码。 | 无 | 是 |
TENABLE_DATA_TYPE |
要将哪些类型的数据注入到 Google Security Operations 中。可能的值:ASSETS、VULNERABILITIES。 | 资产、漏洞 | 否 |
TENABLE_VULNERABILITY |
您希望导出内容包含的漏洞的状态。可能的值:“OPEN”“REOPENED”和“FIXED”。 | 已打开、已重新打开 | 否 |
Trend Micro Cloud App Security
此脚本会从 Trend Micro 平台提取安全日志,并将其提取到 Google Security Operations。如需了解所使用的 API,请参阅安全日志 API。
在 .env.yml
文件中定义以下环境变量。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔时间相同。 | 10 | 否 |
CHRONICLE_DATA_TYPE |
用于将数据推送到 Google Security Operations 实例的日志类型。 | 无 | 否 |
TREND_MICRO_AUTHENTICATION_TOKEN |
Google Secret Manager 的路径(包括版本),其中存储了 Trend Micro Server 的身份验证令牌。 | 无 | 是 |
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 安全运营中心。如需了解所用 API,请参阅审核日志 API。在 .env.yml
文件中定义以下环境变量。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Google Security Operations 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Google Security Operations 实例所在的区域。 | 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 中存储 Google 安全运维服务账号 JSON 文件的 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔时间相同。 | 10 | 否 |
TREND_MICRO_AUTHENTICATION_TOKEN |
Google Secret Manager 的路径(包括版本),其中存储了 Trend Micro Server 的身份验证令牌。 | 无 | 是 |
TREND_MICRO_DOMAIN |
服务端点所在的 Trend Micro Vision One 区域。 | 无 | 否 |