你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
流量分析是一种基于云的解决方案,可用于了解云网络中的用户和应用程序活动。 流量分析可以分析 Azure 网络观察程序流日志,帮助了解 Azure 云中的流量流。 使用流量分析可以:
- 直观查看各个 Azure 订阅中的网络活动,以及识别热点。
- 参考有关开放的端口、尝试访问 Internet 的应用程序以及连接到恶意网络的虚拟机 (VM) 的信息,识别网络安全威胁和保护网络。
- 了解 Azure 区域与 Internet 之间的流量流模式,优化网络部署以提高性能和容量。
- 查明导致网络连接失败的不当网络配置。
- 了解网络用量(字节、数据包或流)。
数据聚合
- 在
FlowIntervalStartTime和FlowIntervalEndTime之间的所有流日志按一分钟间隔捕获为存储帐户中的 Blob。 - 流量分析的默认处理间隔为 60 分钟,这意味着流量分析每小时都会从存储帐户中选取 Blob 进行聚合。 但是,如果选择了 10 分钟的处理间隔,则流量分析将改为每隔 10 分钟从存储帐户中选取 Blob。
- 具有相同
Source IP、Destination IP、Destination port、NSG name、NSG rule、Flow Direction和Transport layer protocol (TCP or UDP)的流将由流量分析聚集成单个流(注意:聚集将排除源端口)。 - 此单条记录在经过修饰后(以下部分将提供详细信息)由流量分析引入到 Azure Monitor 日志中。 此过程最多可能需要 1 小时。
-
FlowStartTime字段指示FlowIntervalStartTime和FlowIntervalEndTime之间流日志处理间隔中第一次出现此类聚合流(同一个四元组)。 - 对于流量分析中的任何资源,Azure 门户中指示的流是看到的总流数,但在 Azure Monitor 日志中,用户只会看到一条简化的记录。 若要查看所有流,请使用可从存储引用的
blob_id字段。 该记录的总流数与 Blob 中出现的各个流相匹配。
流量分析架构
流量分析构建在 Azure Monitor 日志的基础之上,因此你可以针对流量分析修饰的数据运行自定义查询,并设置警报。
下表列出了架构中的字段及其对虚拟网络流日志的含义。 有关详细信息,请参阅 NTANetAnalytics。
| 字段 | 格式 | 注释 |
|---|---|---|
| 表名 | NTANet分析平台 | 流量分析数据表。 |
| SubType | FlowLog | 流日志的子类型。 仅使用 FlowLog,SubType 的其他值供内部使用。 |
| FASchemaVersion | 3 | 架构版本。 不会反映虚拟网络流日志版本。 |
| 处理时间 | 日期和时间 (UTC) | 流量分析处理存储帐户中的原始流日志的时间。 |
| FlowIntervalStartTime | 日期和时间 (UTC) | 流日志处理间隔的开始时间(计量流间隔的开始时间)。 |
| FlowIntervalEndTime | 日期和时间 (UTC) | 流日志处理间隔的结束时间。 |
| FlowStartTime | 日期和时间 (UTC) | 在 FlowIntervalStartTime 和 FlowIntervalEndTime 之间的流日志处理间隔中该流的第一次出现(该流会被聚合)。 此流将会基于聚合逻辑进行聚合。 |
| FlowEndTime | 日期和时间 (UTC) |
FlowIntervalStartTime 和 FlowIntervalEndTime 之间流日志处理间隔中该流的最后一次出现(该流会被聚合)。 |
| 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。 |
说明
- 对于
AzurePublic和ExternalPublic流,客户拥有的 Azure 虚拟机 IP 将填充在VMIP_s字段中,而公共 IP 地址则填充在PublicIPs_s字段中。 对于这两种流类型,应使用VMIP_s和PublicIPs_s,而不是SrcIP_s和DestIP_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 工作区中的流量分析可见。