网络安全组如何筛选网络流量

使用 Azure 网络安全组 (NSG) 筛选 Azure 虚拟网络中传入和传出 Azure 资源的网络流量。 网络安全组提供基本的流量筛选功能,通过控制哪些流量可在资源之间流动,帮助保护云基础结构。 网络安全组包含允许或拒绝来自多种 Azure 资源的入站网络流量或出站网络流量的安全规则。 对于每个规则,可以指定源和目标详细信息、端口和协议。

可以将资源从多个 Azure 服务部署到一个 Azure 虚拟网络中。 如需完整列表,请参阅可部署到虚拟网络中的服务。 如果需要,可以将网络安全组与虚拟机中的每个虚拟网络子网和网络接口相关联。 同一个网络安全组可以与任意数量的子网和网络接口关联。

下图说明了如何部署网络安全组以允许通过 TCP 端口 80 传入和传出 Internet 的网络流量的不同方案:

网络安全组流量流图的屏幕截图,其中显示了 Azure 虚拟机的入站和出站规则处理。

请参阅上图,了解 Azure 如何处理入站和出站规则。 此图说明了网络安全组如何处理流量筛选。

入站流量

对于入站流量,Azure 首先处理与子网关联的网络安全组中的规则(如果存在)。 然后,Azure 会处理与网络接口关联的网络安全组中的规则(如果存在)。 这种相同的评估顺序适用于子网内流量。

  • VM1:处理 NSG1 中的安全规则,因为 NSG1Subnet1 关联, VM1 驻留在 Subnet1 中。 DenyAllInbound 默认安全规则会阻止流量,除非你创建了显式允许端口 80 入站的自定义规则。 与网络接口 NIC1 关联的 NSG2 不会评估阻止的流量。 但是,如果 NSG1 在其安全规则中允许端口 80, 则 NSG2 会评估流量。 若要允许端口 80 到虚拟机, NSG1NSG2 必须包含允许来自 Internet 的端口 80 的规则。

  • VM2处理 NSG1 中的安全规则,因为 VM2 也位于 Subnet1 中。 由于 VM2 没有与其网络接口关联的网络安全组,因此它接收通过 NSG1 允许的所有流量,并拒绝 NSG1 阻止的所有流量。 当网络安全组关联到子网时,对于同一子网中的所有资源,流量要么被允许,要么被拒绝。

  • VM3:由于没有与 Subnet2 关联的网络安全组,因此允许流量进入子网并由 NSG2 处理,因为 NSG2 与附加到 VM3 的网络接口 NIC1 相关联。

  • VM4:流量被阻止到 VM4 ,因为网络安全组与 Subnet3 和虚拟机中的网络接口不关联。 如果没有关联的网络安全组,则阻止所有网络流量通过子网和网络接口。 默认情况下,具有标准公共 IP 地址的虚拟机是安全的。 要使流量从 Internet 流动,网络安全组必须与虚拟机的子网或网络接口相关联。 有关详细信息,请参阅 IP 地址版本

出站流量

对于出站流量,Azure 按特定顺序处理网络安全组规则。 Azure 评估与网络接口关联的任何网络安全组中的规则。 然后,Azure 处理与子网关联的任何网络安全组中的规则。 此相同的处理顺序适用于子网内流量。

  • VM1:系统会处理 NSG2 中的安全规则。 AllowInternetOutbound 默认安全规则在 NSG1NSG2 中允许流量,除非您创建一个安全规则,明确拒绝端口 80 出站到 Internet。 如果 NSG2 在其安全规则中拒绝端口 80,则拒绝流量, NSG1 永远不会收到流量,并且无法对其进行评估。 若要拒绝来自虚拟机的端口 80,其中一个或两个网络安全组必须具有拒绝端口 80 到 Internet 的规则。

  • VM2:所有流量都通过网络接口发送到子网,因为附加到 VM2 的网络接口没有与之关联的网络安全组。 系统会处理 NSG1 中的规则。

  • VM3:如果 NSG2 在其安全规则中拒绝端口 80,则会阻止流量。 如果NSG2不拒绝端口 80,NSG2中的AllowInternetOutbound默认安全规则会允许流量,因为没有与Subnet2关联的网络安全组。

  • VM4:流量从 VM4 自由流动,因为没有网络安全组与虚拟机的网络接口或 Subnet3 相关联。

子网内流量

请务必注意,与子网关联的网络安全组中的安全规则可能会影响其中虚拟机之间的连接。 默认情况下,同一子网中的虚拟机可以基于允许子网内流量的默认网络安全组规则进行通信。 如果将规则添加到 NSG1 ,拒绝所有入站和出站流量, 则 VM1VM2 无法相互通信。

可以通过查看网络接口的有效安全规则,轻松查看已应用到网络接口的聚合规则。 Azure 网络观察程序中的 IP 流验证 功能有助于确定是允许还是允许来自网络接口的通信。 IP 流验证确定是允许还是拒绝通信。 它还标识了哪些网络安全规则负责允许或拒绝流量。

提示

为获得最佳安全配置,请避免同时将网络安全组与子网及其网络接口相关联。 选择将网络安全组与子网或网络接口相关联,但不能同时关联两者。 在多个级别应用网络安全组时,规则可能会相互冲突。 安全规则中的这种重叠通常会导致难以排查的意外流量筛选问题。

后续步骤