收集 Azure VPN 日志

支持的语言:

本指南介绍了如何使用 Azure 存储账号将 Azure VPN 日志导出到 Google Security Operations。解析器从 JSON 格式的 Azure VPN 日志中提取字段,然后使用 Grok 模式从 properties.message 字段中提取更多详细信息。最后,它会将提取的信息映射到统一数据模型 (UDM) 的标准化字段。

准备工作

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

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

配置 Azure 存储账号

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

如何为 Azure VPN 网关日志配置日志导出

  1. 使用您的特权账号登录 Azure 门户
  2. 选择正在监控的订阅
  3. 在该订阅的资源列表中,找到 VPN 网关(这通常应属于资源类型“虚拟网络网关”)。
  4. 点击网关。
  5. 依次选择监控 > 诊断服务
  6. 点击 + 添加诊断设置
    • 为诊断设置输入描述性名称。
  7. 选择 allLogs
  8. 选择归档到存储账号复选框作为目标位置。
    • 指定订阅存储账号
  9. 点击保存

设置 Feed

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

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

如何设置 Azure VPN Feed

  1. 点击 Azure 平台包。
  2. 找到 Azure VPN 日志类型,然后点击添加新 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 映射 逻辑
类别 security_result.category_details 直接从原始日志中的 category 字段映射。
IV_PLAT security_result.detection_fields.value 直接从原始日志中的 IV_PLAT 字段映射。detection_fields 数组中的键值对的一部分,其中键为 IV_PLAT
IV_PLAT_VER security_result.detection_fields.value 直接从原始日志中的 IV_PLAT_VER 字段映射。detection_fields 数组中的键值对的一部分,其中键为 IV_PLAT_VER
IV_PROTO security_result.detection_fields.value 直接从原始日志中的 IV_PROTO 字段映射。detection_fields 数组中的键值对的一部分,其中键为 IV_PROTO
IV_VER security_result.detection_fields.value 直接从原始日志中的 IV_VER 字段映射。detection_fields 数组中的键值对的一部分,其中键为 IV_VER
level security_result.severity 从原始日志中的 level 字段映射而来。如果 levelInformational,则将 severity 设置为 INFORMATIONAL
local_ip target.ip 使用 Grok 模式从 properties.message 字段中提取,并映射到目标 IP 地址。
local_port target.port 使用 grok 模式从 properties.message 字段中提取,并映射到目标端口号。转换为整数类型。
operationName metadata.product_event_type 直接从原始日志中的 operationName 字段映射。
properties.message metadata.description 使用 Grok 模式从 properties.message 字段中提取。根据消息格式,说明可能包含从 desc2 字段中提取的其他详细信息。
remote_ip principal.ip 使用 Grok 模式从 properties.message 字段中提取,并映射到主 IP 地址。
remote_port principal.port 使用 grok 模式从 properties.message 字段中提取,并映射到主端口号。转换为整数类型。
resourceid target.resource.product_object_id 直接从原始日志中的 resourceid 字段映射。
时间 时间戳,metadata.event_timestamp 使用 RFC 3339 格式从原始日志的 time 字段中解析,并同时映射到事件时间戳和 UDM 时间戳。
metadata.log_type 硬编码为 AZURE_VPN
metadata.vendor_name 硬编码为 AZURE
metadata.product_name 硬编码为 VPN
metadata.event_type 根据是否存在 IP 地址动态设置。如果同时存在 remote_iplocal_ip,则设置为 NETWORK_CONNECTION,否则设置为 USER_RESOURCE_ACCESS
extensions.auth.type 硬编码为 VPN

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