你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

流量分析架构和数据聚合

流量分析是一种基于云的解决方案,可用于了解云网络中的用户和应用程序活动。 流量分析可以分析 Azure 网络观察程序流日志,帮助了解 Azure 云中的流量流。 使用流量分析可以:

  • 直观查看各个 Azure 订阅中的网络活动,以及识别热点。
  • 参考有关开放的端口、尝试访问 Internet 的应用程序以及连接到恶意网络的虚拟机 (VM) 的信息,识别网络安全威胁和保护网络。
  • 了解 Azure 区域与 Internet 之间的流量流模式,优化网络部署以提高性能和容量。
  • 查明导致网络连接失败的不当网络配置。
  • 了解网络用量(字节、数据包或流)。

数据聚合

  • FlowIntervalStartTimeFlowIntervalEndTime 之间的所有流日志按一分钟间隔捕获为存储帐户中的 Blob。
  • 流量分析的默认处理间隔为 60 分钟,这意味着流量分析每小时都会从存储帐户中选取 Blob 进行聚合。 但是,如果选择了 10 分钟的处理间隔,则流量分析将改为每隔 10 分钟从存储帐户中选取 Blob。
  • 具有相同 Source IPDestination IPDestination portNSG nameNSG ruleFlow DirectionTransport layer protocol (TCP or UDP) 的流将由流量分析聚集成单个流(注意:聚集将排除源端口)。
  • 此单条记录在经过修饰后(以下部分将提供详细信息)由流量分析引入到 Azure Monitor 日志中。 此过程最多可能需要 1 小时。
  • FlowStartTime 字段指示 FlowIntervalStartTimeFlowIntervalEndTime 之间流日志处理间隔中第一次出现此类聚合流(同一个四元组)。
  • 对于流量分析中的任何资源,Azure 门户中指示的流是看到的总流数,但在 Azure Monitor 日志中,用户只会看到一条简化的记录。 若要查看所有流,请使用可从存储引用的 blob_id 字段。 该记录的总流数与 Blob 中出现的各个流相匹配。

流量分析架构

流量分析构建在 Azure Monitor 日志的基础之上,因此你可以针对流量分析修饰的数据运行自定义查询,并设置警报。

下表列出了架构中的字段及其对虚拟网络流日志的含义。 有关详细信息,请参阅 NTANetAnalytics

字段 格式 注释
表名 NTANet分析平台 流量分析数据表。
SubType FlowLog 流日志的子类型。 仅使用 FlowLog,SubType 的其他值供内部使用
FASchemaVersion 3 架构版本。 不会反映虚拟网络流日志版本。
处理时间 日期和时间 (UTC) 流量分析处理存储帐户中的原始流日志的时间。
FlowIntervalStartTime 日期和时间 (UTC) 流日志处理间隔的开始时间(计量流间隔的开始时间)。
FlowIntervalEndTime 日期和时间 (UTC) 流日志处理间隔的结束时间。
FlowStartTime 日期和时间 (UTC) FlowIntervalStartTimeFlowIntervalEndTime 之间的流日志处理间隔中该流的第一次出现(该流会被聚合)。 此流将会基于聚合逻辑进行聚合。
FlowEndTime 日期和时间 (UTC) FlowIntervalStartTimeFlowIntervalEndTime 之间流日志处理间隔中该流的最后一次出现(该流会被聚合)。
FlowType - IntraVNet
- InterVNet
- S2S
- P2S
- AzurePublic
- ExternalPublic
- MaliciousFlow
- Unknown Private
- 未知
请参阅注释了解定义。
SrcIp 源 IP 地址 AzurePublic 和 ExternalPublic 流中的空白。
DestIp 目标 IP 地址 AzurePublic 和 ExternalPublic 流中的空白。
TargetResourceId ResourceGroupName/ResourceName (资源组名称/资源名称) 启用流日志记录和流量分析的资源的 ID。
目标资源类型 虚拟网络/子网/网络接口 启用流日志记录和流量分析的资源类型(虚拟网络、子网、NIC 或网络安全组)。
FlowLogResourceId 资源组名称/网络监视器名称/流日志名称 (ResourceGroupName/NetworkWatcherName/FlowLogName) 流日志的资源 ID。
DestPort 目标端口 流量传入的端口。
L4协议 - T
- U
传输协议。 T = TCP
U = UDP
L7协议 协议名称 派生自目标端口。
FlowDirection - I = 入站
- O = 出站
流的方向:在每条流日志中,是流入还是流出目标资源。
流状态 - A = 允许
- D = 拒绝
流状态:在每条流日志中,流量是被目标资源允许还是被拒绝。
AclList <SubscriptionID>/<resourcegroup_Name>/<NSG_Name> 与流关联的网络安全组。
AclRule NSG_Rule_Name 允许或拒绝该流的网络安全组规则。
MAC地址 MAC 地址 捕获流的 NIC 的 MAC 地址。
SrcSubscription 订阅 ID 流中的源 IP 所属的虚拟网络/网络接口/虚拟机的订阅 ID。
DestSubscription 订阅 ID 流中的目标 IP 所属的虚拟网络/网络接口/虚拟机的订阅 ID。
SrcRegion Azure 区域 流中的源 IP 所属的虚拟网络/网络接口/虚拟机的 Azure 区域。
DestRegion Azure 区域 流中目标 IP 所属的虚拟网络的 Azure 区域。
SrcNic < >resourcegroup_Name/<NetworkInterfaceName> 与流中的源 IP 关联的 NIC。
DestNic < >resourcegroup_Name/<NetworkInterfaceName> 与流中的目标 IP 关联的 NIC。
SrcVm < >resourcegroup_Name/<VirtualMachineName> 与流中的源 IP 关联的虚拟机。
DestVm < >resourcegroup_Name/<VirtualMachineName> 与流中的目标 IP 关联的虚拟机。
SrcSubnet <ResourceGroup_Name>/<VirtualNetwork_Name>/<子网名称> 与流中的源 IP 关联的子网。
DestSubnet <ResourceGroup_Name>/<VirtualNetwork_Name>/<子网名称> 与流中的目标 IP 关联的子网。
SrcApplicationGateway <SubscriptionID>/<ResourceGroupName>/<ApplicationGatewayName> 与流中的源 IP 关联的应用程序网关。
DestApplicationGateway <SubscriptionID>/<ResourceGroupName>/<ApplicationGatewayName> 与流中的目标 IP 关联的应用程序网关。
SrcExpressRouteCircuit <SubscriptionID>/<ResourceGroupName>/<ExpressRouteCircuitName> ExpressRoute 线路 ID - 通过 ExpressRoute 从站点发送流时。
DestExpressRouteCircuit <SubscriptionID>/<ResourceGroupName>/<ExpressRouteCircuitName> ExpressRoute 线路 ID - 通过 ExpressRoute 从云接收流时。
ExpressRouteCircuitPeeringType - AzurePrivatePeering
- AzurePublicPeering
- MicrosoftPeering
流中涉及的 ExpressRoute 对等互连类型。
SrcLoadBalancer <SubscriptionID>/<ResourceGroupName>/<LoadBalancerName> 与流中的源 IP 关联的负载均衡器。
DestLoadBalancer <SubscriptionID>/<ResourceGroupName>/<LoadBalancerName> 与流中的目标 IP 关联的负载均衡器。
SrcLocalNetworkGateway <SubscriptionID>/<ResourceGroupName>/<LocalNetworkGatewayName> 与流中的源 IP 关联的本地网络网关。
DestLocalNetworkGateway <SubscriptionID>/<ResourceGroupName>/<LocalNetworkGatewayName> 与流中的目标 IP 关联的本地网络网关。
连接类型 - VNetPeering
- VpnGateway
- ExpressRoute
连接类型。
连接名称 <SubscriptionID>/<ResourceGroupName>/<ConnectionName> 连接名称。 对于流类型 P2S,其格式设置为 <GatewayName>_<VPNClientIP>
ConnectingVNets 虚拟网络名称的空格分隔列表。 在中心和支持拓扑中,将在此处填充中心虚拟网络。
国家/地区 双字母国家/地区代码 (ISO 3166-1 alpha-2) 针对流类型 ExternalPublic 进行填充。 PublicIPs 字段中的所有 IP 地址会共享同一个国家/地区代码。
AzureRegion Azure 区域位置 针对流类型 AzurePublic 进行填充。 PublicIPs 字段中的所有 IP 地址会共享该 Azure 区域。
AllowedInFlows - 已允许的入站流计数,它表示在捕获流的网络接口处,具有相同入站四元组的流的数量。
DeniedInFlows - 被拒绝的入站流计数。 (入站到捕获流的网络接口)。
AllowedOutFlows - 允许的出站流数(出站到捕获流的网络接口)。
DeniedOutFlows - 拒绝的出站流数(出站到捕获流的网络接口)。
PacketsDestToSrc - 表示从流的目标发送到源的数据包。
PacketsSrcToDest - 表示已从源向流目标发送的数据包。
BytesDestToSrc - 表示已从目标向流源发送的字节。
BytesSrcToDest - 表示从流的源发送到目标的字节。
CompletedFlows - 已完成的流总数(在流获取已完成事件时使用非零值填充)。
SrcPublicIPs < >SOURCE_PUBLIC_IP|<>FLOW_STARTED_COUNT|<>FLOW_ENDED_COUNT|<OUTBOUND_PACKETS>|<INBOUND_PACKETS>|<>OUTBOUND_BYTES|<INBOUND_BYTES> 条形分隔的条目。
DestPublicIPs < >DESTINATION_PUBLIC_IP|<>FLOW_STARTED_COUNT|<>FLOW_ENDED_COUNT|<OUTBOUND_PACKETS>|<INBOUND_PACKETS>|<>OUTBOUND_BYTES|<INBOUND_BYTES> 条形分隔的条目。
流加密 - 已加密
- 未加密
- 硬件不受支持
- 软件未就绪
- 由于未加密而被删除
- 不支持发现
- 同一主机上的目标
- 回退到无加密。
流的加密级别。
PrivateEndpointResourceId <ResourceGroup/privateEndpointResource> 专用终结点资源的资源 ID。 当流量流入或流出专用终结点资源时填充。
PrivateLinkResourceId <ResourceGroup/ResourceType/privateLinkResource> 专用链接服务的资源 ID。 当流量流入或流出专用终结点资源时填充。
PrivateLinkResourceName 纯文本 专用链接服务的资源名称。 当流量流入或流出专用终结点资源时填充。
IsFlowCapturedAtUDRHop -正确
- 错误
如果在 UDR 跃点处捕获流,则值为 True。

注意

虚拟网络流日志中的 NTANetAnalytics 取代了网络安全组流日志中使用的 AzureNetworkAnalytics_CL

公共 IP 详细信息架构

流量分析为环境中的所有公共 IP 提供 WHOIS 数据和地理位置。 对于恶意 IP,流量分析提供由Microsoft安全智能解决方案标识的 DNS 域、威胁类型和线程说明。 我们已将 IP 详细信息发布到 Log Analytics 工作区,以便你可以创建自定义查询并在其中放置警报。 你还可以通过流量分析仪表板访问已预填充的查询。

下表详细介绍了公共 IP 架构。 有关详细信息,请参阅 NTAIpDetails

字段 格式 注释
表名 NTAIpDetails 包含流量分析 IP 详细信息数据的表格。
SubType FlowLog 流日志的子类型。 仅使用 FlowLog。 SubType 的其他值需在产品内部使用。
FASchemaVersion 3 架构版本。 不会反映虚拟网络流日志版本。
FlowIntervalStartTime 日期和时间 (UTC) 流日志处理间隔的开始时间(计量流间隔的开始时间)。
FlowIntervalEndTime 日期和时间 (UTC) 流日志处理间隔的结束时间。
FlowType - AzurePublic
- ExternalPublic
- MaliciousFlow
请参阅注释了解定义。
知识产权 公共 IP 在记录中提供信息的公共 IP.
PublicIPDetails IP 信息 - 对于 AzurePublic IP:为拥有 IP 的 Azure 服务,或者,对于 IP 168.63.129.16,则为 Microsoft 虚拟公共 IP
ExternalPublic/恶意 IP:IP 的 WhoIS 信息。
威胁类型 恶意 IP 带来的威胁 仅限恶意 IP。 当前允许值列表中的其中一个威胁。 有关详细信息,请参阅注释
DNS域 DNS 域 仅限恶意 IP。 与此 IP 相关的域名。
ThreatDescription 威胁说明 仅限恶意 IP。 恶意 IP 所造成威胁的说明。
位置 IP 位置 对于 Azure 公共 IP:为 IP 所属的虚拟网络/网络接口/虚拟机的 Azure 区域,或者,对于 IP 168.63.129.16,则为“全局”
- 针对外部公共 IP 和恶意 IP:IP 位置的双字母国家/地区代码 (ISO 3166-1 alpha-2)
网址 对应于恶意 IP 的 URL 仅限恶意 IP。
Port 对应于恶意 IP 的端口 仅限恶意 IP。

注意

  • 虚拟网络流日志中的 NTAIPDetails 取代了网络安全组流日志中使用的 AzureNetworkAnalyticsIPDetails_CL

  • 流量分析可以记录恶意流中与该 IP 关联的任何恶意 FQDN。 若要筛选掉,请根据需要使用端口、URL 和域字段。

威胁类型

下表列出了流量分析 IP 详细信息架构中字段当前允许的值 ThreatType

说明
僵尸网络 详细说明僵尸网络节点/成员的指示器。
C2 详细说明僵尸网络命令与控制节点的指示器。
加密挖矿 涉及此网络地址/URL 的流量表示加密挖矿/资源滥用。
暗网 Darknet 节点/网络的指示器。
DDoS 攻击 与有效或即将到来的 DDoS 活动相关的指示器。
恶意URL 服务于恶意软件的 URL。
Malware 描述一个或多个恶意文件的指示器。
Phishing 与网络钓鱼活动相关的指示器。
Proxy 代理服务的指示器。
PUA 可能多余的应用程序。
WatchList 通用存储桶,当不能准确确定威胁的具体内容或需要手动解释时,将在其中放置指示器。 合作伙伴在将数据提交到系统时通常不应使用 WatchList

说明

  • 对于 AzurePublicExternalPublic 流,客户拥有的 Azure 虚拟机 IP 将填充在 VMIP_s 字段中,而公共 IP 地址则填充在 PublicIPs_s 字段中。 对于这两种流类型,应使用 VMIP_sPublicIPs_s,而不是 SrcIP_sDestIP_s 字段。 对于 AzurePublic 和 ExternalPublic IP 地址,我们将进一步聚合,以便将引入到 Log Analytics 工作区的记录数降至最低。 (此字段将弃用。请使用 SrcIP_s 和 DestIP_s,具体取决于虚拟机是流中的源还是目标)。
  • 某些字段名称追加了 _s_d,它们并不表示源和目标,而是分别指示数据类型“字符串”和“十进制”
  • 根据流中涉及的 IP 地址,我们将流分类为以下流类型:
    • IntraVNet:流中的两个 IP 地址位于同一个 Azure 虚拟网络中。
    • InterVNet:流中的 IP 地址位于两个不同的 Azure 虚拟网络中。
    • S2S(站点到站点):一个 IP 地址属于 Azure 虚拟网络,而另一个 IP 地址属于通过 VPN 网关或 Express Route 连接到虚拟网络的客户网络(站点)。
    • P2S(点到站点):一个 IP 地址属于 Azure 虚拟网络,而另一个 IP 地址属于通过 VPN 网关连接到 Azure 虚拟网络的客户网络(站点)。
    • AzurePublic:一个 IP 地址属于 Azure 虚拟网络,而另一个 IP 地址是 Microsoft 拥有的 Azure 公共 IP 地址。 客户拥有的公共 IP 地址不属于此流类型。 例如,将流量发送到 Azure 服务(存储终结点)的任何客户拥有的 VM 都将划分到此流类型。
    • ExternalPublic:其中一个 IP 地址属于 Azure 虚拟网络,而另一个 IP 地址是一个公共 IP,该 IP 地址不属于Microsoft或客户拥有的订阅的一部分,对流量分析可见,并且不会在 ASC 源中报告为流量分析在处理间隔期间FlowIntervalStartTime_tFlowIntervalEndTime_t使用的恶意 IP。
    • MaliciousFlow:其中一个 IP 地址属于 Azure 虚拟网络,而另一个 IP 地址是一个公共 IP,该 IP 地址不是由Microsoft或客户拥有的订阅的一部分所有,对流量分析可见,在 ASC 源中报告为流量分析在处理间隔 FlowIntervalStartTime_t 期间使用的 FlowIntervalEndTime_t恶意 IP。
    • UnknownPrivate:一个 IP 地址属于 Azure 虚拟网络,而另一个 IP 地址属于 RFC 1918 中定义的专用 IP 范围,无法由流量分析映射到客户拥有的站点或 Azure 虚拟网络。
    • Unknown:无法将流中的任一 IP 地址映射到 Azure 中的客户拓扑和本地(站点)。

注意

如果订阅包含配置到该工作区的流日志,则对 Log Analytics 工作区中的流量分析可见。