使用部署为 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 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 Security Operations 中 GitHub 代码库

已知限制:当这些脚本在 Cloud Run 函数等无状态环境中使用时,它们可能无法将所有日志发送到 Google 安全运营团队,因为它们缺少检查点功能。Google Security Operations 已使用 Python 3.9 运行时

准备工作

阅读以下提供背景信息的资源 让您能够有效使用 Google Security Operations 注入脚本。

整理单个日志类型的文件

Google Security Operations 中的每个子目录 GitHub 包含 为单一 Google Security Operations 日志类型注入数据。脚本会连接到 单个源设备,然后使用 Ingestion API。我们建议您将每种日志类型 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 虚拟机。请参阅通过以下方式连接到 Linux 虚拟机: Google 工具
  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-west12me-central1me-central2me-west1northamerica-northeast2
    CHRONICLE_SERVICE_ACCOUNT Google Security Operations 服务账号 JSON 文件的内容。
    CHRONICLE_NAMESPACE Google Security Operations 日志的标签命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间

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

标记为 Secret = Yes 的环境变量必须在 Secret Manager请参阅 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 调用器 (roles/cloudfunctions.invoker)Secret Manager Secret Accessor (roles/secretmanager.secretAccessor) 角色。

查看运行时日志

提取脚本会将运行时消息输出到 stdout。Cloud Run functions 提供了一种查看日志消息的机制。如需了解详情,请参阅 有关查看运行时的函数信息 日志

按日志类型的配置参数

Armis Google Security Operations 集成

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

脚本流程

以下是脚本的流程:

  1. 验证环境变量。

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

  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 函数部署创建一个新目录并将其添加到该目录中 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 函数。

    从之前创建的目录内运行以下命令,以部署 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 函数

  8. 提取历史数据。

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

    1. 配置 POLL_INTERVAL 环境变量(以分钟为单位),表示需要提取的历史数据的范围。
    2. 在配置 Cloud Run 函数后,您可以使用调度程序触发函数,也可以在 Google Cloud CLI 中运行命令手动触发函数。

阿鲁巴中部地区

此脚本从 Aruba Central 平台提取审核日志并进行注入 以 ARUBA_CENTRAL 日志类型导入 Google Security Operations。如需了解如何使用该库,请参阅 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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 JSON 文件。
CHRONICLE_NAMESPACE Google Security Operations 日志带有标签的命名空间。对于 如需了解 Google Security Operations 命名空间,请参阅使用资产命名空间
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 函数的步骤

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

Box

此脚本会获取 Box 中发生的事件的详细信息,并提取这些事件 以 BOX 日志类型导入 Google Security Operations。这些数据有助于您深入了解对 Box 环境中的对象执行的 CRUD 操作。如需了解 Box 事件,请参阅 Box events API

.env.yml 文件中定义以下环境变量。有关 有关 Box 客户端 ID、客户端密钥和主题 ID 的信息,请参阅客户端 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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 JSON 文件。
BOX_CLIENT_ID Box 平台的客户端 ID,可在 Box 开发者控制台中找到。
BOX_CLIENT_SECRET Secret Manager 中用于存储客户端的 Secret 的路径 用于身份验证的 Box 平台密钥。
BOX_SUBJECT_ID Box 用户 ID 或企业 ID。
CHRONICLE_NAMESPACE Google Security Operations 日志带有标签的命名空间。对于 如需了解 Google Security Operations 命名空间,请参阅使用资产命名空间

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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 JSON 文件。
CITRIX_CLIENT_ID Citrix API 客户端 ID。
CITRIX_CLIENT_SECRET Secret Manager 中用于存储 Citrix API 的 Secret 的路径 用于身份验证的客户端密钥。
CITRIX_CUSTOMER_ID Citrix 客户 ID。
POLL_INTERVAL 收集其他日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业的持续时间相同 。 30
URL_DOMAIN Citrix Cloud 端点。
CHRONICLE_NAMESPACE Google Security Operations 日志的标签命名空间。对于 如需了解 Google Security Operations 命名空间,请参阅使用资产命名空间

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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 JSON 文件。
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 Security Operations 命名空间的信息,请参阅使用 资源命名空间

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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 JSON 文件的 Secret 的路径。
CHRONICLE_NAMESPACE Google Security Operations 日志的标签命名空间。如需了解 Google Security Operations 命名空间,请参阅使用资产命名空间
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 管理员处获取与在以下设备上执行的 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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 JSON 文件。
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" }
请参阅 Duo 管理员文档,了解如何下载 JSON 文件。
CHRONICLE_NAMESPACE Google Security Operations 日志带有标签的命名空间。对于 如需了解 Google Security Operations 命名空间,请参阅使用资产命名空间

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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 JSON 文件。
ORG_NAME 过滤事件的组织名称。
API_KEY Secret Manager 中用于存储以下项目的 API 密钥的 Secret 的路径 使用身份验证。
TARGET_SERVER 您创建的 MISP 实例的 IP 地址。
CHRONICLE_NAMESPACE Google Security Operations 日志带有标签的命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间

OneLogin 事件

此脚本会从 OneLogin 环境获取事件,并将这些事件注入到 日志类型为 ONELOGIN_SSO 的 Google Security Operations。这些事件可提供用户账号操作等信息。有关详情,请参阅 OneLogin 事件 API ,了解所有最新动态。

.env.yml 文件中定义以下环境变量。对于 有关 OneLogin 客户端 ID 和客户端密钥的信息,请参阅使用 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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 JSON 文件。
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 Security Operations 命名空间的信息,请参阅使用 资源命名空间

OneLogin 用户上下文

此脚本从 OneLogin 环境获取与用户账号相关的数据,并 以 ONELOGIN_USER_CONTEXT 日志类型将其注入 Google Security Operations 中。 如需了解详情,请参阅 OneLogin 用户 API ,了解所有最新动态。

.env.yml 文件中定义以下环境变量。对于 有关 OneLogin 客户端 ID 和客户端密钥的信息,请参阅使用 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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 JSON 文件。
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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 JSON 文件的 Secret 的路径。
CHRONICLE_NAMESPACE Google Security Operations 日志带有标签的命名空间。如需了解 Google Security Operations 命名空间,请参阅使用资产命名空间
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-west12me-central1me-central2me-west1northamerica-northeast2
    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 审核日志 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 Security Operations 服务账号 JSON 文件。
POLL_INTERVAL 执行函数以获取 额外日志数据(以分钟为单位)。此时长必须与 Cloud Scheduler 作业间隔相同。 5
SLACK_ADMIN_TOKEN Secret Manager 中用于存储 Slack 的 Secret 的路径 身份验证令牌。


CHRONICLE_NAMESPACE Google Security Operations 日志带有标签的命名空间。如需了解 Google 安全运营命名空间,请参阅使用资产命名空间

STIX/TAXII

此脚本从 STIX/TAXII 服务器提取指标,并将其注入 Google Security Operations,如需了解详情,请参阅 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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 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 Security Operations 中。对于 有关所使用库的信息,请参阅 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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 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 服务器的身份验证令牌。
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, groups, Exchangeserver, salesforce_sandbox, salesforce_production, team_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-west12me-central1me-central2me-west1northamerica-northeast2
CHRONICLE_SERVICE_ACCOUNT Secret Manager 中用于存储 Google Security Operations 服务账号 JSON 文件的 Secret 的路径。
CHRONICLE_NAMESPACE Google Security Operations 日志带有标签的命名空间。如需了解 Google Security Operations 命名空间,请参阅使用资产命名空间
POLL_INTERVAL 函数执行以获取更多日志数据的频率间隔(以分钟为单位)。此时长必须与 Cloud Scheduler 作业时间间隔相同。 10
TREND_MICRO_AUTHENTICATION_TOKEN 包含版本号的 Google Secret Manager 路径,用于存储 Trend Micro 服务器的身份验证令牌。
TREND_MICRO_DOMAIN 服务端点所在的 Trend Micro Vision One 区域。