收集 Azure VPN 日志
支持的语言:
Google SecOps
SIEM
本指南介绍了如何使用 Azure 存储账号将 Azure VPN 日志导出到 Google Security Operations。解析器从 JSON 格式的 Azure VPN 日志中提取字段,然后使用 Grok 模式从 properties.message 字段中提取更多详细信息。最后,它会将提取的信息映射到统一数据模型 (UDM) 的标准化字段。
准备工作
确保您满足以下前提条件:
- Google SecOps 实例
- 有效的 Azure 租户
- 对 Azure 的特权访问权限
配置 Azure 存储账号
- 在 Azure 控制台中,搜索存储账号。
- 点击 + 创建。
- 为以下输入参数指定值:
- 订阅:选择相应订阅。
- 资源组:选择资源组。
- 地区:选择相应区域。
- 性能:选择性能(建议选择“标准”)。
- 冗余:选择冗余(建议使用 GRS 或 LRS)。
- 存储账号名称:输入新存储账号的名称。
- 点击 Review + create(检查 + 创建)。
- 查看账号概览,然后点击创建。
- 在存储账号概览页面上,选择安全性 + 网络中的访问密钥子菜单。
- 点击 key1 或 key2 旁边的显示。
- 点击复制到剪贴板以复制密钥。
- 将密钥保存在安全的位置,以备日后使用。
- 在存储账号概览页面中,选择设置中的终结点子菜单。
- 点击复制到剪贴板,复制 Blob 服务端点网址;例如,
https://<storageaccountname>.blob.core.windows.net
。 - 将端点网址保存在安全的位置,以供日后使用。
如何为 Azure VPN 网关日志配置日志导出
- 使用您的特权账号登录 Azure 门户。
- 选择正在监控的订阅。
- 在该订阅的资源列表中,找到 VPN 网关(这通常应属于资源类型“虚拟网络网关”)。
- 点击网关。
- 依次选择监控 > 诊断服务。
- 点击 + 添加诊断设置。
- 为诊断设置输入描述性名称。
- 选择 allLogs。
- 选择归档到存储账号复选框作为目标位置。
- 指定订阅和存储账号。
- 点击保存。
设置 Feed
您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:
- SIEM 设置 > Feed > 添加新 Feed
- 内容中心 > 内容包 > 开始
如何设置 Azure VPN Feed
- 点击 Azure 平台包。
- 找到 Azure VPN 日志类型,然后点击添加新 Feed。
为以下字段指定值:
- 来源类型: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 中所有事件的标签。
点击创建 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 字段映射而来。如果 level 为 Informational ,则将 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_ip 和 local_ip ,则设置为 NETWORK_CONNECTION ,否则设置为 USER_RESOURCE_ACCESS 。 |
|
extensions.auth.type | 硬编码为 VPN 。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。