打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
云计算:给小白的租户隔离科普文-转

我现在搞一个小创业公司,没多少时间可以浪费。然而没有办法,很多事情我不出来说明,就会有错误在流传——而且是耗子等在程序员圈子里面有较大影响力的人。感觉也很有意思,许多技术人员跟街头巷尾的大爷大妈没啥区别,交头接耳议论纷纷。类似的事情,比如美国大选、收容难民等,微博上议论也颇多,让我思考了好一阵子,就在想这都是为啥啊(当然,我已经想明白了)?

且说正题。

先说结论:阿里云不同租户默认是隔离的,而且从2009年到现在一直如此。?

我2009年开始负责弹性计算安全,属于开拓领土,业务逐渐起来后,镇守一方。当时,在网络层面,我定下了数条基本法则。这些基本法则凌驾于所有的网络访问规则之上,用户不可见、不可修改、不可覆盖,是类似宪法存在的根本大法。其中第一条就是不同租户处于不同的安全组,默认互相隔离。第二条是每一个VM发出去的报文宣称的源MAC地址和源IP地址必须与控制平台分发给它的一致。还有几条我就不一一透露了,不然要泄露机密——这也是我的痛苦所在,写这篇文章是在刀尖上跳舞,要把事情说清楚但是又不能透露机密,我个人浅见,耗子写得东西偏多了。

我的安全哲学是在安全这个专业领域用户是sb(这里的sb用户也包括资深的开发人员在内,区别在于小白知道自己不懂,资深的开发人员则以为自己懂),安全得由我这种专业人士保护。所以可以看见,我设置的策略是不人性化的,是死规矩是一刀切。在安全领域,用户的资产也得由我说了算。

这是我的道。

不知道大家看过魔兽电影没有?麦迪文设置一个魔法屏障,保护国王莱恩和洛萨撤退,但是洛萨的儿子没有及时进入屏障而被杀掉——我做的规则就是这样的。就算你们是一个公司同一个部门不同员工,只要你们买的云主机是用各自自己的账户买的,那么你们内网就不可互访,就算是一家人也不行,就算是亲儿子和亲爹的也不行。?

2014年,我从镇守云安全任上调离,去搞安全实验室,到西域开疆辟土,做了IOT安全研究、黑客溯源以及风控安全产品——淘宝的无验证码就是我们当时做的。

2015年,我当初给云计算定下的几条基本法则做了一些改动。按说,这个改动应该是考虑了用户的因素,更柔和,更得耗子等技术方面人员喜欢的——那就是不同安全组默认拒绝,但是允许用户增加白名单,允许一些安全的访问,麦迪文的那个屏障,可以临时允许洛萨的儿子进来。这是linux的理念,信任用户,让用户自己决定自己的东西。比如说root去 rm -rf /,系统照样执行。

现在问题是,有一些用户为了方便,设置了允许一切IP访问自己的安全组,也就是有些吃瓜群众纷纷表示自己懂安全了发现漏洞了的原因。

我做的法则,铁血专制,剥夺用户的权利,即使用户想自杀也自杀不了,绝对安全,但是用户被我关在了笼子里——这部分,我也经历过不少投诉。2015年之后的法则,默认安全,但是用户有自主权,如果要自杀真的能死掉。

随着时间的推移,云计算的成熟,我觉得现在的策略是合适的。默认安全,但是高级用户可以自己掌控自己,不是很美妙么?所有的好的系统,都应该是这样子的吧。如果想自己有完全的掌控权,但是又绝对安全,抱歉,做不到。

我相信到这里,事情应该明确了吧?那么接下来,我要开始批驳耗子了——你说你一个程序员,好好写程序,发发编码方面的鸡汤文多好,为什么为什么为什么要一次一次的凑到我面前来呢?嗯?

耗子第一篇文章,这一段话“一台个人机器还好设置,如果你是企业用户,你的机器多了,那么,安全组这种设置可能就会是一个恶梦。比如你有100台机器,新增的这一台你就需要让那100台都知道。或是,你这100台中有一台的IP变了,你需要让另外99台的安全组都知道。…………省略许多文字…………所以,在这样的经典网络下,对于你的机器的安全组的管理,完全是没法管的,因为是静态的,而还是非常复杂的,所以配置错误这种事么,基本上是高概率的。”这一段简直就是放屁。配置安全组,不需要你?去了解那么多细节,你只需要在web界面上把一个vm拉倒一个组里面去就好了,组增加、减少vm,所有相关组的策略会自动适配。即使你的vm发生迁移了,组策略也会自动跟随,部署到新的宿主机上面去。这是一个纯自动化的过程。

“一般来说,VPC是通过hack底层的虚拟化系统完成的,也就是说,在Hypervisor层虚拟交换机中实现了一个类似路由器的东西——通过一个用户自定义的虚拟IP和实际IP的关系做packet forwarding或是overlay的机制等。Anyway,实现细节不重要。”这一段,你tm一个知名技术博主,写技术科普文章,你跟我说“anyway实现细节不重要”?就算不提细节,你跟我说“VPC是通过hack底层的虚拟化系统完成的”,逗我?不懂就去学啊。

我们首先看看为什么需要VPC。

首先云计算VM是讲究漂移的,有因为故障发生的漂移,也有因为用户主动发起的跨区域的漂移。漂移过程中要求保证业务尽量不中断,则需要保证vm的ip地址、mac地址不变,这就意味着需要一个巨大的二层网络,甚至是跨区域的。而二层网络越大,交换设备的cam表压力也越大,甚至爆掉,arp之类的广播风暴也越严重,所以要把vm层面的一些东西对物理交换机屏蔽掉,分层处理。

其次,VPC给用户一种很好的体验,延续传统网络时代自己组网自己规划的那种感觉,当然也可以更灵活的设计自己想要的东西,甚至形成service chain。

现在的VPC一般都是基于VXLAN实现的,VLAN的VLAN ID字段只有12 bit,最多支持4094个VLAN,这对于海量租户而言肯定是不够的,VXLAN则扩展成24bit,能够支持1600万个VPC区域,基本够用了。VXLAN是将原始报文封装成UDP包,可以很方便的跨域三层网络传输二层的内容,能够让用户组建跨地区的VPC。?并且,VXLAN将内部VM的MAC地址等信息屏蔽掉了,由VTEP处理,让交换机专注物理机方面的事情,减轻压力。

VXLAN数据流程图(不是我画的,谷歌搜索的)

对我而言,最喜欢的是VTEP可以形成service chain。其实现在VXLAN和SDN已经不太能去分得开了,至少我不太能分得开,也许可以基于openflow协议来控制VTEP的行为吧。

在阿里期间,我一直对现有割裂的安全厂商和产品耿耿于怀,大约是2011年我在owasp讲过我的安全产品虚拟化思路?,将不同厂商的硬件盒子抽象成统一的VM,不同的功能就是不同的image,然后基于SDN或者VXLAN的能力,软件的方式定义网络结构,将平面的vm变成具有立体结构。这样,用户就可以绘制自己的网络拓扑图,在对应的地方,选择对应的产品,可能是安全,也可能是负载均衡,然后再选择供应商,点生成,整个网络就生成好了。这也许就是云计算安全最后的终局,但是不知道要多少年才能发展得到。

我本来想,国内就由我自己来完成这个壮举,可惜未能实现,我已离职。人生如梦啊。

不提这些,来说耗子的第二篇文章。

“2013年,我在阿里商家业务部做聚石塔,聚石塔的底层是阿里云。当时,聚石塔的安全问题很严重,有很多商家和买家的业务数据外泄,所以,成立了一个专门负责安全的小组。阿里安全部门也专门派人来强力支持。

当时有一个很大的安全问题是——阿里云的内网多个租户居然是通的。”

不知道耗子知道不知道,因为一些我不方便说的原因,聚石塔是由淘宝维护负责的电商云,其实是属于同一个租户的!同一个租户,当然是互通的啊。我不知道耗子是知道那个原因不说,因为知道我不可能说,还是真不知道——按说你当时也P9,应该知道吧。不说这个,但是至少,聚石塔所有的vm是属于同一个租户的,你也不知道么?那你负责聚石塔是怎么负责的?也是“anyway,细节不重要”??

更多的东西,我就不说了,所有这些,对我现在而言,都没有意义。如果不离职,我已经P10了,也许不久就要做到P11也就是所谓VP了。

但是那又如何?我现在是默安科技的联合创始人兼CTO,我他妈已经P14了啊。

因为这么些鸟事情,浪费了朕一上午的时间。这几年我基本已经不跟人交流云计算安全方面的东西了,因为我不知道找谁跟我交流。懂云的不懂安全,懂安全的不懂云,都懂的嘛,除了我以及了了数人之外,也就是一些搞跨界的了。

大道难借他人之手,唯有自成,且吃个黄焖鸡压压惊。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
@左耳朵耗子:关于阿里云经典网络的问题
(Vxlan与VPC)安超SDN技术探讨——如何灵活巧用微分段的”三板斧“(1)
YY为什么放弃OpenStack?YY游戏使用云平台的经验及云计算随想
什么是网络虚拟化、VLAN、VXLAN?
揭秘2017双11背后的网络-双11的网络产品和技术概览
技术特刊|为什么说建设大规模云网络需要SDN?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服