公司动态

关于阿里云经典网络的问题

2017-10-12 16:24  浏览:

  昨天写了一篇《科普一下公有云的网络》(见后半部分),今天收到了阿里云官方的回复,并还动用了一些微博上的IT圈的号来转这个“澄清”。

 

  “【澄清】1.文章存在事实错误,阿里云经典网络内网默认不互通;2.经典网络下,用户只有在设置安全规则开放过多协议和过大CIDR网段如0.0.0.0/0的情况下才能被访问;3.新用户可优先选择阿里云VPC;4.经典网络存量服务器向VPC迁移功能正在内测;5.正确设置指南:O网页链接

 

  (注:其实,阿里云和一些用户并没有认真阅读我的文章,如果认真阅读了就会发现阿里云官方是在映证我之前的文章的大部分的观点的)

 

  我本来想推动更成熟更为安全的VPC解决方案的,但发现阿里云官方的这个言论相当的误导用户,似乎还是想让用户信任阿里云的经典网络。既然这样,我觉得我非常有必要写下这一篇文章来更为详细地说明一下这个事。

 

  2013年的阿里云

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

 

  当时有一个很大的安全问题是——阿里云的内网多个租户居然是通的。我团队的一个花名叫焦义的同学做了一个这样的测试——用自己的钱在阿里云上开了一台机器,然后随便访问聚石塔里的用户的机器,当时做这个测试的时候,阿里安全部门的Suddy、商家业务部的安全负责人沧竹,都在旁边。

 

  这个事情,由我和玄难提给了当时负责聚石塔阿里云的产品经理许玉勤,经过了长达几个月的沟通,最终阿里云没有解决这个事,所以,只能由聚石塔来解决。于是我们就给聚石塔的租户设置安全组,因为底层支持的太不好,所以设置的很死,而用户又需要在自己的集群中相互通信,所以,当时的解决方案是,需要用户申请,我们才开了3000-3100的端口范围。(当时这个项目我在聚石塔做了好几个月,扯皮无数,所以我记忆非常深)

 

  注:当时的阿里云是不让用户编辑安全组的,内网是全互通的。如果我没有记错,到了我快要离开阿里的时候(2015年)才让用户可以编辑安全组的。

 

  (上面的事主要是回复——阿里云的内网是不是一直都是默认不通的这个问题)

 

  经典网络的安全问题

 

  关于经典网络的问题太多了,一方面是内网IP不够用,另一方面是配置复杂,最重要的是——经典网络是有非常严重的安全问题!

 

  就算你用安全组来隔离,经典网络都存在非常严重的安全问题!

 

  就算你用安全组来隔离,经典网络都存在非常严重的安全问题!

 

  就算你用安全组来隔离,经典网络都存在非常严重的安全问题!

 

  原因如下:

  1)这种网络结构从设计上不可避免的把多个租户放在同一个内网网段!所以,物理层面上来说就是通的!我相信这点阿里云不会否认吧。

 

  2)动用安全组来隔离用户是一种相当复杂的事,复杂的东西就容易出错!因为,网络隔离的手段只有配置安全组。所谓安全组就是iptables的配置!而且是在每台宿组机上配置,大家可以想一下,一台机器可以配置多少这样的规则?这是有限制的!而且是在管理上的很复杂的,不但对用户来说很复杂,我相信对阿里云的开发和运维来说也非常复杂!

 

  所以,这种通过安全来隔离多租户是一件很容易出错的事,当租户的数量越来越多的时候,或是当一个租户的机器数量越来越多的时候,配置出错这事的概率就越来越大!

 

  所以,正确解决的这事的问题是——VPC、VPC、VPC!这对阿里云和用户都好!这是个双赢的解决方案!

 

  我不是做安全的,我是做软件的,我相信VPC比安全组更安全这个事,安全的同学也不反对吧。

 

  “注:我都离开阿里了,还在为阿里提建议找Bug,作为阿里云,你们应该感谢我才对!”

 

  经典网络还有什么风险

 

  那么,阿里云的内网通还是不通呢?如果你有阿里云的机器,而且你在经典网络下,你自己可以测试。用 `nmap` 命令扫呗!

 

  你看,我个人在阿里云上的 VM 在 10.25.0.0/16 这个网段。我随便扫一下,一堆机器都扫出来了:

 

  $ nmap -v -sT 10.25.6.0/24 --open

 

  你还可以扫个更大的网段(专扫redis):

 

  $ nmap -v -sT 10.25.0.0/16 -p 6379 --open

 

  关于我扫到的redis一堆,然后用 redis-cli 可以登上,不过大多数都需要password,那些不需要的我就不贴出来了。要穷举一下密码的事我也就不干了。(另外,还发现有租在阿里云上建SVN,嗯,没有验证,代码没拉了,因为代码库太大了)

 

  好!那么问题来了,我们姑且认为阿里云在经典网络下的各个租户都是隔离开的,那么为什么会有那么多的用户能被扫出来?可以 ping 通,可以 telnet,甚至可以 login !

 

  最关键的问题是——这为黑客搭了一个高速公路啊(说高铁都不为过)。

 

  理由如下:

  1) 我本来在公网上扫端口,我分不清哪些IP地址是服务器的,现在好了,上阿里云内网里扫一下,100%都是服务器,效率提高很多啊。

 

  2)另外,经典网络的IP还都是连续的,这太TMD的爽了!

 

  3)我再打个 route 命令看一下路由表,原来还有好多别的内网网段哦。

 

  4)最爽的是,在内网发起攻击,带宽好快啊,而且可能还没安全监控哦……

 

  5)要是运气好,说不定我还能搞定阿里云的控制系统……

 

  其它还想说的

 

  0)给围观群众的话:

 

  我上面的东西全部都是事实,诚实是做人最基本的素质!但是无奈别人未必信我,所以,我留了一些人名在上面,对我也是一个佐证。

 

  另外,我可能会说错,我可能会说出不中听的话,但我保证我一定说我心里的话,因为我觉得我心口如一是对方最大的尊重,那怕我心里的话不中听。

  最后,对于这个事,我强烈建议不要因为官方说安全组默认隔离是没问题的你就松懈了,那些黑客要的就是你的松懈!

 

  1)给安全领域同学的话:

 

  不好意思,我又跨界了。如果我说的有什么不对的,欢迎来打我的脸,死死的打,因为,最终受益的会是用户!所以,怎么做对社会都是有益的!

  另外,我虽然没有做过安全,但是我个人以为一个安全人员的“安全观”应该是——在面对任何的安全问题是都应该是非常严谨、小心求证、做最坏打算,且不会说出100%没问题的话的。因为,我做软件也是这样的。

 

  2)给阿里云的话:

 

  我已离开阿里,现在还是阿里的用户,也是阿里云的用户,我希望阿里云对用户能秉承“用户第一”和“诚信”的价值观,要更多的听取用户给你们提的建议或意见,一起来推动用户使用VPC,这是个双赢的结果啊,不是吗?

 

  我打五笔,行文也快,所以,文中一定会有让你费解的错别字,见谅!

 

  (全文完)

 

  以下为耗子哥的《科普一下公有云的网络》文章~

 

  @一乐 同学发了一篇微博(http://weibo.com/1819367693/EwZFypkK6)说了一下因为一个安全问题的疏忽中招的事。

 

关于阿里云经典网络的问题

 

  大意是redis有一个可以提权访问服务器安全漏洞,但是因为一乐家的redis服务器没有暴露给公网,所以一开始也就没有特别在意,不料最后还是被攻破了,原因虽然是这个服务器没有暴露在公网,但是因为阿里云的内网各个租户是可以互相访问的,所以,也相当于暴露给了别人……

 

  在讨论这个事的过程中,看到似乎大家对公有云的网络并不是很明白,所以,写下这篇文,希望大家都注意起来,以免出现公有云上的安全问题。

【免责声明】:部分内容、图片来源于互联网,如有侵权请联系删除,QQ:228866015

下一篇:二月春风似剪刀 上一篇:天下数据美国服务器限时买一送一
24H服务热线:4006388808 立即拨打