共用方式為

流量分析架构和数据聚合

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

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

Data aggregation

  • 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 中出现的各个流相匹配。

以下查询有助于查看过去 30 天内与非 Azure 公共 IP 交互的所有子网。

NTANetAnalytics
| where SubType == "FlowLog" and FlowStartTime >= ago(30d) and FlowType == "ExternalPublic"
| project SrcSubnet, DestSubnet

流量分析架构

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

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

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

Note

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

公共 IP 详细信息架构

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

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

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

Note

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

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

Threat types

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

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

Notes

  • 对于 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,既不属于 Azure,也不是客户拥有的订阅的一部分。该公共 IP 对流量分析可见,并且在流量分析处理时间间隔FlowIntervalStartTime_tFlowIntervalEndTime_t期间,ASC 源中并未报告其为恶意。
    • MaliciousFlow:其中一个 IP 地址属于 Azure 虚拟网络,而另一个 IP 地址则是 公共 IP,它既不归属于 Azure,也不是对流量分析可见的客户自有订阅的一部分,并且在 FlowIntervalStartTime_tFlowIntervalEndTime_t 之间的处理间隔内流量分析使用的 ASC 源中报告为恶意。
    • UnknownPrivate:一个 IP 地址属于 Azure 虚拟网络,而另一个 IP 地址属于 RFC 1918 中定义的专用 IP 范围,无法由流量分析映射到客户拥有的站点或 Azure 虚拟网络。
    • Unknown:无法将流中的任一 IP 地址映射到 Azure 中的客户拓扑和本地(站点)。

    Note

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