1. 什么是NSG?
安全组Network Security Group(简称NSG)用来筛选 Azure 虚拟网络(virtual network)中出入Azure 资源的网络流量。
2. NSG的相关概念:
NSG 包含安全规则,安全规则是允许或拒绝入站/出站流量的规约。
安全规则可配置的项包含:
属性 | 说明 |
名称 | 网络安全组中的唯一名称。 |
优先级 | 介于 100 和 4096 之间的数字。 规则按优先顺序进行处理。先处理编号较小的规则,因为编号越小,优先级越高。 一旦流量与某个规则匹配,处理即会停止。 因此,不会处理优先级较低(编号较大)的、其属性与高优先级规则相同的所有规则。 |
源或目标 | 可以是任何值,也可以是单个 IP 地址、无类别域际路由 (CIDR) 块(例如 10.0.0.0/24)、服务标记或应用程序安全组。 服务标记代表给定 Azure 服务中的一组 IP 地址前缀。参见 https://docs.azure.cn/zh-cn/virtual-network/service-tags-overview 使用应用程序安全组可将网络安全性配置为应用程序结构的固有扩展,从而可以基于这些组将虚拟机分组以及定义网络安全策。 |
协议 | TCP、UDP、ICMP 或 Any。 |
方向 | 该规则是应用到入站还是出站流量。 |
端口范围 | 可以指定单个端口或端口范围。 例如,可以指定 80 或 10000-10005。 |
操作 | 允许或拒绝 |
3. 默认的安全组规则:
入站
AllowVNetInBound
优先级 | Source | 源端口 | 目标 | 目标端口 | 协议 | 访问 |
65000 | VirtualNetwork | 0-65535 | VirtualNetwork | 0-65535 | 任意 | 允许 |
AllowAzureLoadBalancerInBound
优先级 | Source | 源端口 | 目标 | 目标端口 | 协议 | 访问 |
65001 | AzureLoadBalancer | 0-65535 | 0.0.0.0/0 | 0-65535 | 任意 | 允许 |
DenyAllInbound
优先级 | Source | 源端口 | 目标 | 目标端口 | 协议 | 访问 |
65500 | 0.0.0.0/0 | 0-65535 | 0.0.0.0/0 | 0-65535 | 任意 | 拒绝 |
出站
AllowVnetOutBound
优先级 | Source | 源端口 | 目标 | 目标端口 | 协议 | 访问 |
65000 | VirtualNetwork | 0-65535 | VirtualNetwork | 0-65535 | 任意 | 允许 |
AllowInternetOutBound
优先级 | Source | 源端口 | 目标 | 目标端口 | 协议 | 访问 |
65001 | 0.0.0.0/0 | 0-65535 | Internet | 0-65535 | 任意 | 允许 |
DenyAllOutBound
优先级 | Source | 源端口 | 目标 | 目标端口 | 协议 | 访问 |
65500 | 0.0.0.0/0 | 0-65535 | 0.0.0.0/0 | 0-65535 | 任意 | 拒绝 |
4. NSG 试用于哪些产品?
Category | 服务 |
计算 | 虚拟机:Linux 或 Windows 虚拟机规模集 云服务:仅限虚拟网络(经典) Azure Batch |
网络 | 应用程序网关 - WAF *** 网关 Azure 防火墙 网络虚拟设备 |
数据 | RedisCache Azure SQL 数据库托管实例 |
分析 | Azure HDInsight |
容器 | Azure Kubernetes 服务 (AKS) |
Web | API 管理 应用服务环境 |
5. NSG限制
受限于Azure 订阅限制
网络安全组 | 5,000 |
每个 NSG 的 NSG 规则数 | 1,000 |
6. 其他注意事项
主机节点的虚拟 IP:基本的基础结构服务(例如 DHCP、DNS、IMDS和运行状况监视)是通过虚拟化主机 IP 地址 168.63.129.16 和 169.254.169.254 提供的。 这些 IP 地址属于 Azure,是仅有的用于所有区域的虚拟化 IP 地址,没有其他用途。
许可(密钥管理服务) :在虚拟机中运行的 Windows 映像必须获得许可。 为了确保许可,会向处理此类查询的密钥管理服务主机服务器发送请求。 该请求是通过端口 1688 以出站方式提出的。 对于使用默认路由 0.0.0.0/0 配置的部署,此平台规则会被禁用。
负载均衡池中的虚拟机:应用的源端口和地址范围来自源计算机,而不是来自负载均衡器。 目标端口和地址范围是目标计算机的,而不是负载均衡器的。
Azure 服务实例:在虚拟网络子网中部署了多个 Azure 服务的实例,例如 HDInsight、应用程序服务环境和虚拟机规模集。 在将网络安全组应用到部署了资源的子网之前,请确保熟悉每个服务的端口要求。 如果拒绝服务所需的端口,服务将无法正常工作。
发送出站电子邮件:Azure 建议利用经过身份验证的 SMTP 中继服务(通常通过 TCP 端口 587 进行连接,但也经常使用其他端口)从 Azure 虚拟机发送电子邮件。在 Azure 中使用 SMTP 中继服务绝不会受限制,不管订阅类型如何。如果是在 2017 年 11 月 15 日之前创建的 Azure 订阅,则除了能够使用 SMTP 中继服务,还可以直接通过 TCP 端口 25 发送电子邮件。如果是在 2017 年 11 月 15 日之后创建的订阅,则可能无法直接通过端口 25 发送电子邮件。经端口 25 的出站通信行为取决于订阅类型,如下所示: