收集 Azure VPN 日志

支持的平台:

本指南介绍了如何使用 Azure 存储账号将 Azure VPN 日志导出到 Google 安全运营中心。解析器会从 JSON 格式的 Azure VPN 日志中提取字段,然后使用 Grok 模式从 properties.message 字段中提取更多详细信息。最后,它会将提取的信息映射到 Unified Data Model (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. 依次选择 Monitoring > Diagnostic Services
  6. 点击 + 添加诊断设置
    • 为诊断设置输入描述性名称。
  7. 选择 allLogs
  8. 选择归档到存储账号复选框作为目标位置。
    • 指定订阅存储空间账号
  9. 点击保存

在 Google SecOps 中配置 Feed 以提取 Azure VPN 日志

  1. 依次前往 SIEM 设置 > Feed
  2. 点击新增
  3. Feed 名称字段中,输入 Feed 的名称;例如,Azure VPN 日志
  4. 选择 Microsoft Azure Blob Storage 作为来源类型
  5. 选择 Azure VPN 作为日志类型
  6. 点击下一步
  7. 为以下输入参数指定值:

    • Azure URI:Blob 端点网址。
      • ENDPOINT_URL/BLOB_NAME
        • 替换以下内容:
          • ENDPOINT_URL:blob 端点网址 (https://<storageaccountname>.blob.core.windows.net)
          • BLOB_NAME:blob 的名称(例如 <logname>-logs
    • URI 是:根据日志流配置选择 URI 类型(单个文件 | 目录 | 包含子目录的目录)。
    • 来源删除选项:根据您的偏好选择删除选项。

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

    • 资源命名空间资源命名空间

    • 提取标签:要应用于此 Feed 中的事件的标签。

  8. 点击下一步

  9. 最终确定界面中查看新的 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 字段映射。
时间 timestamp、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

变化

2023-03-07

  • 新创建的解析器。

需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。