使用英语阅读

通过


网络安全组

可以使用 Azure 网络安全组来筛选 Azure 虚拟网络中 Azure 资源之间的网络流量。 网络安全组包含安全规则,这些规则可允许或拒绝多种 Azure 资源的入站和出站网络流量。 可以为每项规则指定源和目标、端口以及协议。

本文介绍网络安全组规则的属性和 Azure 应用 的默认安全规则 。 它还介绍如何修改规则属性以创建 增强的安全规则

安全规则

一个网络安全组包含不超过 Azure 订阅限制的任意数量的规则。 每个规则指定以下属性:

财产 解释
名称 网络安全组中的唯一名称。 该名称最长可为 80 个字符。 它必须以单词字符开头,并且必须以单词字符或以 _单词字符结尾。 该名称可以包含单词字符或.-\_
优先级 介于 100 和 4096 之间的数字。 规则按优先顺序进行处理。先处理编号较小的规则,因为编号越小,优先级越高。 一旦流量与某个规则匹配,处理即会停止。 因此,不会处理具有与优先级较高的规则具有相同属性的任何优先级较低(较高数字)的规则。
Azure 默认安全规则的优先级最高,以确保始终先处理自定义规则。
源或目标 可以指定 Any、单个 IP 地址、CIDR 块(例如 10.0.0.0/24)、服务标记或应用程序安全组。 对于 Azure 资源,请使用分配给资源的专用 IP 地址。 Azure 将公共 IP 地址转换为入站流量的专用 IP 地址后,网络安全组处理流量。 在将专用 IP 地址转换为出站流量的公共 IP 地址之前,它们会处理流量。 输入范围、服务标记或应用程序安全组以减少所需的安全规则数。 扩充式安全规则允许在单个规则中指定多个单独的 IP 地址和范围。 但是,不能在单个规则中指定多个服务标记或应用程序组。 扩充式安全规则仅在通过 Resource Manager 部署模型创建的网络安全组中可用。 在经典部署模型中,无法在单个规则中指定多个 IP 地址和范围。
如果源是子网 10.0.1.0/24(其中 VM1 所在的位置),并且目标为子网 10.0.2.0/24(其中 VM2 所在的位置),则网络安全组会筛选 VM2 的流量。 发生此行为的原因是 NSG 与 VM2 的网络接口相关联。
协议 TCP、UDP、ICMP、ESP、AH 或 任何协议。 ESP 和 AH 协议目前无法通过 Azure 门户使用,但可通过 ARM 模板使用。
方向 该规则适用于入站流量还是出站流量。
端口范围 可以指定单个端口或端口范围。 例如,可以指定 80 或 10000-10005。 指定范围可以减少创建的安全规则数。 只能在通过资源管理器部署模型创建的网络安全组中创建扩充式安全规则。 在通过经典部署模型创建的网络安全组中,不能在同一个安全规则中指定多个端口或端口范围。
行动 允许或拒绝

根据五元组(源、源端口、目标、目标端口、协议)信息评估并应用安全规则。 不能创建两个具有相同优先级和方向的安全规则。 将为现有连接创建流记录。 是允许还是拒绝通信取决于流记录的连接状态。 流记录允许网络安全组有状态。 例如,如果针对通过端口 80 访问的任何地址指定了出站安全规则,则不需要指定入站安全规则来响应出站流量。 如果通信是从外部发起的,则只需指定入站安全规则。 反之亦然。 如果允许通过某个端口发送入站流量,则不需要指定出站安全规则来响应通过该端口发送的流量。

删除允许连接的安全规则时,现有连接将保持不间断。 网络安全组规则仅影响新连接。 网络安全组中的新规则或更新的规则仅适用于新连接,使现有连接不受更改影响。

在网络安全组中创建的安全规则存在数量限制。 有关详细信息,请参阅 Azure 限制

默认安全规则

Azure 在你所创建的每个网络安全组中创建以下默认规则:

入站

AllowVNetInBound
优先级 源端口 目标 目标端口 协议 访问
65000 VirtualNetwork 0-65535 VirtualNetwork 0-65535 任意 允许
AllowAzureLoadBalancerInBound
优先级 源端口 目标 目标端口 协议 访问
65001 Azure负载均衡器 0-65535 0.0.0.0/0 0-65535 任何 允许
DenyAllInbound
优先级 源端口 目标 目标端口 协议 访问
65500 0.0.0.0/0 0-65535 0.0.0.0/0 0-65535 任何 拒绝

出站

AllowVnetOutBound
优先级 源端口 目标 目标端口 协议 访问
65000 VirtualNetwork 0-65535 VirtualNetwork 0-65535 任意 允许
AllowInternetOutBound
优先级 源端口 目标 目标端口 协议 访问
65001 0.0.0.0/0 0-65535 Internet 0-65535 任何 允许
DenyAllOutBound
优先级 源端口 目标 目标端口 协议 访问
65500 0.0.0.0/0 0-65535 0.0.0.0/0 0-65535 任何 拒绝

在“源”和“目标”列表中,“VirtualNetwork”、“AzureLoadBalancer”和“Internet”是服务标记,而不是 IP 地址。 在“协议”列中,Any 包含 TCP、UDP 和 ICMP。 创建规则时,可以指定 TCP、UDP、ICMP 或 Any。 “源”和“目标”列中的“0.0.0.0/0”表示所有地址。 Azure 门户、Azure CLI 或 PowerShell 等客户端可以使用“*”或任何字符来表示此表达式。

不能删除默认规则,但可以通过创建更高优先级的规则来替代默认规则。

扩充式安全规则

扩充式安全规则简化了虚拟网络的安全定义,可让我们以更少的规则定义更大、更复杂的网络安全策略。 可将多个端口和多个显式 IP 地址和范围合并成一个易于理解的安全规则。 可在规则的源、目标和端口字段中使用扩充式规则。 若要简化安全规则定义的维护,可将扩充式安全规则与服务标记应用程序安全组合并。 可在规则中指定的地址、范围和端口的数量存在限制。 有关详细信息,请参阅 Azure 限制

服务标记

服务标记代表给定 Azure 服务中的一组 IP 地址前缀。 它有助于将频繁更新网络安全规则的复杂性降至最低。

有关详细信息,请参阅 Azure 服务标记。 有关如何使用存储服务标记限制网络访问的示例,请参阅限制对 PaaS 资源的网络访问

应用程序安全组

使用应用程序安全组可将网络安全性配置为应用程序结构的固有扩展,从而可以基于这些组将虚拟机分组以及定义网络安全策略。 可以大量重复使用安全策略,而无需手动维护显式 IP 地址。 若要了解详细信息,请参阅应用程序安全组

Azure 平台注意事项

  • 主机节点的虚拟 IP:基本的基础结构服务(如 DHCP、DNS、IMDS 和运行状况监视)通过虚拟化主机 IP 地址 168.63.129.16 和 169.254.169.254 提供。 这些 IP 地址属于 Microsoft,并且是所有区域中用于此目的的唯一虚拟化 IP 地址。 默认情况下,这些服务不受配置的网络安全组的限制,除非针对每个服务设定了特定的服务标记。 若要替代此基本基础结构通信,可以在网络安全组规则上使用以下服务标记创建一个安全规则来拒绝流量:AzurePlatformDNS、AzurePlatformIMDS、AzurePlatformLKM。 了解如何诊断网络流量筛选诊断网络路由

  • 许可(密钥管理服务) :在虚拟机中运行的 Windows 映像必须获得许可。 为了确保许可,会向处理此类查询的密钥管理服务主机服务器发送请求。 该请求是通过端口 1688 以出站方式提出的。 对于使用 默认路由 0.0.0.0/0 配置的部署,将禁用此平台规则。

  • 负载均衡池中的虚拟机:应用的源端口和地址范围来自源计算机,而不是来自负载均衡器。 目标端口和地址范围是目标计算机的,而不是负载均衡器的。

  • Azure 服务实例:在虚拟网络子网中部署了多个 Azure 服务的实例,例如 HDInsight、应用程序服务环境和虚拟机规模集。 有关可部署到虚拟网络的服务的完整列表,请参阅 Azure 服务的虚拟网络。 在将网络安全组应用到子网之前,请熟悉每个服务的端口要求。 如果拒绝服务所需的端口,则服务无法正常运行。

  • 发送出站电子邮件:Microsoft 建议你利用经过身份验证的 SMTP 中继服务(通常通过 TCP 端口 587 进行连接,但也经常使用其他端口)从 Azure 虚拟机发送电子邮件。 SMTP 中继服务专门从事发件人信誉,以最大程度地减少合作伙伴电子邮件提供商拒绝邮件的可能性。 此类 SMTP 中继服务包括但不限于:Exchange Online Protection 和 SendGrid。 在 Azure 中使用 SMTP 中继服务绝不会受限制,不管订阅类型如何。

    如果在 2017 年 11 月 15 日之前创建了 Azure 订阅,除了能够使用 SMTP 中继服务外,还可以直接通过 TCP 端口 25 发送电子邮件。 如果在 2017 年 11 月 15 日之后创建了订阅,则可能无法直接通过端口 25 发送电子邮件。 经端口 25 的出站通信行为取决于订阅类型,如下所示:

    • 企业协议:在标准企业协议订阅下部署的虚拟机,TCP端口25上的出站SMTP连接不会被阻止。 但是,不能保证外部域接受来自 VM 的传入电子邮件。 如果外部域拒绝或筛选电子邮件,请联系外部域的电子邮件服务提供商来解决问题。 Azure 支持不予涵盖这些问题。

      对于 Enterprise 开发/测试订阅,默认情况下会阻止端口 25。 有可能删除这块障碍。 若要请求删除这项阻止,请转到 Azure 门户中 Azure 虚拟网络资源的“诊断和解决”设置页面的“无法发送电子邮件(SMTP-端口 25)”部分,并运行诊断程序。 此过程自动免除限定的企业开发/测试订阅。

      当订阅被豁免于此阻止条件,并在停止和重启 VM 后,该订阅内的所有 VM 未来都将被豁免。 该豁免仅适用于请求的订阅,并且仅适用于直接路由到 Internet 的 VM 流量。

    • 即用即付:阻止所有资源通过端口 25 进行出站通信。 无法提出解除限制的请求,因为请求不会被批准。 若需从虚拟机发送电子邮件,则需使用 SMTP 中继服务。

    • MSDN、Azure Pass、Azure 开放式许可、教育、免费试用版:阻止所有资源经端口 25 进行出站通信。 不能请求去除该限制,因为请求不会被批准。 若需从虚拟机发送电子邮件,则需使用 SMTP 中继服务。

    • 云服务提供商:阻止所有资源通过端口 25 进行出站通信。 无法请求解除该限制,因为请求不会被批准。 若需从虚拟机发送电子邮件,则需使用 SMTP 中继服务。

后续步骤


其他资源

文档