使用部署为 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 安全运营数据提取脚本。

汇编单个日志类型的文件

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 文件夹包含所有提取脚本依赖的实用函数。

若要组装用于注入单一日志类型数据的文件,请执行以下步骤:

  1. 创建一个部署目录来存储 Cloud Run 函数的文件。其中包含部署所需的所有文件。
  2. 将所选日志类型(例如 OneLogin 用户上下文)的 GitHub 子目录中的所有文件复制到此部署目录。
  3. common 文件夹及其所有内容复制到部署目录。
  4. 该目录的内容将如下所示:

    one_login_user
    ├─common
    │  ├─__init__.py
    │  ├─auth.py
    │  ├─env_constants.py
    │  ├─ingest.py
    │  ├─status.py
    │  └─utils.py
    ├─env.yml
    ├─main.py
    └─requirements.txt
    

配置脚本

  1. 启动 Cloud Shell 会话。
  2. 使用 SSH 连接到 Google Cloud Linux 虚拟机。请参阅使用 Google 工具连接到 Linux 虚拟机
  3. 点击 更多 > 上传下载,将文件或文件夹移入或移出 Cloud Shell,以便上传提取脚本。

    文件和文件夹只能上传到主目录或从中下载。如需了解在 Cloud Shell 和本地工作站之间传输文件的更多方法,请参阅 [从 Cloud Shell 上传和下载文件和文件夹](/shell/docs/uploading-and-downloading-files#upload_and_download_files_and_folders)。

  4. 修改该函数的 .env.yml 文件,并填充所需的环境变量。下表列出了所有提取脚本通用的运行时环境变量。

    变量名称 说明 必填 默认 Secret
    CHRONICLE_CUSTOMER_ID Google Security Operations 客户 ID。
    CHRONICLE_REGION Google Security Operations 所在的区域。 us
    其他有效值:asia-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-east1
    CHRONICLE_SERVICE_ACCOUNT Google 安全运营服务账号 JSON 文件的内容。
    CHRONICLE_NAMESPACE Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间

  5. 每个脚本都需要特定于该脚本的环境变量。如需详细了解每种日志类型所需的环境变量,请参阅按日志类型划分的配置参数

标记为 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 函数

  1. 启动 Cloud Shell 会话。
  2. 通过 SSH 连接到 Google Cloud Linux 虚拟机。请参阅使用 Google 工具连接到 Linux 虚拟机
  3. 切换到您复制提取脚本的目录。
  4. 执行以下命令以部署 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,并由相应的解析器进行解析。

脚本流程

以下是该脚本的流程:

  1. 验证环境变量。

  2. 将脚本部署到 Cloud Run functions 函数。

  3. 使用提取脚本收集数据。

  4. 将收集的数据提取到 Google Security Operations。

  5. 通过 Google Security Operations 中的相应解析器解析收集的数据。

使用脚本收集数据并将其注入到 Google Security Operations

  1. 验证环境变量。

    变量 说明 必需 默认 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 数据类型。 -
  2. 设置目录。

    为 Cloud Run functions 部署创建一个新目录,并向其中添加 common 目录和提取脚本的内容 (armis)。

  3. 设置所需的运行时环境变量。

    .env.yml 文件中定义所需的环境变量。

  4. 使用 Secret。

    标记为 Secret 的环境变量必须在 Secret Manager 中配置为 Secret。如需详细了解如何创建 Secret,请参阅创建 Secret

    在 Secret Manager 中创建 Secret 后,使用 Secret 的资源名称作为环境变量的值。例如:

    CHRONICLE_SERVICE_ACCOUNT: projects/{project_id}/secrets/{secret_id}/versions/{version_id}

  5. 配置命名空间。

    设置 CHRONICLE_NAMESPACE 环境变量以配置命名空间。Google Security Operations 日志会被提取到该命名空间中。

  6. 部署 Cloud Run functions 函数。

    从之前创建的目录内运行以下命令,以部署 Cloud Functions 函数。gcloud functions deploy <FUNCTION NAME> --gen2 --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml

  7. Cloud Run functions 的默认规范。

    变量 默认 说明
    内存 256 MB
    超时 60 秒
    区域 us-central1
    实例数下限 0
    实例数上限 100

    如需详细了解如何配置这些变量,请参阅配置 Cloud Run functions

  8. 提取历史数据。

    如需提取历史数据并继续收集实时数据,请执行以下操作:

    1. 配置 POLL_INTERVAL 环境变量(以分钟为单位),表示需要提取的历史数据的范围。
    2. 在配置 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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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 的步骤

  1. 从代码库下载名为 Azure_eventhub_API_function_app.json 的数据连接器文件。
  2. 登录您的 Microsoft Azure 门户。
  3. 在“配置”部分中,依次选择 Microsoft Sentinel > 从列表中选择您的工作区 > 选择数据连接器,然后执行以下操作:
  4. 点击 Deploy to Azure(部署到 Azure)按钮以部署函数,然后按照同一页面上提及的步骤操作。
  5. 选择首选的订阅资源组位置,然后提供所需的值。
  6. 点击 Review + Create(检查 + 创建)。
  7. 点击创建进行部署。

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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west12me-central1me-central2me-west1northamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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 区域。