流量分析

流量分析是一种基于云的解决方案,可用于了解云网络上的用户和应用程序活动。 具体而言,流量分析可以分析 Azure 网络观察程序网络安全组 (NSG) 流日志,以提供 Azure 云中流量流的见解。 使用流量分析可以:

  • 可视化各个 Azure 订阅中的网络活动。

  • 识别热点。

  • 使用有关以下组件的信息来识别威胁,以保护网络:

    • 打开端口
    • 尝试访问 Internet 的应用程序
    • 连接到恶意网络的虚拟机 (VM)
  • 了解 Azure 区域与 Internet 中的流量流模式,优化网络部署以提高性能和容量。

  • 查明可能导致网络连接失败的不当网络配置。

注意

流量分析现在支持按 10 分钟频率收集 NSG 流日志数据。

注意

若要与 Azure 交互,建议使用 Azure Az PowerShell 模块。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az

为何要使用流量分析?

在监视、管理自己的网络,以及识别网络中是否存在安全性、合规性和性能问题时,流量分析非常关键。 在保护和优化自己的环境之前,了解该环境至关重要。 你通常需要知道网络的当前状态,包括以下信息:

  • 谁正在连接到网络?
  • 他们从哪个位置进行连接?
  • 向 Internet 开放了哪些端口?
  • 预期的网络行为是什么?
  • 是否存在异常网络行为?
  • 流量是否突然增长?

云网络不同于本地企业网络。 在本地网络中,路由器和交换机支持 NetFlow 和其他类似协议。 当 IP 网络流量进入或退出网络接口时,你可以使用这些设备来收集其相关数据。 通过分析流量流数据,可以生成网络流量流和流量大小的分析数据。

NSG 流日志使用 Azure 虚拟网络收集有关网络的数据。 这些日志通过与单个网络接口、VM 或子网关联的 NSG 提供有关传入和传出 IP 流量的信息。 在分析原始 NSG 流日志后,流量分析会将日志数据与有关安全性、拓扑和地理位置的情报相组合。 然后,流量分析会提供环境中流量流的见解。

流量分析提供以下信息:

  • 通信最活跃的主机
  • 通信最活跃的应用程序协议
  • 对话最活跃的主机对
  • 允许和阻止的流量
  • 入站和出站流量
  • 开放的 Internet 端口
  • 阻止最多流量的规则
  • 每个 Azure 数据中心、虚拟网络、子网或恶意网络的流量分布

关键组件

  • 网络安全组 (NSG):一个包含安全规则列表的资源,这些规则允许或拒绝发往连接到 Azure 虚拟网络的资源的网络流量。 可以将 NSG 与子网、单个 VM(经典)或附加到 VM(资源管理器)的单个网络接口 (NIC) 进行关联。 有关详细信息,请参阅网络安全组概述

  • NSG 流日志:记录的有关通过 NSG 传送的传入和传出 IP 流量的信息。 NSG 流日志是以 JSON 格式写入的,其中包括:

    • 根据规则写入的出站和入站流。
    • 该流所适用的 NIC。
    • 有关流的信息,例如源和目标 IP 地址、源和目标端口,以及协议。
    • 流量的状态,例如允许或拒绝。

    有关 NSG 流日志的详细信息,请参阅 NSG 流日志

  • Log Analytics:Azure 门户中一个用于处理 Azure Monitor 日志数据的工具。 Azure Monitor 日志是一个用于收集监视数据,并将数据存储在中心存储库中的 Azure 服务。 这些数据可能包括事件、性能数据或通过 Azure API 提供的自定义数据。 收集数据后,可以分析、导出数据,或根据数据发出警报。 网络性能监视器和流量分析等监视应用程序使用 Azure Monitor 日志作为基础。 有关详细信息,请参阅 Azure Monitor 日志。 Log Analytics 提供了针对日志编辑和运行查询的方式。 还可以使用此工具分析查询结果。 有关详细信息,请参阅 Azure Monitor 中的 Log Analytics 概述

  • Log Analytics 工作区:用于存储与 Azure 帐户相关的 Azure Monitor 日志数据的环境。 有关 Log Analytics 工作区的详细信息,请参阅创建 Log Analytics 工作区

  • 网络观察程序:一个区域性服务,可用于在 Azure 中监视和诊断网络方案级别的状况。 可以使用网络观察程序来启用和禁用 NSG 流日志。 有关详细信息,请参阅网络观察程序

流量分析的工作原理

流量分析检查原始 NSG 流日志。 然后,它通过聚合具有共同源 IP 地址、目标 IP 地址、目标端口和协议的流来减少日志量。

例如,主机 1 的 IP 地址为 10.10.10.10,主机 2 的 IP 地址为 10.10.20.10。 假设这两个主机在一小时内进行了 100 次通信。 在这种情况下,原始流日志将包含 100 个条目。 如果对于这 100 次交互中的每次交互,这两个主机在端口 80 上使用 HTTP 协议,则缩减后的日志只包含一个条目。 该条目指出,在一小时内,主机 1 和主机 2 在端口 80 上使用 HTTP 协议通信了 100 次。

系统会使用地理、安全和拓扑信息增强缩减的日志,然后将其存储在 Log Analytics 工作区中。 下图显示了数据流:

此图显示网络流量数据如何从 NSG 日志流向分析仪表板。中间步骤包括聚合和增强。

支持的区域:NSG

可以在以下任何受支持的区域中对 NSG 使用流量分析:

  • 中国东部 2
  • 中国北部
  • 中国北部 2

支持的区域:Log Analytics 工作区

Log Analytics 工作区必须存在于以下区域中:

  • 中国东部 2

先决条件

在使用流量分析之前,请确保环境满足以下要求。

用户访问要求

需要将以下 Azure 内置角色之一分配给帐户:

部署模型 角色
资源管理器 “所有者”
参与者
读取器
网络参与者

如果未将上述任何内置角色分配给帐户,请将一个自定义角色分配给帐户。 自定义角色应支持在订阅级别执行以下操作:

  • Microsoft.Network/applicationGateways/read
  • Microsoft.Network/connections/read
  • Microsoft.Network/loadBalancers/read
  • Microsoft.Network/localNetworkGateways/read
  • Microsoft.Network/networkInterfaces/read
  • Microsoft.Network/networkSecurityGroups/read
  • Microsoft.Network/publicIPAddresses/read"
  • Microsoft.Network/routeTables/read
  • Microsoft.Network/virtualNetworkGateways/read
  • Microsoft.Network/virtualNetworks/read
  • Microsoft.Network/expressRouteCircuits/read

有关如何检查用户访问权限的信息,请参阅流量分析常见问题解答

常见问题解答

若要获取有关流量分析的常见问题的解答,请参阅流量分析常见问题解答

后续步骤