您现在访问的是微软AZURE全睃版技术文档网站,若需覝访问由世纪互蝔违蝥的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

网络安全组

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

本文介绍网络安全组规则的属性、应用的默认安全规则,以及可以修改以创建扩充安全规则的规则属性。

安全规则

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

属性 说明
名称 网络安全组中的唯一名称。
优先级 介于 100 和 4096 之间的数字。 规则按优先顺序进行处理。先处理编号较小的规则,因为编号越小,优先级越高。 一旦流量与某个规则匹配,处理即会停止。 因此,不会处理优先级较低(编号较大)的、其属性与高优先级规则相同的所有规则。
源或目标 可以是任何值,也可以是单个 IP 地址、无类别域际路由 (CIDR) 块(例如 10.0.0.0/24)、服务标记或应用程序安全组。 如果为 Azure 资源指定一个地址,请指定分配给该资源的专用 IP 地址。 在 Azure 针对入站流量将公共 IP 地址转换为专用 IP 地址后,系统会处理网络安全组,然后由 Azure 针对出站流量将专用 IP 地址转换为公共 IP 地址。 . 指定范围、服务标记或应用程序安全组可以减少创建的安全规则数。 在一个规则中指定多个单独的 IP 地址和范围(不能指定多个服务标记或应用程序组)的功能称为扩充式安全规则。 只能在通过资源管理器部署模型创建的网络安全组中创建扩充式安全规则。 在通过经典部署模型创建的网络安全组中,不能指定多个 IP 地址和 IP 地址范围。
协议 TCP、UDP、ICMP、ESP、AH 或 任何协议。
方向 该规则是应用到入站还是出站流量。
端口范围 可以指定单个端口或端口范围。 例如,可以指定 80 或 10000-10005。 指定范围可以减少创建的安全规则数。 只能在通过资源管理器部署模型创建的网络安全组中创建扩充式安全规则。 在通过经典部署模型创建的网络安全组中,不能在同一个安全规则中指定多个端口或端口范围。
操作 允许或拒绝

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

删除启用了流的安全规则时,现有连接不一定会中断。 当连接停止并且至少几分钟内在任一方向都没有流量流过时,流量流会中断。

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

默认安全规则

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

入站

AllowVNetInBound
优先级 源端口 目标 目标端口 协议 访问
65000 VirtualNetwork 0-65535 VirtualNetwork 0-65535 任意 允许
AllowAzureLoadBalancerInBound
优先级 源端口 目标 目标端口 协议 访问
65001 AzureLoadBalancer 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 的出站通信行为取决于订阅类型,如下所示:

    • 企业协议:允许端口 25 的出站通信。 可以将出站电子邮件直接从虚拟机发送到外部电子邮件提供商,不受 Azure 平台的限制。
    • 即用即付: 阻止所有资源通过端口 25 进行出站通信。 如需将电子邮件从虚拟机直接发送到外部电子邮件提供商(不使用经身份验证的 SMTP 中继),可以请求去除该限制。 Microsoft 会自行审核和批准此类请求,并且只在进行防欺诈检查后授予相关权限。 若要提交请求,请建立一个问题类型为“技术”、“虚拟网络连接”、“无法发送电子邮件(SMTP/端口 25)”的支持案例。 在支持案例中,请详细说明为何你的订阅需要将电子邮件直接发送到邮件提供商,而不经过经身份验证的 SMTP 中继。 如果订阅得到豁免,则只有在豁免日期之后创建的虚拟机能够经端口 25 进行出站通信。
    • MSDN、Azure Pass、Azure 开放许可、教育、BizSpark 和免费试用版:阻止所有资源经端口 25 进行出站通信。 不能请求去除该限制,因为不会针对请求授予相关权限。 若需从虚拟机发送电子邮件,则需使用 SMTP 中继服务。
    • 云服务提供商:如果无法使用安全的 SMTP 中继,通过云服务提供商消耗 Azure 资源的客户可以通过其云服务提供商创建支持案例,并请求提供商代表他们创建取消阻止案例。

    即使 Azure 允许经端口 25 发送电子邮件,Microsoft 也不能保证电子邮件提供商会接受来自你的虚拟机的入站电子邮件。 如果特定的提供商拒绝了来自你的虚拟机的邮件,请直接与该提供商协商解决邮件传送问题或垃圾邮件过滤问题,否则只能使用经身份验证的 SMTP 中继服务。

后续步骤