Azure NSG(安全组)

[在此处输入文章标题]

之前在Azure上,对于网络安全,用户自己可以配置VM终结点的ACL ,但是无法针对整个V-NET或定义一个组来配置ACL。

网络安全组 (NSG) 的出现解决了这个问题,可用于控制指向虚拟网络中一个或多个虚拟机 (VM) 实例的通信。在NSG中 包含了允许或拒绝指向 VM 实例的流量的访问控制规则,并且可以随时更改 NSG 的规则。

备注:

NSG 需要区域 VNet,NSG 与关联到地缘组的 VNet 不兼容。

一个VM或子网只能关联一个NSG

目前每个NSG最多包含200个规则

目前每个订阅最多有100个NSG

1 规则内容

名称:规则的唯一标识符

类型:入站/出站

优先级: <可以指定一个介于 100 和 4096 之间的整数>

IP 地址:源 IP 范围的 CIDR

源端口范围: <介于 0 与 65000 之间的整数或范围>

目标 IP 范围:目标 IP 范围的 CIDR

目标端口范围: <介于 0 与 65000 之间的整数或范围>

协议: <允许使用 TCP、UDP 或“*”>

访问:允许/拒绝

默认规则:NSG拥有默认规则,不能删除,但是优先级最低

入站

Name


优先级


源 IP


源端口


目标 IP


目标端口


协议


访问


允许入站 VNET


65000


VIRTUAL_NETWORK


*


VIRTUAL_NETWORK


*


*


允许


允许入站 AZURE 负载平衡器


65001


AZURE_LOADBALANCER


*


*


*


*


允许


拒绝所有入站


65500


*


*


*


*


*


拒绝

出站

Name


优先级


源 IP


源端口


目标 IP


目标端口


协议


访问


允许出站 VNET


65000


VIRTUAL_NETWORK


*


VIRTUAL_NETWORK


*


*


允许


允许出站 INTERNET


65001


*


*


INTERNET


*


*


允许


拒绝所有出站


65500


*


*


*


*


*


拒绝

2 创建和管理NSG

对于NSG的关联,会有以下几种情况:

  • 将 NSG 关联到 VM ,那么该 NSG 中的网络访问规则将直接应用到发往 VM 的所有流量。
  • 将 NSG 关联到子网 ,那么NSG 中的网络访问规则将应用到该子网中的所有 VM。
  • 将2个NSG分别关联到VM和VM所在的V-NBT,那么这个VM将会收到双重保护。

每次规则或关联修改,都会在数分钟内完成更新

2.1 计划NSG

创建和关联 NSG到VM

1.创建网络安全组 (NSG)。

2.添加网络安全规则,除非默认规则足以满足需要。

3.将 NSG 关联到 VM。

4.更新 VM。

5.更新后,NSG 规则会立即生效。

更新现有的NSG

1.添加、删除或更新现有 NSG 中的规则。

2.与 NSG 关联的所有 VM 在数分钟内就会更新。如果 NSG 规则已与 VM 关联,则不需要进行 VM 更新。

更改 NSG 关联

1.将新的 NSG 关联到已与另一个 NSG 关联的 VM。

2.更新 VM。

3.新 NSG 中的规则在数分钟内就会生效。

2.2 配置NSG

目前,只能使用 PowerShell cmdlet 和 REST API 配置和修改 NSG

创建网络安全组

New-AzureNetworkSecurityGroup -Name "MyNSG01" -Location “China East” -Label "Security group for my Vnet in China East"

添加或更新规则

Get-AzureNetworkSecurityGroup -Name "MyNSG01" | Set-AzureNetworkSecurityRule -Name WEB -Type Inbound -Priority 100 -Action Allow -SourceAddressPrefix ‘INTERNET‘ -SourcePortRange ‘*‘ -DestinationAddressPrefix ‘*‘ -DestinationPortRange ‘80‘ -Protocol TCP

删除规则

Get-AzureNetworkSecurityGroup -Name "MyNSG01" | Remove-AzureNetworkSecurityRule -Name WEB

将NSG关联到VM

Get-AzureVM -ServiceName "ngcloud" -Name "ngvm01" | Set-AzureNetworkSecurityGroupConfig -NetworkSecurityGroupName "MyNSG01" | Update-AzureVM

从VM中删除NSG

Get-AzureVM -ServiceName "ngcloud" -Name "ngvm01" | Remove-AzureNetworkSecurityGroupConfig -NetworkSecurityGroupName "MyNSG01" | Update-AzureVM

NSG 关联到子网

Get-AzureNetworkSecurityGroup -Name "MyNSG01" | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName ‘ngtest-network‘ –SubnetName ‘Subnet-1‘

现有V-NET和subnet

关联

查看关联的结果

从子网中删除NSG

Get-AzureNetworkSecurityGroup -Name "MyNSG01" | Remove-AzureNetworkSecurityGroupFromSubnet -VirtualNetworkName ‘ngtest-network‘ -SubnetName ‘Subnet-1‘

再次查看结果

删除NSG

Remove-AzureNetworkSecurityGroup -Name "MyNSG01"

时间: 2024-10-11 13:41:10

Azure NSG(安全组)的相关文章

使用开源工具ELK可视化 Azure NSG日志

国内的Azure最近上线了网络观察程序服务,可以帮助用户监控和分析VNET虚拟网络.其中一个很重要的功能就是可以记录NSG的安全访问日志了.但是如果用户设置了NSG流日志,并下载日志想要分析一下的话,会发现日志其实并不是很友好,NSG流日志是以json格式记录的,可以看到的内容大致如下图所示:日志会记录NSG规则名,系统时间,源地址,目的地址,源端口,目的端口,协议类型,流量方向和处理规则. 不过所有的记录都连在一起,如果要查找某个具体的安全访问记录,非常困难. 不过我们可以使用多个多种开源工具

在微服务系统开发部署中使用Azure RBAC自定义角色

Azure的官方文档介绍了如何创建用于Azure基于角色的访问控制的自定义角色(RBAC Role). 我们也可以根据同样的原理把RBAC细粒度资源管理运用于微服务产品的开发部署中.(https://www.azure.cn/documentation/articles/role-based-access-control-custom-roles/) 由于快速变化的业务需求,微服务的系统架构设计经常会发生变化,开发团队常常需要增加一个新的微服务,降级一个旧版本的微服务,把一个微服务分隔成2个..

Azure Stack PaaS-网站(WebApp)背后是什么原理?

欢迎加入QQ群(423730487)!4月9日在上海有一场线下活动,盆盆还有微软Azure Stack产品组专家会和大家一起分享技术,届时会在QQ群里直播哈. 添加盆盆的微信(markpah),我会把您拉到微信群. 为什么要学习Azure Stack?因为这是学习Azure的最佳工具. 例如Azure里的经典PaaS服务WebApp,是一款广大人民群众喜闻乐见的服务,很多客户用来搭建自己的数字化营销方案.PaaS服务让我们不再困扰于日常的运维,极大地降低了成本. 但是Azure的WebApp背后

MySQL on Azure高可用性设计 DRBD - Corosync - Pacemaker - CRM (一)

MySQL迁移到Azure上后,由于云的特性,在自建数据中心的MySQL的HA的方法在云上很多都不能部署. 这主要是因为,目前Public Cloud不支持:1. 共享存储:2. Multicast:3. VIP. 共享存储,Azure File Service可以部分解决这个问题,但考虑到性能的问题,本方案没有采用File Service: 需要组播的主要原因是集群软件需要组播进行同步: VIP在Cluster的解决方案中,可以解决前段应用连接字符串的问题.Cloud不支持组播和广播,所以AR

在Azure中运行Linux容器ASP.NET 5 跨平台应用程序

在之前一篇的博客中,介绍了如何通过Virtual Studio 2015的Docker扩展工具直接发布ASP.NET应用程序到Azure公有云中的Windows Server 2016 TP3的Windows容器中,这个并不难理解,毕竟Windows 服务器内核就是Windows运行.NET应用程序是必须的:不过这里的伏笔是ASP.NET 5(vNEXT)的开源项目中具备通过DNX(.NET Execution Environment运行环境)将Bootstrap .NET应用程序的编译系统,S

ASP.NET Core在Azure Kubernetes Service中的部署和管理

目录 ASP.NET Core在Azure Kubernetes Service中的部署和管理 目标 准备工作 注册 Azure 账户 AKS文档 进入Azure门户(控制台) 安装 Azure Cli 安装 Docker 进入正题 资源组 创建资源组 删除资源组 容器注册表 Azure Container Register (ACR) 创建 ACR 登录 ACR 服务主体 service principle 创建服务主体 给服务主体配置 ACR 的pull权限 K8s服务集群 Azure Ku

容器与Docker简介(三)Docker相关术语——微软微服务电子书翻译系列

本节列出了在更加深入Docker之前应该熟悉的术语和定义. 有关详细的定义,请参阅Docker提供的术语表. 容器镜像(Container image):具有创建容器所需要的所有依赖和信息的包. 镜像包括所有依赖(如框架)以及容器运行时使用的部署方式和执行配置. 通常,一个镜像来自于多个基本镜像,这些镜像堆叠于彼此之上,以形成容器的文件系统. 镜像创建后将不可改变. 容器(Container):Docker镜像的一个实例. 容器表示单个应用程序,进程或服务的运行. 它由Docker镜像,执行环境

Azure网络安全组NSG

上一篇博文中我们了解了Azure中的终结点访问控制列表,在安全方面,微软在Azure中还提供了另外一个解决方案,那就是本文我们要来了解的网络安全组NSG.网络安全组 (NSG) 包含一系列安全规则,这些规则可以允许或拒绝流向连接到 Azure 虚拟网络 (VNet) 的资源的网络流量. 可以将 NSG 关联到子网.单个 VM(经典)或附加到 VM 的单个网络接口 (NIC) (Resource Manager). 将 NSG 关联到子网时,规则适用于连接到该子网的所有资源. 也可通过将 NSG

Azure PowerShell (14) 批量导出Azure ASM ACL和ARM NSG配置信息

<Windows Azure Platform 系列文章目录> 最近有一个客户需求,需要批量导出Azure Classic VM的ACL (Access Control List), 还有ARM VM的NSG (Network Security Group) 设置. 我花了一点时间,写了一个PowerShell脚本,发布在我的GitHub上: https://github.com/leizhang1984/AzureChinaPowerShell/blob/master/ARM/ExportA