收集 Aware Signals 日志

解析器版本:1.0

支持的平台:

本文档介绍了如何配置 Aware 以使用 Webhook 将 Signal 事件日志推送到 Google Security Operations。

Aware (by Mimecast) 是一款协作安全和内部风险平台,可监控 Slack、Microsoft Teams、Zoom、Cisco Webex 和 Workvivo 等企业通信工具中的内容。Aware Signal 应用使用 AI 模型、关键字匹配、正则表达式和情感分析来检测违规行为并生成事件。这些信号事件可以转发到 SIEM 目标位置,以便进行集中式安全监控和关联。

准备工作

请确保满足以下前提条件:

  • Google SecOps 实例
  • 已启用 Signal 模块的 Aware 平台订阅
  • 有权访问系统设置的 Aware 管理员账号
  • 至少有一个协作平台(Slack、Microsoft Teams、Zoom、Webex 或 Workvivo)已连接到 Aware 并正在提取内容
  • 至少配置了一项会生成事件的信号政策和规则
  • 对 Google Cloud Console 的访问权限(用于创建 API 密钥)

在 Google SecOps 中创建 Webhook Feed

创建 Feed

  1. 依次前往 SIEM 设置 > Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称字段中,输入 Feed 的名称(例如 Aware Signal Events)。
  5. 选择 Webhook 作为来源类型
  6. 选择 Aware Signals 作为日志类型
  7. 点击下一步
  8. 为以下输入参数指定值:
    • 拆分定界符:输入 \n(NDJSON 载荷的换行符分隔符)
    • 资产命名空间资产命名空间
    • 注入标签:要应用于此 Feed 中事件的标签
  9. 点击下一步
  10. 最终确定界面中查看新的 Feed 配置,然后点击提交

生成并保存密钥

创建 Feed 后,您必须生成用于身份验证的密钥:

  1. 在 Feed 详情页面上,点击生成密钥
  2. 系统会显示一个对话框,其中包含密钥。
  3. 复制并妥善保存此密钥。

获取 Feed 端点网址

  1. 前往相应 Feed 的详细信息标签页。
  2. 端点信息部分,复制 Feed 端点网址
  3. 网址格式为:

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    

    https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    
  4. 保存此网址以供后续步骤使用。

  5. 点击完成

创建 Google Cloud API 密钥

Google SecOps 需要使用 API 密钥进行身份验证。在 Google Cloud Console 中创建受限 API 密钥。

创建 API 密钥

  1. 前往 Google Cloud 控制台的“凭据”页面
  2. 选择您的项目(与您的 Google SecOps 实例关联的项目)。
  3. 依次点击创建凭据> API 密钥
  4. 系统会创建一个 API 密钥,并在对话框中显示该密钥。
  5. 点击修改 API 密钥以限制密钥。

限制 API 密钥

  1. API 密钥设置页面中:
    • 名称:输入一个描述性名称(例如 Chronicle Webhook API Key
  2. API 限制下:
    1. 选择限制密钥
    2. 选择 API 下拉菜单中,搜索并选择 Google SecOps API(或 Chronicle API)。
  3. 点击保存
  4. 从页面顶部的 API 密钥字段复制 API 密钥值。
  5. 安全地保存 API 密钥。

获取 Aware API 密钥

Aware 使用 API 密钥对外部集成进行身份验证。如需获取密钥,请执行以下操作:

  1. 使用管理员账号登录 https://aware.work 中的 Aware
  2. 点击左下角的系统设置
  3. 前往集成标签页。
  4. 复制页面上显示的 API 密钥

  5. 请妥善保存 API 密钥,以便在后续步骤中使用。

配置 Aware Signal 网络钩子转发

构建网络钩子网址

  • 将 Google SecOps 端点网址、API 密钥和密钥合并:

    <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>
    
  • 示例

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
    

在 Aware 中配置事件转发

将 Aware 配置为将 Signal 事件转发到 Google SecOps 网络钩子端点。具体步骤可能会因 Aware 平台版本而异。

  1. 使用管理员账号登录 https://aware.work 中的 Aware
  2. 点击左下角的系统设置
  3. 前往集成标签页。
  4. 使用以下详细信息配置新的 Webhook 目标:

    • 目标网址:粘贴完整的网络钩子网址,并在末尾附加 API 密钥和密钥作为查询参数:

      https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY
      
    • 内容类型:选择 application/json

    • 身份验证标头(如果您的 Aware 版本支持):将标头名称设置为 X-Aware-Api-Key,并将值设置为您的 Aware API 密钥

  5. 选择要转发的事件类型。如需进行全面的安全监控,请启用所有信号事件的转发功能:

    • 政策违规事件
    • 关键字匹配事件
    • AI/情绪检测事件
    • 恶意行为检测事件
  6. 点击保存以激活 webhook 目标网址。

替代方案:使用 Cloud Run 函数转发事件

如果您的 Aware 版本不支持针对 Signal 事件的原生 webhook 推送,您可以使用 Cloud Run 函数轮询 Aware API 并将事件转发到 Google SecOps webhook 端点。

  1. 创建具有 Pub/Sub 触发器的 Cloud Run 函数(Python 3.12 或更高版本)。
  2. 将函数配置为:
    1. 使用 X-Aware-Api-Key 标头向 Aware API 进行身份验证。
    2. 从 Aware API 端点查询 Signal 事件。
    3. 将每个事件作为 JSON 载荷转发到 Google SecOps Webhook 端点网址。
  3. 使用 Cloud Scheduler 定期(例如每 5 分钟)调用该函数。

    • 转发事件的请求示例

      curl -X POST "https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY" \
        -H "Content-Type: application/json" \
        -d '{"signal_id":"12345","event_type":"policy_violation","timestamp":"2026-01-15T10:30:00Z","user":"user@example.com","platform":"slack","policy":"Data Loss Prevention","rule":"Credit Card Numbers","message_snippet":"detected content"}'
      

验证事件传送

  1. 在 Google SecOps 中,依次前往 SIEM 设置 > Feed
  2. 点击 Aware Signal Events Feed。
  3. 前往状态标签页。
  4. 验证是否正在接收事件。
  5. 或者,在 Aware 中触发测试 Signal 事件:

    1. Aware 中,依次前往信号 > 事件
    2. 验证政策是否正在生成新事件。
    3. 等待几分钟,让事件显示在 Google SecOps 中。

感知信号事件类型

Aware Signal 通过将 AI 模型、关键字匹配、正则表达式和情感分析相结合,检测关联的协作平台中的事件。以下是常见的事件类别:

类别 说明 示例
违反政策 由已定义的政策规则触发的事件 关键字检测、正则表达式模式匹配、敏感数据
AI/情绪 AI 和情感模型检测到的事件 恶意语言、负面情绪、骚扰
数据丢失 与潜在数据渗漏相关的事件 文件共享违规行为、外部共享、凭据泄露
内部人员风险 表明存在潜在内部威胁的事件 异常行为模式、访问异常、离职员工风险
合规性 与监管合规相关的活动 PII 暴露、财务数据共享、违反 HIPAA 规定

身份验证方法参考

Google SecOps Webhook Feed 支持多种身份验证方法。选择供应商支持的方法。

方法 1:查询参数

将凭据附加到网络钩子网址。

  • 网址格式

    <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>
    
  • 示例

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
    

方法 2:自定义标头

如果您的配置支持自定义 HTTP 标头,请使用此方法来提高安全性。

  • 标头:

    x-goog-chronicle-auth: <API_KEY>
    x-chronicle-auth: <SECRET_KEY>
    

优点:

  • API 密钥和密文在网址中不可见
  • 更安全(标头不会记录在 Web 服务器访问日志中)

Webhook 限制和最佳实践

请求限制

限制
最大请求大小 4 MB
最大 QPS(每秒查询次数) 15000
请求超时 30 秒
重试行为 自动(使用指数退避算法)

最佳做法

  • 为所有 Signal 事件类型启用转发,以确保全面的安全覆盖
  • 定期监控 webhook 传送状态,查看是否存在失败或延迟情况
  • 在 Google SecOps Feed 配置中使用 \n 分隔符来处理 NDJSON 载荷
  • 在部署到生产环境之前,先测试集成是否会违反已知政策
  • 定期查看“感知信号”政策,确保系统能够捕获相关事件

问题排查

事件未显示在 Google SecOps 中

原因:Aware 中正在生成事件,但未注入事件

解决方案

  1. 在 Google SecOps 中,依次前往 SIEM 设置> Feed
  2. 点击“Aware Signal Events”Feed。
  3. 前往状态标签页。
  4. 检查是否存在提取错误。
  5. 验证日志类型是否设置为 Aware Signals
  6. 验证网络钩子网址中的 API 密钥和密钥是否正确。

身份验证错误

原因:API 密钥或密钥无效

解决方案

  1. 验证 Google SecOps API 密钥是否有效且具有正确的 API 限制。
  2. 验证密钥是否与在创建 Feed 时生成的密钥一致。
  3. 手动测试端点:

    curl -X POST "https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=YOUR_API_KEY&secret=YOUR_SECRET_KEY" \
        -H "Content-Type: application/json" \
        -d '{"test": "event"}'
    
  4. 如果测试失败,请重新生成 API 密钥或密钥,并更新 Aware 中的 webhook 配置。

载荷超出最大大小

原因:事件载荷超过 4 MB 的限制

解决方案

  1. 减少转发的事件类型数量。
  2. 请与 Aware 支持团队联系,以配置载荷大小限制。
  3. 如果使用 Cloud Run 函数方法,请实现批处理,将大型载荷拆分为多个请求。

UDM 映射表

日志字段 UDM 映射 逻辑
has_principal metadata.event_type 已映射:trueNETWORK_CONNECTIONtrueSTATUS_UPDATE
has_user metadata.event_type 已映射:trueUSER_UNCATEGORIZED
signalEventDetails.eventStatus security_result.action_details 直接映射
contentObjectDetails_contentObjectIsChat_label security_result.detection_fields 已合并
contentObjectDetails_contentObjectIsThread_label security_result.detection_fields 已合并
detectionLength_label security_result.detection_fields 已合并
detectionStart_label security_result.detection_fields 已合并
ruleConditionMatches_label security_result.detection_fields 已合并
search_label security_result.detection_fields 已合并
signalEventDetails_createdTime_label security_result.detection_fields 已合并
signalEventDetails_deletedTime_label security_result.detection_fields 已合并
signalEventDetails_inspectionRequestId_label security_result.detection_fields 已合并
signalEventDetails_isQuarantined_label security_result.detection_fields 已合并
signalEventDetails_policyDetails_createdTime_label security_result.detection_fields 已合并
signalEventDetails_policyDetails_policyId_label security_result.detection_fields 已合并
signalEventDetails_policyDetails_policyName_label security_result.detection_fields 已合并
signalEventDetails_ruleBehavior_label security_result.detection_fields 已合并
signalEventDetails_ruleFamilyId_label security_result.detection_fields 已合并
signalEventDetails_tenantId_label security_result.detection_fields 已合并
signalEventId_label security_result.detection_fields 已合并
signal_EventDetails_policyDetails_deletedTime_label security_result.detection_fields 已合并
snippetContent_label security_result.detection_fields 已合并
snippetLength_label security_result.detection_fields 已合并
snippetStart_label security_result.detection_fields 已合并
signalEventDetails_ruleId security_result.rule_id 直接映射
signalEventDetails_ruleName security_result.rule_name 直接映射
contentGroupDetails.contentGroupScope_label target.group.attribute.labels 已合并
contentObjectDetails_contentGroupDetails_contentGroupTag_label target.group.attribute.labels 已合并
contentGroupDetails_contentGroupName target.group.group_display_name 直接映射
contentObjectDetails_contentPlatformId_label target.resource.attribute.labels 已合并
contentObjectDetails_contentTime_label target.resource.attribute.labels 已合并
contentObjectDetails_contentObjectId target.resource.product_object_id 直接映射
contentObjectDetails_contentObjectType target.resource.resource_subtype 直接映射
contentAuthorDetails_contentAuthorEmail target.user.email_addresses 已合并
contentAuthorDetails_contentAuthorName target.user.user_display_name 直接映射
contentAuthorDetails_contentAuthorId target.user.userid 直接映射
不适用 metadata.event_type 常量:NETWORK_CONNECTION
不适用 metadata.product_name 常量:AWARE SIGNALS
不适用 metadata.vendor_name 常量:AWARE SIGNALS

更新日志

查看相应解析器的更改日志

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。