网络安全组由安全规则组成,这些规则允许或拒绝传入或传出我们将在 Azure 虚拟网络中托管的不同类型的 Azure 资源的入站/出站网络流量。并且我们可以在不同级别应用网络安全组。例如:
安全规则属性:
名称:网络名称在网络安全组内应该是唯一的。
优先级:安全规则按优先级顺序处理,编号越小优先级最高。
源或目标:(IP 地址、CIDR(无类域间路由)块、服务标签或应用程序安全组)在规则中指定多个单独的 IP 地址和范围的能力称为增强安全规则。
协议: TCP、UDP等
端口范围:我们可以指定单个或一系列端口
操作:允许或拒绝
服务标签
服务标签代表一组 IP 地址前缀,有助于最大限度地降低安全规则创建的复杂性。我们无法创建服务标签,也无法指定标签中包含的 IP 地址。Microsoft 管理服务标签所包含的地址前缀,并在地址更改时自动更新服务标签。
早些时候,如果我们想允许从我们的虚拟机与 Azure 服务进行通信,我们需要配置出站规则的 IoT,因为 Microsoft 为每个服务提供 IP 地址列表,您需要在我们的 NSG 规则中配置这些 IP 地址列表以允许从我们的虚拟机到该特定服务的出站连接,以及如果 Microsoft 正在更改您需要更改规则的地址。
使用服务标签将大大简化您的 NSG 规则,例如:
存储:此标记表示 Azure 存储服务的 IP 地址空间。如果您为该值指定存储,则允许或拒绝存储流量。
SQL:此标记表示 Azure SQL 数据库、Azure Database for MySQL、Azure Database for PostgreSQL 和 Azure SQL 数据仓库服务的地址前缀。
Azure CosmosDB:此标记表示 Azure Cosmos 数据库服务的地址前缀。
AzureKeyVault:此标记表示 Azure KeyVault 服务的地址前缀。如果为值指定 AzureKeyVault,则允许或拒绝到 AzureKeyVault 的流量。
EventHub:此标记表示 Azure EventHub 服务的地址前缀。如果您为该值指定 EventHub,则允许或拒绝到 EventHub 的流量。
默认规则
我们在创建 NSG 时会默认创建一些默认规则。有两种类型的默认规则。
入站安全规则
- AllowVNetInbound:允许来自 VNet 内任何资源的流量
- AllowAzureLoadBalancerInbound:允许从 Azure 负载均衡器到网络中任何虚拟机的任何流量。
- DenyAllInbound:默认情况下,虚拟网络中的虚拟机可以相互通信,Azure负载均衡器也可以与虚拟网络中的虚拟机通信。
出站安全规则
- AllowVNetOutBound:允许流量通过 VNet 中的任何资源
- AllowInternetOutBound:允许从 VNet 中的任何资源到 Internet 的流量。
- DenyAllOutBound:默认情况下,虚拟网络中的虚拟机可以相互通信,Azure负载均衡器也可以与虚拟网络中的虚拟机交互。
应用程序安全组
应用程序安全组使您能够将网络安全配置为应用程序结构的自然扩展,允许您对虚拟机进行分组并基于这些组定义网络安全策略。例如 -
在子网和虚拟机级别配置 NSG
第 1 步:单击创建资源按钮并输入网络安全组。然后选择网络安全组,然后单击创建按钮。
第 2 步:现在,您位于网络安全组创建页面。选择资源组,填写名称,选择地区,点击review+create。
第 3 步:您的 NSG 已创建,现在我们将此 NSG 与子网相关联。
第 4 步:单击子网,然后单击添加关联。选择要与此 NSG 关联的虚拟网络和子网。
第5步:最后,点击确定按钮。您的 NSG 现在已与子网关联。