收集 Rubrik Security Cloud 日志

支持的平台:

本文档介绍了如何使用 Webhook 将 Rubrik Security Cloud 日志注入到 Google Security Operations。Rubrik Security Cloud (RSC) 是一个基于 SaaS 的数据安全平台,可在云端和本地环境中提供备份、恢复、异常检测和数据治理功能。RSC 会以 PagerDuty 通用事件格式 (PD-CEF) JSON 生成安全事件、审核日志和运营活动日志,这些日志可以推送到 Google SecOps 以进行集中监控和分析。

准备工作

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

  • Google SecOps 实例
  • 对 Rubrik Security Cloud 控制台的特权访问权限,并拥有管理 Webhook 的权限
  • 从 Rubrik Security Cloud 到 Google SecOps Webhook 端点的网络连接
  • 有权访问 Google Cloud 控制台以创建 API 密钥

在 Google SecOps 中创建 Webhook Feed

创建 Feed

  1. 依次前往 SIEM 设置 > Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称字段中,输入 Feed 的名称(例如 Rubrik Security Cloud Events)。
  5. 选择 Webhook 作为来源类型
  6. 选择 Rubrik Security Cloud 作为日志类型
  7. 点击下一步
  8. 为以下输入参数指定值:
    • 定界符(可选):留空,因为每个网络钩子请求都包含一个事件。
    • 资产命名空间资产命名空间
    • 注入标签:要应用于此 Feed 中事件的标签。
  9. 点击下一步
  10. 最终确定界面中查看新的 Feed 配置,然后点击提交

生成并保存密钥

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

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

获取 Feed 端点网址

  1. 前往相应 Feed 的详细信息标签页。
  2. 端点信息部分,复制 Feed 端点网址
  3. 保存此网址以供后续步骤使用。
  4. 点击完成

创建 Google Cloud API 密钥

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

创建 API 密钥

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

限制 API 密钥

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

配置 Rubrik Security Cloud 网络钩子

构建网络钩子网址

  • 将 Google SecOps 端点网址、API 密钥和 Feed Secret 密钥组合在一起。这两个凭据都以查询参数的形式传递:

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

      https://<REGION>-chronicle.googleapis.com/v1alpha/projects/<PROJECT_NUMBER>/locations/<REGION>/instances/<INSTANCE_ID>/feeds/<FEED_ID>:importPushLogs?key=AIzaSyD...&secret=a1b2c3d4...
      

在 Rubrik Security Cloud 中创建 Webhook

  1. 前往 https://<account>.my.rubrik.com 登录 Rubrik Security Cloud
  2. 点击右上角的齿轮图标,然后选择设置
  3. 点击通知,然后选择 Webhook
  4. 点击添加 Webhook
  5. 系统会显示“添加 Webhook”向导。
  6. 提供方中,选择通用

  7. Webhook 名称中,输入一个描述性名称(例如 Google SecOps Integration)。

  8. 端点中,粘贴上述完整的网络钩子网址,包括 keysecret 查询参数。身份验证由网址执行,因此身份验证切换开关可以保持关闭状态。

  9. 点击下一步

  10. 点击 Test Webhook 以验证指定的 Webhook 配置是否有效,然后点击 Next

  11. 系统随即会显示选择事件和严重程度窗口。

  12. 选择 RSC 发送到已配置的网络钩子端点的事件:

    1. 事件下,选择要转发的事件类型:

      • 备份
      • 恢复
      • 异常值
      • 威胁搜寻
      • 威胁监控
      • 配置
      • 诊断
      • 同步
      • 维护
      • 系统
    2. 审核下,选择要转发的审核类型。身份验证审核类型会提供给解析器的登录映射。

    3. 严重程度下,选择触发提醒的严重程度:

      • 严重
      • 警告
      • 信息型
  13. 点击下一步

  14. 查看确认窗口中的配置详细信息,然后点击保存

验证 Webhook 是否正常运行

检查 Rubrik Security Cloud webhook 状态

  1. 登录 Rubrik Security Cloud
  2. 依次前往设置 > 通知 > Webhook
  3. 查看 Webhook 的状态列(应显示为已启用)。
  4. 监控 Webhook 详情中是否有任何错误消息。

检查 Google SecOps Feed 状态

  1. 在 Google SecOps 中,依次前往 SIEM 设置> Feed
  2. 查看您的 Webhook Feed 的状态列(应为有效)。
  3. 检查收到的事件数(应会递增)。

在 Google SecOps 中验证日志

  1. 依次前往搜索 > UDM 搜索
  2. 使用以下查询:

    metadata.vendor_name = "RUBRIK" nocase AND metadata.product_name = "RUBRIK SECURITY CLOUD" nocase
    
  3. 将时间范围调整为“过去 1 小时”。

  4. 验证活动是否显示在结果中。

网络钩子载荷参考

  • Rubrik Security Cloud 默认以 PagerDuty 通用事件格式 (PD-CEF) 发送事件。以下是事件载荷示例:

    {
      "summary": "Failed backup of vSphere VM 'example-vm'.",
      "source": "Rubrik Security Cloud",
      "severity": "critical",
      "timestamp": "2024-07-18T06:39:40.46Z",
      "class": "Backup",
      "custom_details": {
        "seriesId": "ccd7a8a5-4c58-4c88-bff9-7bdffddb6099",
        "id": "c2b47274-6323-4025-b307-afed1cfb7574",
        "type": "Event",
        "objectId": "83c4a80a-4a57-5699-b399-651089135586",
        "objectName": "example-vm",
        "objectType": "VmwareVm",
        "status": "Failure",
        "clusterId": "6a271636-9392-4cba-90c5-bdbe227854ab",
        "clusterName": "production-cluster",
        "eventName": "Snapshot.BackupFailed",
        "errorId": "Snapshot.VmwareSnapshotError",
        "errorCode": "",
        "errorRemedy": "",
        "errorReason": "",
        "auditUserName": "",
        "auditUserId": "",
        "location": "vcenter.example.com",
        "url": "",
        "customerID": "rubrik-customer",
        "logicalSizeInBytes": "",
        "dataTransferredInBytes": "",
        "effectiveThroughput": ""
      }
    }
    

Webhook 限制和最佳实践

请求限制

限制
单行日志的最大长度 1 MB
最大 QPS(每秒查询次数) 15000
请求超时 90 秒
重试行为 由发件人管理。当超出突发限制时,Google SecOps 会返回 HTTP 429;发送系统必须缓冲并重试。

UDM 映射表

日志字段 UDM 映射 逻辑
audit_info_label additional.fields 已合并
effectiveThroughput_label additional.fields 已合并
group_label additional.fields 已合并
isPolarisAudit_label additional.fields 已合并
label_name_label additional.fields 已合并
node_label additional.fields 已合并
orgID_label additional.fields 已合并
snappable_name_label additional.fields 已合并
snappable_type_label additional.fields 已合并
snapshot_date_label additional.fields 已合并
type_label additional.fields 已合并
userNote_label additional.fields 已合并
has_target extensions.auth.type 已映射:trueAUTHTYPE_UNSPECIFIED
hunt_date metadata.event_timestamp 解析为 ISO8601
timestamp metadata.event_timestamp 解析为 ISO8601
has_principal metadata.event_type 已映射:trueSCAN_HOSTtrueSTATUS_UPDATE
has_target metadata.event_type 已映射:trueUSER_LOGIN
custom_details.eventName metadata.product_event_type 直接映射
custom_details.id metadata.product_log_id 直接映射
source metadata.product_name 直接映射
custom_details.url metadata.url_back_to_product 直接映射
custom_details.dataTransferredInBytes network.sent_bytes 直接映射
custom_details.customerID principal.administrative_domain 直接映射
domain principal.domain.name 直接映射
custom_details.ipAddress principal.ip 已合并
ip_address principal.ip 已合并
is_ip_assigned principal.ip 已映射:falseip_address
custom_details.clusterName principal.resource.name 直接映射
custom_details.clusterId principal.resource.product_object_id 直接映射
user_email principal.user.email_addresses 已合并
custom_details.auditUserName principal.user.user_display_name 直接映射
user_name principal.user.user_display_name 直接映射
action_name security_result.action 已合并
custom_details.status security_result.action_details 直接映射
category_temp security_result.category 已合并
class security_result.category_details 已合并
confidence security_result.confidence_details 直接映射
custom_details.errorMessage security_result.description 直接映射
access_type_label security_result.detection_fields 已合并
action_date_label security_result.detection_fields 已合并
detection_time_label security_result.detection_fields 已合并
directories_snoozed_label security_result.detection_fields 已合并
directories_unsnoozed_label security_result.detection_fields 已合并
document_count_label security_result.detection_fields 已合并
encryption_level_label security_result.detection_fields 已合并
errorCode_label security_result.detection_fields 已合并
errorId_label security_result.detection_fields 已合并
errorReason_label security_result.detection_fields 已合并
errorRemedy_label security_result.detection_fields 已合并
event_info_label security_result.detection_fields 已合并
failed_document_count_label security_result.detection_fields 已合并
file_matches_label security_result.detection_fields 已合并
files_created_count_label security_result.detection_fields 已合并
files_modified_count_label security_result.detection_fields 已合并
files_removed_count_label security_result.detection_fields 已合并
files_suspicious_count_label security_result.detection_fields 已合并
hash_tf_version_label security_result.detection_fields 已合并
identity_name_label security_result.detection_fields 已合并
num_files_with_matches_label security_result.detection_fields 已合并
num_hash_matches_label security_result.detection_fields 已合并
num_of_violating_identities_label security_result.detection_fields 已合并
num_yara_rule_matches_label security_result.detection_fields 已合并
obj_failed_label security_result.detection_fields 已合并
obj_partially_succeeded_label security_result.detection_fields 已合并
obj_succeeded_label security_result.detection_fields 已合并
object_matches_label security_result.detection_fields 已合并
policy_name_label security_result.detection_fields 已合并
reason_label security_result.detection_fields 已合并
remediation_type_label security_result.detection_fields 已合并
remedy_label security_result.detection_fields 已合并
risk_name_label security_result.detection_fields 已合并
seriesID_label security_result.detection_fields 已合并
seriesId_label security_result.detection_fields 已合并
skipped_document_count_label security_result.detection_fields 已合并
strain_name_label security_result.detection_fields 已合并
successful_document_count_label security_result.detection_fields 已合并
total_accessible_files_at_risk_count_label security_result.detection_fields 已合并
vm_count_label security_result.detection_fields 已合并
yara_tf_version_label security_result.detection_fields 已合并
hunt_name security_result.rule_name 直接映射
hunt_type security_result.rule_type 直接映射
is_severity_assigned security_result.severity 已映射:falseINFORMATIONALfalseMEDIUM
severity security_result.severity 已映射:INFOINFORMATIONALWARNINGMEDIUM
severity_name security_result.severity 已映射:INFOINFORMATIONALWARNINGMEDIUM
severity security_result.severity_details 直接映射
severity_name security_result.severity_details 直接映射
summary security_result.summary 直接映射
threat_feed_type security_result.threat_feed_name 直接映射
custom_details.logicalSizeInBytes target.file.size 直接映射
client_id_label target.labels 已合并
client_name_label target.labels 已合并
custom_details.location target.location.name 直接映射
custom_details.objectName target.resource.name 直接映射
object_name target.resource.name 直接映射
resource_name target.resource.name 直接映射
custom_details.objectId target.resource.product_object_id 直接映射
component target.resource.resource_subtype 直接映射
custom_details.objectType target.resource.resource_subtype 直接映射
is_object_type_assigned target.resource.resource_type 已映射:falseUNSPECIFIED
class target.user.email_addresses 已映射:Loginuser_email
user_email target.user.email_addresses 已合并
each_group target.user.group_identifiers 已合并
custom_details.auditUserName target.user.user_display_name 直接映射
user_name target.user.user_display_name 直接映射
custom_details.auditUserId target.user.userid 直接映射
不适用 extensions.auth.type 常量:AUTHTYPE_UNSPECIFIED
不适用 metadata.event_type 常量:USER_LOGIN
不适用 metadata.product_name 常量:RUBRIK SECURITY CLOUD
不适用 metadata.vendor_name 常量:RUBRIK
不适用 principal.resource.resource_type 常量:CLUSTER
不适用 security_result.severity 常量:INFORMATIONAL
不适用 target.resource.resource_type 常量:UNSPECIFIED

更新日志

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

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