确定网络安全组的有效规则
每个网络安全组及其定义的安全规则都单独进行评估。 Azure 会处理为配置中的每个虚拟机定义的每个规则中的条件。
- 对于入站流量,Azure 会首先处理任何关联子网的网络安全组安全规则,然后再处理任何关联的网络接口。
- 对于出站流量,进程是反向的。 Azure 首先评估任何关联网络接口的网络安全组安全规则,然后再评估任何关联的子网。
- 对于入站和出站评估过程,Azure 还会检查如何为子网内流量应用规则。
Azure 最终为虚拟机应用定义的安全规则的方式,决定了规则的整体有效性。
有关有效安全规则的注意事项
让我们探讨如何在虚拟网络中定义和处理网络安全组规则,以生成有效的规则。
请考虑使用以下虚拟网络配置,其中显示网络安全组 (NSG) 控制流向虚拟机 (VM) 的流量。 配置需要安全规则来管理通过网络接口的 TCP 端口 80 进出 Internet 的网络流量。
在此虚拟网络配置中,有三个子网。 子网 1 包含两个虚拟机:VM 1 和 VM 2。 子网 2 和子网 3 各包含一个虚拟机:分别为 VM 3 和 VM 4。 每个 VM 都有一个网络接口卡 (NIC)。
Azure 会评估每个 NSG 配置以确定有效的安全规则:
计算 | 子网 NSG | NIC NSG | 入站规则 | 出站规则 |
---|---|---|---|---|
VM 1 | 子网 1 NSG 1 |
NIC NSG 2 |
NSG 1 子网规则优先于 NSG 2 NIC 规则 | NSG 2 NIC 规则优先于 NSG 1 子网规则 |
VM 2 | 子网 1 NSG 1 |
NIC 无 |
NSG 1 子网规则同时适用于子网和 NIC | Azure 默认规则适用于 NIC NSG 1 子网规则仅适用于子网 |
VM 3 | 子网 2 无 |
NIC NSG 2 |
Azure 默认规则适用于子网 NSG 2 规则适用于 NIC |
NSG 2 NIC 规则适用于 NIC 和子网 |
VM 4 | 子网 3 无 |
NIC 无 |
Azure 默认规则同时适用于子网和 NIC 允许使用所有入站流量 |
Azure 默认规则同时适用于子网和 NIC 允许使用所有出站流量 |
入站流量有效规则
Azure 会处理配置中所有 VM 的入站流量规则。 Azure 会确定 VM 是否是 NSG 的成员,以及它们是否具有关联的子网或 NIC。
创建 NSG 时,Azure 会为组创建默认安全规则
DenyAllInbound
。 默认行为是拒绝 Internet 的所有入站流量。 如果 NSG 具有子网或 NIC,则子网或 NIC 的规则可以替代默认的 Azure 安全规则。VM 中子网的 NSG 入站规则优先于同一 VM 中 NIC 的 NSG 入站规则。
出站流量有效规则
Azure 通过首先检查所有 VM 中 NIC 的 NSG 关联来处理出站流量的规则。
创建 NSG 时,Azure 会为组创建默认安全规则
AllowInternetOutbound
。 默认行为是允许流向 Internet 的所有出站流量。 如果 NSG 具有子网或 NIC,则子网或 NIC 的规则可以替代默认的 Azure 安全规则。VM 中 NIC 的 NSG 出站规则优先于同一 VM 中子网的 NSG 出站规则。
创建有效规则时的注意事项
查看以下注意事项,了解如何为虚拟网络中的计算机创建有效的安全规则。
请考虑允许所有流量。 如果将虚拟机放置在子网中或使用网络接口,则无需将子网或 NIC 与网络安全组相关联。 此方法允许根据默认 Azure 安全规则通过子网或 NIC 的所有网络流量。 如果你不关心在特定级别控制流向资源的流量,则不要将该级别的资源关联到网络安全组。
请考虑允许规则的重要性。 创建网络安全组时,必须为组中的子网和网络接口定义“允许”规则,以确保流量可以通过。 如果网络安全组中有子网或 NIC,则必须在每个级别定义允许规则。 否则,针对任何不提供允许规则定义的级别,流量都被拒绝。
请考虑子网内流量。 与子网关联的网络安全组的安全规则可能会影响子网中所有虚拟机之间的流量。 默认情况下,Azure 允许同一子网中的虚拟机相互发送流量(称为子网内流量)。 可以通过在网络安全组中定义拒绝所有入站和出站流量的规则来禁止子网内流量。 此规则可防止子网中的所有虚拟机相互通信。
考虑规则优先级。 网络安全组的安全规则按优先级顺序进行处理。 若要确保始终处理特定安全规则,请为该规则分配尽可能低的优先级值。 最好在优先级编号中保留间隔(例如 100、200、300 等)。 编号中的间隔让你可以添加新规则,而无需编辑现有规则。
查看有效的安全规则
如果有多个网络安全组,并且不确定要应用哪些安全规则,则可以在 Azure 门户中使用“有效安全规则”链接。 可以使用该链接来验证计算机、子网和网络接口应用了哪些安全规则。