Azure ARM模式下VNet配置中需要注意的几点事项(2)

这个网段,需要接受外部网段来访问VM的管理的端口,比如SSH或RDP。这种网段建议采用VIP的Inbound Nat Rule做Port Mapping来实现隐藏管理端口实现对外部提供服务的功能。

Azure ARM模式下VNet配置中需要注意的几点事项

当然也可以采用PIP地址来实现对外提供管理功能的端口,但这样的安全隐患比较大,不建议使用。

4. 其他网段

对于一些特殊网段,这些网段内的VM有一些特殊需求,比如:

要求开ICMP进行特殊工作

要求打开大量端口

突破SNAT(Source NAT)对Session数(每秒钟160个)的限制

这时开PIP是非常有效的。另外,对一些测试机器,对安全性等没有太多需求,开PIP是比较方便的。

Azure ARM模式下VNet配置中需要注意的几点事项

三 VNet中的安全功能-NSG

NSG是Network Security Group的缩写,相当于网络的ACL。它支持:

支持入向、出向的安全控制

支持应用到网段、VM上

针对我们前面提到的4种网段,NSG的设置如下:

1. WEB网段

允许80端口和VNet内部的22端口访问

Azure ARM模式下VNet配置中需要注意的几点事项

2. APP、DB网段

这两个网段除允许VNet内部的互相访问外,对外的访问都要屏蔽

Azure ARM模式下VNet配置中需要注意的几点事项

大家注意最后一条,虽然是Deny any,但前面允许的Inbound Rule的流量是可以出去的。所以NSG的工作类似于防火墙的基于状态的过滤。

3. Mgmt网段

这个网段需要允许外部访问管理端口,比如TCP 22,其他的不允许进入。出方向可以访问any。

Azure ARM模式下VNet配置中需要注意的几点事项

4. 其他网段

由于开启了PIP,相当于VM暴露在公网上,所以,对安全性要求非常高。此时的NSG要精细设置,防止出现安全隐患。

Azure ARM模式下VNet配置中需要注意的几点事项

四 VNet中的VM访问PaaS的问题

目前Azure的PaaS服务大部分都还是基于公网地址的。只有部分PaaS服务是可以运行在VNet内的。比如:Redis、Web APP和HDInsight。其他的服务目前还都需要通过域名的方式访问。

当然还有其他一些应用,比如yum、apt-get、windows update等等各种更新服务,都需要访问外部网络。这时需要对VNet中的Subnet进行特殊的安全设置。目前有两种方式:

1.采用NSG的方式

方法和前文相同,这里就不再详细展开了。只是对Outbound进行精细的控制。明确指明哪些是可以访问的,哪些是不能访问的。

2. 采用UDR(User Define Route)的方式

这种方式是定义路由表的方式,前文中描述的,一些地址是要求能够访问的,其他地址不能访问,可以通过路由的方式实现。以APP层需要访问Azure的MySQL PaaS为例:

Azure ARM模式下VNet配置中需要注意的几点事项

APP层的VM需要访问Azure China East的地址,除此之外的公网地址都不能访问。

增加Route Table的配置,Azure China East的所有地址都加入Internet路由表,默认路由指向None。

具体Route Table的配置如下:

Azure ARM模式下VNet配置中需要注意的几点事项

将此Route Table关联到APP的Subnet就OK了。

图中还画了一个虚线的VIP负载均衡地址。这个地址的主要功能是给Azure的PaaS添加白名单使用。通过这个VIP固定公网IP地址,使得Azure PaaS的白名单容易部署。

两种方式都可以实现对外访问的精细控制。但在一种情况下,Route Table的模式比NSG的模式好:当VM开启了PIP地址,由于NSG不能对ICMP进行控制,这时的表现是:可以Ping通外部网络,但不能访问。而用Route Table进行控制就可以阻止Ping通外网。

总结:在Azure的VNet中,每个VM都有DIP、PIP、VIP三种地址。另外对各个Subnet的安全控制,需要通过NSG、Route Table等功能实现。不同的Subnet有不同的策略和实现方式。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/59aee0ea3e406438cd9247f2b8536569.html