使用部署为 Cloud Functions 的注入脚本
Chronicle 提供了一组使用 Python 编写的提取脚本,这些脚本将部署为 Cloud Functions 函数。通过这些脚本,您可以从以下日志源中注入数据,这些数据按名称和日志类型列出。
- 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 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
)
这些脚本位于 Chronicle GitHub 代码库中。
已知限制:在 Cloud Functions 等无状态环境中使用这些脚本时,因为它们没有检查点功能,因此可能不会将所有日志发送到 Chronicle。Chronicle 使用 Python 3.9 运行时对脚本进行了测试。
准备工作
阅读以下资源,了解相关上下文和背景信息,从而有助于您有效使用 Chronicle 提取脚本。
- 部署 Cloud Functions 函数,了解如何从本地机器部署 Cloud Functions 函数。
- 创建和访问 Secret 说明了如何使用 Secret Manager。您需要使用此文件来存储和访问 Chronicle 服务帐号 JSON 文件。
- 安装 Google Cloud CLI。 您将用它来部署 Cloud Functions 函数。
- Google Cloud Pub/Sub 文档(如果您计划从 Pub/Sub 中注入数据)。
整理单个日志类型的文件
Chronicle GitHub 中的每个子目录都包含注入单个 Chronicle 日志类型的数据的文件。该脚本会连接到单个源设备,然后使用 Ingestion API 将原始日志发送到 Chronicle。我们建议您将每种日志类型部署为单独的 Cloud Functions 函数。访问 Chronicle GitHub 代码库中的脚本。GitHub 中的每个子目录都包含其提取的日志类型所特有的以下文件。
main.py
是特定于日志类型的提取脚本。连接到源设备,并将数据注入 Chronicle。.env.yml
会存储 Python 脚本所需的配置,并且特定于部署。您可以修改此文件,以设置提取脚本所需的配置参数。README.md
可提供有关配置参数的信息。Requirements.txt
定义提取脚本所需的依赖项。此外,common
文件夹还包含所有提取脚本所依赖的实用函数。
执行以下步骤以组合注入单个日志类型的数据的文件:
- 创建一个部署目录来存储 Cloud Functions 函数的文件。 其中包含部署所需的所有文件。
- 将所需日志类型的 GitHub 子目录(例如 OneLogin User Context)中的所有文件复制到此部署目录。
- 将
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 上传和下载文件和文件夹。
修改函数的
.env.yml
文件,并填充所需的环境变量。下表列出了所有提取脚本通用的运行时环境变量。变量名 说明 必需 默认 Secret CHRONICLE_CUSTOMER_ID
Chronicle 客户 ID。 是 无 否 CHRONICLE_REGION
Chronicle 区域。 是 us
其他有效值为asia-southeast1
、europe
和europe-west2
。否 CHRONICLE_SERVICE_ACCOUNT
Chronicle 服务帐号 JSON 文件的内容。 是 无 是 CHRONICLE_NAMESPACE
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 否 无 否 每个脚本都需要特定于该脚本的环境变量。如需详细了解每种日志类型所需的环境变量,请参阅按日志类型划分的配置参数。
标记为 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 Functions 函数。
部署 Cloud Functions 函数
- 启动 Cloud Shell 会话。
- 通过 SSH 连接到 Google Cloud Linux 虚拟机。请参阅使用 Google 工具连接到 Linux 虚拟机。
- 切换到您复制提取脚本的目录。
执行以下命令以部署 Cloud Functions 函数。
gcloud functions deploy <FUNCTION NAME> --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml
其中,
FUNCTION_NAME
是您为 Cloud Functions 函数定义的名称。注意:如果您不将目录更改为文件的位置,请务必使用
--source
选项指定部署脚本的位置。
查看运行时日志
提取脚本会将运行时消息输出到 stdout。Cloud Functions 提供了一种查看日志消息的机制。如需了解详情,请参阅关于查看运行时日志的 Cloud Functions 函数信息。
配置参数(按日志类型)
阿鲁巴中部
此脚本会从 Aruba Central 平台提取审核日志,并使用 ARUBA_CENTRAL
日志类型将其提取到 Chronicle。如需了解如何使用该库,请参阅 pycentral Python SDK。
在 .env.yml
文件中定义以下环境变量。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 和 europe 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 10 | 否 |
ARUBA_CLIENT_ID |
Aruba Central API 网关客户端 ID。 | 无 | 否 |
ARUBA_CLIENT_SECRET_SECRET_PATH |
Aruba Central API 网关客户端密钥。 | 无 | 是 |
ARUBA_USERNAME |
阿鲁巴中央平台的用户名。 | 无 | 否 |
ARUBA_PASSWORD_SECRET_PATH |
阿鲁巴中央平台的密码。 | 无 | 是 |
ARUBA_BASE_URL |
Aruba Central API 网关的基准网址。 | 无 | 否 |
ARUBA_CUSTOMER_ID |
阿鲁巴中央平台的客户 ID。 | 无 | 否 |
Azure 事件中心
与其他提取脚本不同,此脚本使用 Azure 函数从 Azure Event Hub 中提取事件。每当有新事件添加到存储桶时,Azure 函数都会自行触发,并且每个事件都会逐渐提取到 Chronicle。
部署 Azure 函数的步骤:
- 从代码库中下载名为
Azure_eventhub_API_function_app.json
的数据连接器文件。 - 登录 Microsoft Azure 门户。
- 导航到 Microsoft Sentinel > 从列表中选择您的工作区 > 在配置部分选择 Data Connector,然后执行以下操作:
- 在网址中将以下标志设置为 true:
feature.BringYourOwnConnector=true
。例如:https://portal.azure.com/?feature.BringYour 自有 Connector=true&...
- 在网址中将以下标志设置为 true:
- 找到页面上的导入按钮,然后导入第 1 步中下载的数据连接器文件。
- 点击部署到 Azure 按钮以部署您的函数,然后按照同一页面上所述的步骤操作。
- 选择首选的订阅、资源组和位置,并提供必填值。
- 点击审核 + 创建。
- 点击创建以进行部署。
Box
此脚本会获取 Box 中发生的事件的详细信息,并使用 BOX
日志类型将其提取到 Chronicle。通过这些数据,您可以深入了解 Box 环境中对象的 CRUD 操作。如需了解 Box 事件,请参阅 Box events API。
在 .env.yml
文件中定义以下环境变量。如需详细了解 Box 客户端 ID、客户端密钥和主题 ID,请参阅授予客户端凭据。
变量名 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 5 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 、europe 和 europe-west2 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
BOX_CLIENT_ID |
Box 平台的客户端 ID,可在 Box 开发者控制台中找到。 | 无 | 否 |
BOX_CLIENT_SECRET |
Secret Manager 中存储 Box 平台用于进行身份验证的客户端 Secret 的路径。 | 无 | 是 |
BOX_SUBJECT_ID |
Box User ID 或 Enterprise ID。 | 无 | 否 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
Citrix Cloud 审核日志
此脚本会收集 Citrix Cloud 审核日志,并使用 CITRIX_MONITOR
日志类型将其提取到 Chronicle。这些日志会提供有关更改内容、更改者、更改时间等信息,从而帮助您识别在 Citrix Cloud 环境中执行的活动。如需了解详情,请参阅 Citrix Cloud SystemLog API。
在 .env.yml
文件中定义以下环境变量。如需了解 Citrix 客户端 ID 和客户端密钥,请参阅 Citrix API 使用入门。
变量名 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 、europe 和 europe-west2 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
CITRIX_CLIENT_ID |
Citrix API 客户端 ID。 | 无 | 否 |
CITRIX_CLIENT_SECRET |
Secret Manager 中存储用于身份验证的 Citrix API 客户端 Secret 的 Secret 的路径。 | 无 | 是 |
CITRIX_CUSTOMER_ID |
Citrix CustomerID。 | 无 | 否 |
POLL_INTERVAL |
收集额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 30 | 否 |
URL_DOMAIN |
Citrix Cloud 端点。 | 无 | 否 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
Citrix 会话元数据
此脚本会从 Citrix 环境收集 Citrix 会话元数据,并使用 CITRIX_MONITOR
日志类型将其提取到 Chronicle。数据包括用户登录详细信息、会话时长、会话创建时间、会话结束时间以及与会话相关的其他元数据。如需了解详情,请参阅 Citrix Monitor Service API。
在 .env.yml
文件中定义以下环境变量。如需了解 Citrix 客户端 ID 和客户端密钥,请参阅 Citrix API 使用入门。
变量名 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 、europe 和 europe-west2 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 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 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
Cloud Storage
此脚本从 Cloud Storage 中提取系统日志,并将其以日志类型(可配置)值注入 Chronicle。如需了解详情,请参阅 Google Cloud Python 客户端库。
在 .env.yml
文件中定义以下环境变量。Google Cloud 具有安全相关日志,某些日志类型无法直接导出到 Chronicle。如需了解详情,请参阅安全日志分析。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 和 europe 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 60 | 否 |
GCS_BUCKET_NAME |
要从中提取数据的 Cloud Storage 存储桶的名称。 | 无 | 否 |
GCP_SERVICE_ACCOUNT_SECRET_PATH |
存储 Google Cloud 服务帐号 JSON 文件的 Secret Manager 中的 Secret 路径。 | 无 | 是 |
CHRONICLE_DATA_TYPE |
用于将数据推送到 Chronicle 实例中的日志类型。 | 无 | 否 |
Duo 管理员
此脚本会从 Duo 管理员获取与针对用户帐号和安全等各种对象执行的 CRUD 操作相关的事件。系统会将事件以 DUO_ADMIN
日志类型提取到 Chronicle 中。如需了解详情,请参阅 Duo Admin API。
在 .env.yml
文件中定义以下环境变量。
变量名 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 、europe 和 europe-west2 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
POLL_INTERVAL |
函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 无 | 否 |
DUO_API_DETAILS |
存储 Duo 帐号 JSON 文件的 Secret Manager 中 Secret 的路径。其中包含 Duo Admin API 集成密钥、Duo Admin API 密钥和 Duo Admin API 主机名。例如:
{
"ikey": "abcd123",
"skey": "def345",
"api_host": "abc-123"
}
如需了解下载 JSON 文件的说明,请参阅 Duo 管理员文档。 |
无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
美国互联网服务提供商
此脚本会从开源威胁情报和分享平台 MISP 中提取威胁关系信息,并使用 MISP_IOC
日志类型将其注入 Chronicle。如需了解详情,请参阅 MISP Events API。
在 .env.yml
文件中定义以下环境变量。
变量 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 5 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 、europe 和 europe-west2 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
ORG_NAME |
过滤事件的组织名称。 | 无 | 否 |
API_KEY |
Secret Manager 中用于存储所用身份验证的 API 密钥的 Secret 的路径。 | 无 | 是 |
TARGET_SERVER |
您创建的 MISP 实例的 IP 地址。 | 无 | 否 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
OneLogin 事件
此脚本会从 OneLogin 环境中获取事件,并使用 ONELOGIN_SSO
日志类型将其提取到 Chronicle 中。这些事件会提供用户帐号操作等信息。如需了解详情,请参阅 OneLogin Events API。
在 .env.yml
文件中定义以下环境变量。如需了解 OneLogin 客户端 ID 和客户端密钥,请参阅使用 API 凭据。
变量名 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 5 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 、europe 和 europe-west2 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
CLIENT_ID |
OneLogin 平台的客户端 ID。 | 无 | 否 |
CLIENT_SECRET |
Secret Manager 中存储用于登录的 OneLogin 平台的客户端 Secret 的 Secret 的路径。 | 无 | 是 |
TOKEN_ENDPOINT |
用于请求访问令牌的网址。 | https://api.us.onelogin.com/auth/oauth2/v2/token” | 否 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
OneLogin 用户上下文
此脚本会从 OneLogin 环境中获取与用户帐号相关的数据,并使用 ONELOGIN_USER_CONTEXT
日志类型将其注入 Chronicle。如需了解详情,请参阅 OneLogin User API。
在 .env.yml
文件中定义以下环境变量。如需了解 OneLogin 客户端 ID 和客户端密钥,请参阅使用 API 凭据。
变量名 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 30 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 、europe 和 europe-west2 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
CLIENT_ID |
OneLogin 平台的客户端 ID。 | 无 | 否 |
CLIENT_SECRET |
Secret Manager 中存储用于登录的 OneLogin 平台的客户端 Secret 的 Secret 的路径。 | 无 | 是 |
TOKEN_ENDPOINT |
用于请求访问令牌的网址。 | https://api.us.onelogin.com/auth/oauth2/v2/token |
否 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
证据
此脚本会针对特定时段内从特定组织攻击的用户获取数据,并将相应数据注入 Chronicle。如需了解所使用的 API,请参阅 People API。
在 .env.yml
文件中定义以下环境变量。如需详细了解如何获取 Proofpoint 服务正文和 Proofpoint Secret,请参阅向北极狼配置证明 TAP 凭据。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 和 europe 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 360 | 否 |
CHRONICLE_DATA_TYPE |
用于将数据推送到 Chronicle 实例中的日志类型。 | 无 | 否 |
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 订阅中收集消息,并将数据注入 Chronicle。它会持续监控订阅网关,并在消息出现时提取更新的消息。有关详情,请参阅以下文档:
此提取脚本要求您在 .env.yml
文件和 Cloud Scheduler 作业中设置变量。
在
.env.yml
文件中定义以下环境变量。变量名 说明 默认值 Secret CHRONICLE_CUSTOMER_ID
Chronicle 实例客户 ID。 无 否 CHRONICLE_REGION
Chronicle 实例区域。 us
其他有效值:asia-southeast1
、europe
和europe-west2
。否 CHRONICLE_SERVICE_ACCOUNT
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 无 是 CHRONICLE_NAMESPACE
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 无 否 将 Cloud Scheduler 消息正文字段中的以下变量设置为 JSON 格式的字符串。如需详细了解邮件正文字段,请参阅创建 Cloud Scheduler。
变量名 说明 默认值 Secret PROJECT_ID
Pub/Sub 项目 ID。如需了解项目 ID,请参阅创建和管理项目。 无 否 SUBSCRIPTION_ID
Pub/Sub 订阅 ID。 无 否 CHRONICLE_DATA_TYPE
在将数据推送到 Chronicle 时提供的日志类型的提取标签。如需查看支持的日志类型列表,请参阅支持的默认解析器。 无 否 以下是 Message body 字段的 JSON 格式字符串示例。
{ "PROJECT_ID":"projectid-0000","SUBSCRIPTION_ID":"subscription-id","CHRONICLE_DATA_TYPE":"SQUID_PROXY"}
Slack 审核日志
此脚本会从 Slack Enterprise Grid 组织获取审核日志,并使用 SLACK_AUDIT
日志类型将其提取到 Chronicle。如需了解详情,请参阅 Slack Audit Logs API。
在 .env.yml
文件中定义以下环境变量。
变量名 | 说明 | 默认值 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 、europe 和 europe-west2 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
POLL_INTERVAL |
函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 5 | 否 |
SLACK_ADMIN_TOKEN |
存储 Slack 身份验证令牌的 Secret Manager 中 Secret 的路径。 |
无 |
是 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
STIX/TAXII
此脚本会从 STIX/TAXII 服务器中提取指示符,并将其提取到 Chronicle 中。如需了解详情,请参阅 STIX/TAXII API 文档。
在 .env.yml
文件中定义以下环境变量。
变量名称 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 、europe 和 europe-west2 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 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
日志类型将其注入 Chronicle。如需了解所使用的库,请参阅 pyTenable Python SDK。
在 .env.yml
文件中定义以下环境变量。如需详细了解资产和漏洞数据,请参阅 Tenable.io API:导出资产和导出漏洞。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 和 europe 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 360 | 否 |
TENABLE_ACCESS_KEY |
用于进行身份验证的访问密钥。 | 无 | 否 |
TENABLE_SECRET_KEY_PATH |
存储 Tenable Server 密码的 Google Secret Manager 的路径。 | 无 | 是 |
TENABLE_DATA_TYPE |
Chronicle 中要注入的数据类型。可能的值:ASSETS、VULNERABILITIES。 | 资产、漏洞 | 否 |
TENABLE_VULNERABILITY |
您希望导出包含的漏洞的状态。可能的值:“OPEN”、“REOPENED”和“FIXED”。 | 已开业,已重新开业 | 否 |
Trend Micro Cloud App Security
此脚本会从 Trend Micro 平台中提取安全日志,并将其注入 Chronicle。如需了解所使用的 API,请参阅安全日志 API。在 .env.yml
文件中定义以下环境变量。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 和 europe 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 10 | 否 |
CHRONICLE_DATA_TYPE |
用于将数据推送到 Chronicle 实例中的日志类型。 | 无 | 否 |
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、teamschat。 | Exchange, sharepoint, onedrive, dropbox, box, googledrive, gmail, team, Exchangeserver, salesforce_sandbox, salesforce_production, team_chat | 否 |
TREND_MICRO_EVENT |
要检索其日志的安全事件类型。支持以英文逗号分隔的值。可能的值:securityrisk、virtualanalyzer、ransomware、dlp。 | securityrisk、virtualanalyzer、勒索软件、dlp | 否 |
趋势科技一号
此脚本会检索 Trend Micro Vision One 的审核日志,并将其注入到日志类型为 TREND_MICRO_VISION_AUDIT
的 Chronicle 中。如需了解所使用的 API,请参阅审核日志 API。在 .env.yml
文件中定义以下环境变量。
变量 | 说明 | 默认 | Secret |
---|---|---|---|
CHRONICLE_CUSTOMER_ID |
Chronicle 实例客户 ID。 | 无 | 否 |
CHRONICLE_REGION |
Chronicle 实例区域。 | us 其他有效值: asia-southeast1 和 europe 。 |
否 |
CHRONICLE_SERVICE_ACCOUNT |
存储 Chronicle 服务帐号 JSON 文件的 Secret Manager 中 Secret 的路径。 | 无 | 是 |
CHRONICLE_NAMESPACE |
Chronicle 日志使用的命名空间。如需了解 Chronicle 命名空间,请参阅使用资源命名空间。 | 无 | 否 |
POLL_INTERVAL |
函数执行以获取额外日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 | 10 | 否 |
TREND_MICRO_AUTHENTICATION_TOKEN |
版本 Google Secret Manager 的路径,其中存储了 Trend Micro Server 的身份验证令牌。 | 无 | 是 |
TREND_MICRO_DOMAIN |
服务端点所在的 Trend Micro Vision One 区域。 | 无 | 否 |