使用部署为 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 注入脚本。

为单个日志类型组装文件

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

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

  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 和本地工作站之间传输文件的更多方法,请参阅 [从 Cloud Shell 上传和下载文件及文件夹](/shell/docs/uploading-and-downloading-files#upload_and_download_files_and_folders)。

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

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

  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 提供了一种查看日志消息的机制。

按日志类型列出的配置参数

Armis Google SecOps 集成

此脚本使用来自 Armis 平台的 API 调用来收集不同类型事件的数据,例如提醒、活动、设备和漏洞。收集的数据会注入到 Google SecOps 中,并由相应的解析器进行解析。

脚本流程

以下是脚本的流程:

  1. 验证环境变量。

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

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

  4. 将收集的数据注入到 Google SecOps 中。

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

使用脚本收集数据并将其注入到 Google SecOps 中

  1. 验证环境变量。

    变量 说明 必需 默认 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。 -
  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 环境变量以配置命名空间。Chronicle (Google SecOps) 日志会提取到命名空间中。

  6. 部署 Cloud Run 函数。

    从之前创建的目录内运行以下命令,以部署 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
    Timedout 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 SecOps 中。如需了解如何使用该库,请参阅 pycentral Python SDK

.env.yml 文件中定义以下环境变量。

变量 说明 默认 Secret
CHRONICLE_CUSTOMER_ID Chronicle (Google SecOps) 实例客户 ID。
CHRONICLE_REGION Chronicle (Google SecOps) 实例区域。 us
其他有效值:asia-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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 函数的步骤

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

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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west12me-central1me-central2me-west1northamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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-northeast1asia-south1asia-southeast1australia-southeast1europeeurope-west2europe-west3europe-west6europe-west9europe-west12me-central1me-central2me-west1northamerica-northeast2southamerica-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 专业人士那里获得解答。