收集 Azure Storage 审核日志

解析器版本: 9.0

支持:

本文档介绍如何使用 Azure Storage 账号将 Azure Storage 审核日志导出到 Google Security Operations。解析器会处理 JSON 格式的日志,并将其转换为统一数据模型 (UDM)。它会从原始日志中提取字段,执行数据类型转换,使用其他上下文(例如用户代理解析和 IP 地址细分)丰富数据,并将提取的字段映射到相应的 UDM 字段。

准备工作

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

  • Google SecOps 实例
  • 有效的 Azure 租户
  • 对 Azure 的特权访问权限

配置 Azure Storage 账号

  1. 在 Azure 控制台中,搜索存储账号
  2. 点击创建
  3. 为以下输入参数指定值:
    • 订阅:选择订阅。
    • 资源组:选择资源组。
    • 区域:选择区域。
    • 性能:选择性能(建议使用“标准”)。
    • 冗余:选择冗余(建议使用 GRS 或 LRS)。
    • 存储账号名称:输入新存储账号的名称。
  4. 点击 Review + create (检查 + 创建)。
  5. 查看账号概览,然后点击创建
  6. 存储账号概览 页面中,选择安全性 + 网络 中的访问密钥 子菜单。
  7. 点击 key1key2 旁边的显示
  8. 点击 Copy to clipboard (复制到剪贴板)以复制密钥。
  9. 将密钥保存在安全位置以供日后使用。
  10. 存储账号概览 页面中,选择设置 中的端点 子菜单。
  11. 点击 Copy to clipboard (复制到剪贴板)以复制 Blob 服务 端点网址;例如 https://<storageaccountname>.blob.core.windows.net
  12. 将端点网址保存在安全位置以供日后使用。

如何为 Azure Storage 审核日志配置日志导出

  1. 使用您的特权账号登录 Azure 门户
  2. 依次前往存储账号 > 诊断设置
  3. 点击 + 添加诊断设置
  4. 选择 blobqueuetablefile 的诊断设置。
    • 在每个诊断设置的类别组 中,选择 allLogs 选项。
    • 为每个诊断设置输入描述性名称。
  5. 选中归档到存储账号 复选框作为目标。
    • 指定订阅存储账号
  6. 点击保存

设置 Feed

您可以通过以下两种不同的入口点在 Google SecOps 平台中设置 Feed:

  • SIEM 设置 > Feed > 添加新 Feed
  • 内容中心 > 内容包 > 开始使用

如何设置 Azure Storage 审核 Feed

  1. 点击 Azure 平台 包。
  2. 找到 Azure Storage 审核 日志类型,然后点击添加新 Feed
  3. 为以下字段指定值:

    • 来源类型:Microsoft Azure Blob Storage V2。
    • Azure URI:Blob 端点网址。
      • ENDPOINT_URL/BLOB_NAME
        • 替换以下内容:
          • ENDPOINT_URL:Blob 端点网址 (https://<storageaccountname>.blob.core.windows.net)
          • BLOB_NAME:Blob 的名称(例如 <logname>-logs
    • 来源删除选项:根据您的注入偏好设置选择删除选项。

    • 最长文件存在时间:包含在过去指定天数内修改的文件。 默认值为 180 天。

    • 共享密钥:Azure Blob Storage 的访问密钥。

    高级选项

    • Feed 名称:预填充的值,用于标识 Feed。
    • 资产命名空间与 Feed 关联的命名空间
    • 注入标签:应用于此 Feed 中所有事件的标签。
  4. 点击创建 Feed

如需详细了解如何为此产品系列中的不同日志类型配置多个 Feed,请参阅按产品配置 Feed

UDM 映射表

日志字段 UDM 映射 逻辑
callerIpAddress principal.asset.ip 系统使用 grok 模式从 callerIpAddress 字段中提取 IP 地址,并将其分配给 principal.asset.ip
callerIpAddress principal.ip 系统使用 grok 模式从 callerIpAddress 字段中提取 IP 地址,并将其分配给 principal.ip
callerIpAddress principal.port 系统使用 grok 模式从 callerIpAddress 字段中提取端口号,并将其分配给 principal.port
category security_result.category_details 系统会将 category 字段的值分配给 security_result.category_details
correlationId security_result.detection_fields[0].key 系统会将字面量字符串 correlationId 分配给键字段。
correlationId security_result.detection_fields[0].value 系统会将 correlationId 字段的值分配给 security_result.detection_fields[0].value。系统会将 time 字段的值解析为时间戳,并将其分配给 event.idm.read_only_udm.metadata.event_timestamp。如果 categoryStorageWriteprincipal.user.userid 存在(派生自 properties.accountName),则该值将设置为 USER_RESOURCE_UPDATE_CONTENT。如果 categoryStorageDeleteprincipal.user.userid 存在,则该值将设置为 USER_RESOURCE_DELETION。否则,该值将设置为 USER_RESOURCE_ACCESS。系统会将字面量字符串 AZURE_STORAGE_AUDIT 分配给 event.idm.read_only_udm.metadata.log_type。系统会将字面量字符串 AZURE_STORAGE_AUDIT 分配给 event.idm.read_only_udm.metadata.product_name。系统会将 schemaVersion 字段的值分配给 event.idm.read_only_udm.metadata.product_version。系统会将字面量字符串 AZURE_STORAGE_AUDIT 分配给 event.idm.read_only_udm.metadata.vendor_name
location target.location.name 系统会将 location 字段的值分配给 target.location.name
operationName additional.fields[x].key 系统会将字面量字符串 operationName 分配给键字段。
operationName additional.fields[x].value.string_value 系统会将 operationName 字段的值分配给 additional.fields[x].value.string_value
operationVersion additional.fields[x].key 系统会将字面量字符串 operationVersion 分配给键字段。
operationVersion additional.fields[x].value.string_value 系统会将 operationVersion 字段的值分配给 additional.fields[x].value.string_value
properties.accountName principal.user.userid 系统会将 properties.accountName 字段的值分配给 principal.user.userid
properties.clientRequestId additional.fields[x].key 系统会将字面量字符串 clientRequestId 分配给键字段。
properties.clientRequestId additional.fields[x].value.string_value 系统会将 properties.clientRequestId 字段的值分配给 additional.fields[x].value.string_value
properties.etag additional.fields[x].key 系统会将字面量字符串 etag 分配给键字段。
properties.etag additional.fields[x].value.string_value 系统会将 properties.etag 字段的值分配给 additional.fields[x].value.string_value
properties.objectKey additional.fields[x].key 系统会将字面量字符串 objectKey 分配给键字段。
properties.objectKey additional.fields[x].value.string_value 系统会将 properties.objectKey 字段的值分配给 additional.fields[x].value.string_value
properties.requestMd5 additional.fields[x].key 系统会将字面量字符串 requestMd5 分配给键字段。
properties.requestMd5 additional.fields[x].value.string_value 系统会将 properties.requestMd5 字段的值分配给 additional.fields[x].value.string_value
properties.responseMd5 additional.fields[x].key 系统会将字面量字符串 responseMd5 分配给键字段。
properties.responseMd5 additional.fields[x].value.string_value 系统会将 properties.responseMd5 字段的值分配给 additional.fields[x].value.string_value
properties.serviceType additional.fields[x].key 系统会将字面量字符串 serviceType 分配给键字段。
properties.serviceType additional.fields[x].value.string_value 系统会将 properties.serviceType 字段的值分配给 additional.fields[x].value.string_value
properties.tlsVersion network.tls.version 系统会将 properties.tlsVersion 字段的值分配给 network.tls.version
properties.userAgentHeader network.http.parsed_user_agent 系统会将 properties.userAgentHeader 字段的值解析为用户代理字符串,并将其分配给 network.http.parsed_user_agent
properties.userAgentHeader network.http.user_agent 系统会将 properties.userAgentHeader 字段的值分配给 network.http.user_agent
protocol network.application_protocol 系统会将 protocol 字段的值分配给 network.application_protocol
resourceId target.resource.id 系统会将 resourceId 字段的值分配给 target.resource.id
resourceId target.resource.product_object_id 系统会将 resourceId 字段的值分配给 target.resource.product_object_id。系统会将字面量字符串 DATABASE 分配给 target.resource.resource_type
resourceType additional.fields[x].key 系统会将字面量字符串 resourceType 分配给键字段。
resourceType additional.fields[x].value.string_value 系统会将 resourceType 字段的值分配给 additional.fields[x].value.string_value。如果 statusTextSuccess,则该值将设置为 ALLOW
statusCode network.http.response_code 系统会将 statusCode 字段的值转换为整数,并将其分配给 network.http.response_code。系统会将字面量字符串 MICROSOFT_AZURE 分配给 target.cloud.environment
time timestamp 系统会将 time 字段的值解析为时间戳,并将其分配给 timestamp
uri network.http.referral_url 系统会将 uri 字段的值分配给 network.http.referral_url

更新日志

查看此解析器的更新日志

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