【安全科普】阿里云“经典网络”真的不安全?

阅读量170622

|

发布时间 : 2017-11-04 09:51:33

https://p4.ssl.qhimg.com/t0195c41ecc2fe4adea.jpg


前言

最近,关于阿里云的用户网络,由于隔离问题引发安全讨论,大家顿时对啥“经典网络”、“VPC”等概念兴趣大增,大家的热议中多次提到AWS的VPC,亚马逊的AWS怎么搞的,我们不得而知,但是我们可以聊聊OpenStack的,毕竟它一直在模仿AWS嘛。


“隔离”啥

首先,我们先搞清楚,所谓“隔离”,到底是在“隔”什么;

我们知道,计算机网络,是分层实现的,不同协议工作在不同层,这些层的设计、制定都有国际标准,按着OSI的分层模型,共有七个层,大家在讨论的隔离,通常指的是第2层,也叫“数据链路层”;

数据链路层的网络包,也叫“帧”,我们常说的网卡的MAC地址,就是帧的地址,MAC,其实是“媒体访问控制”(media access control)的简称,这是数据链路层的一个子层;

那为什么要在这个二层上搞隔离呢?

因为二层的帧,其中一些帧的地址是广播地址,在同一个二层的设备都可以、也必须接收这些帧,交换机一般认为工作在二层,对这些广播包,也都要转发,所以二层通常被称为一个“广播域”,这就好比大家在一个教室里,都能互相看到,除非分隔到不同的教室;

 

OpenStack的玩法

openstack的neutron负责为虚拟机提供网络,而且openstack是假设多租户的,那多租户之间的隔离问题,它当然要提供支持,下面我们就看一下neutron是怎么实现的;

 

平坦网络

neutron中创建的网络是有“type”的,其中最基础的一种type就是“flat”,顾名思义,“平坦”就是指都在一个空间下,也就是没有做二层上的隔离,虚拟机都在同一个二层,同一个广播域;

从网上找了个示意图:

https://p2.ssl.qhimg.com/t01663cf21654cc128b.png

这种”平坦“的大二层网络,虽然实现、管理相对简单,但也会有诸多问题,除了安全方面,还有广播风暴等问题;

单个大二层网络,就好比整个学校的人都在一个大礼堂,大家都能看到,而且万一谁得了传染病,大家都被传染,要想隔离,可以把人分散到各个教室;

 

VLAN隔离网络

neutron中创建”vlan“这种类型的网络,就是主要使用的二层隔离方案,VLAN(虚拟局域网)本身就是交换机广泛使用的二层隔离技术;

示意图大概这样:

https://p1.ssl.qhimg.com/t0128181e57de9328d9.png

这就好比把整个学校的人,从大礼堂,分隔到了不同的教室,同一个教室的人互相可见,不同教室的人不可见;

但这种方案也有一定的局限性,首先管理相对麻烦,需要配合设置物理交换机,另外VLAN的可用数量有限制,VLAN的ID号仅有四千多个,我们假设每个租户分配1个VLAN,那最多也就能支持四千多个租户;


OverLay网络

overlay(覆盖)网络,所谓”覆盖“,大体上指”在一层上面覆盖另一层,也可以说是用一层载着另一层移动“,VXLAN是最常见的协议,它是把虚拟机的二层的帧,在宿主机上用UDP包裹起来,然后以宿主机的IP,必要的话,经过3层的路由,到达目的宿主机,然后再解封,把内包裹的二层帧,输送给目的虚拟机;

有点抽象?我们先看看VXLAN的包结构,就知道”包裹“是啥意思了:

https://p5.ssl.qhimg.com/t015491340ff17a4ceb.png

那个”Inner Frame“就是被包裹的虚拟机的二层的包;

最终封装完的包,外层的源IP、目的IP地址,都是宿主机的,所以只要宿主机之间互通(3层可达),被封装的内层帧就可以被运输: 

https://p1.ssl.qhimg.com/t01cba4cb0bcb7faf46.png

那这种方案有什么优点呢?

主要的:

vxlan的范围足够大,一千六百多万,租户随便用

因为是完全隔离的,租户可以随意定义自己的网络,哪怕和其他租户的IP段重叠都没有关系,比如上图中,租户A的网络,与租户B的网络

如果通过一定技术实现支持3层路由器,租户可以将自己的网络,随意组织自己的网络拓扑,比如上图中,租户A的两个网络,连接到一个路由器(可以是虚拟的)上

关于上面提的第三点,在neutron中大概是这样的:

https://p4.ssl.qhimg.com/t01cd319c8af8d3e46a.png

 

VPC

最后,那到底啥是VPC呢?很明确的告诉你,上面这个图就是VPC!

VPC(virtual private cloud),不是个技术专有名词,而是亚马逊AWS创造的一个产品层面的名词;租户网络彻底隔离、IP段都能重叠、路由器、网络拓扑都能由自己定义,这还不是”虚拟私有云“吗!

总结

至此只是主要给大家科普了一下 "经典网络" vs “VPC”的本质区别,看到这里应该大家对这两种网络的优劣都心里有数了,“经典网络”肯定是不安全的,但是该网络模式有自己的历史使命,肯定不能像VPC一样二三层都隔离,并且现在如果用户使用默认的安全组,其实在三层上隔离,也一定程度上能提高很大的安全性。所以客观的讲,“经典网络”从全方位考虑还是不错的。

本文也是主要基于openstack的网络模式展开,因为云计算网络模式都一样,触类旁通。其实在当前HULK虚拟化网络使用场景中,针对公司独特的网络环境,我们基于neutron做了很多的二次开发与定制,在接下来的文章中会有详细介绍,请持续关注。

t01c2e85c7fa3d32fc1.png

HULK一线技术杂谈

本文由hulk一线技术杂谈原创发布

转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/87158

安全客 - 有思想的安全新媒体

分享到:微信
+10赞
收藏
hulk一线技术杂谈
分享到:微信

发表评论

hulk一线技术杂谈

『HULK一线技术杂谈』是由360云平台团队打造的技术分享公众号,内容涉及云计算、数据库、大数据、监控、泛前端、自动化测试等众多技术领域,通过夯实的技术积累和丰富的一线实战经验,为你带来最有料的技术分享~

  • 文章
  • 2
  • 粉丝
  • 0

热门推荐

文章目录
内容需知
  • 投稿须知
  • 转载须知
  • 官网QQ群8:819797106
  • 官网QQ群3:830462644(已满)
  • 官网QQ群2:814450983(已满)
  • 官网QQ群1:702511263(已满)
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 360网络攻防实验室 安全客 All Rights Reserved 京ICP备08010314号-66