暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

云不是保险箱

顾炯的云世界 2016-08-01
175


支付宝又出问题了!再次引发云计算的安全可靠问题。出问题不可怕,可怕的是出了几次一样的问题。

云计算本来就不是“保险箱”,其实比传统模式更加不“安全”。下文共享的是中国电信浙江公司资源池的方案。安全问题无止境,只有遇到问题、分析问题、再解决问题。


以前,我们的系统都是烟囱式的,一个系统就是一个完整麻雀,虽然很小,但是五脏俱全:有独立的网络、安全、存储设备、服务器等,相互之间基本没有什么关联,很少出现集体故障。但是大部分设备的利用率很低,建设周期也很长。于是按照IT资源“集中建设,资源共享,按需分配的原则”,建设了共享资源的统一资源池。资源池可以根据用户的需求,快速提供各种规格的计算、网络、存储等基础资源,可以弹性伸缩能力;可以“不停机”维护。资源池的特点极大满足了业务快速部署、推广的需要。

图1

资源池本质是通过“共享”来实现提高资源利用率。为了达到这个目的,在原有传统的物理设备上引入了软件层,通过软件将物理设备进行重新分配和复用。资源池内提供出来的虚拟的计算、存储和网络资源,在用户使用起来的时候和传统的物理设备没有本质差别。和大部分人的认识恰恰相反,云计算由于引入了虚拟层和共享,其实更容易引发故障,带来更大的安全风险,云计算资源池不是保险箱!怎样提供一个安全可靠的云计算资源池是云计算“化云为雨”真正能落地的基础。

      资源池的安全、可靠不仅仅是传统意义上网络的安全,还包含更多的内容,是一个广义的安全概念,包括了计算、网络、存储和数据的安全,如图2:

图2

 计算不可用是资源池中最常见的故障。物理服务器的硬件故障或驱动、应用软件的BUG,都会导致虚拟机故障甚至物理机的故障,虽然大部分情况都可以利用虚拟机的“冷迁移”(即虚拟机的HA)快速恢复,但是也有些故障迁移手段也爱莫能助,比如虚拟机“脑死亡”,但网络仍有心跳,根本不会触发虚机的HA。虚拟机的所谓“迁移”功能仅仅是多了一种处理手段。

除了计算资源故障外,网络故障和存储故障都也会导致计算不可用。

 资源池内的网络往往是采用虚拟化堆叠技术,多台网络设备虚拟化成为一台,多条链路捆绑聚合成为一条链路,增加了网络的安全性和提高了带宽。所以传统网络设备出现问题导致资源池出现故障的案例不多,但也有网络设备本身软件存在BUG被触发导致的网络故障;而随着SDN(软件定义网络)的逐步普及和商用,SDN本身软件缺陷和网络应用多样性的矛盾,导致网络故障增多。          资源池内除了传统的南北向流量,还有东西向流量,这些流量是传统流量的几十倍、几百倍。虚拟网络往往会触发物理网络的安全问题,如虚拟机从内部攻击防火墙、负载均衡器的事情也发生过,有些网络问题还可能是被应用本身缺陷导致的,比如不停的消耗物理网络设备连接数等,虚拟网络引起故障很难快速定位。

另外,资源池出口网络会受到上级网络的影响,也可能出现网络拥堵和网络中断的故障。

一般情况下,虚拟机的安装、维护都是通过统一的跳板机进行的,会存在很严重的后门漏洞,病毒、木马、攻击都可以通过后门进入。

  存储设备本身是一个单点设备,也是整个资源池唯一的单点物理设备。存储和存储网络的故障概率虽然很小,但是一旦发生故障,破坏性是巨大的。虚拟机的系统盘、数据盘都依赖共享存储的提供,一旦存储系统故障,所有挂载在故障存储下的虚拟机都会故障,影响面极大。

  数据丢失或数据误删是系统的重大故障。传统的业务系统中,都有一个“数据备份”的工作,将数据定时备份到不同存储介质中。这项工作在虚拟环境上也一直在继续,但是备份的数据和运行的数据在都在同一个存储上,甚至在同一个LUN上,数据备份的安全性就打了折扣。

 

      我们可以借助传统的思路解决虚拟化后带来的部分安全问题,比如通过引入虚拟堡垒机弥补后门漏洞;通过虚拟防火墙、虚拟的IPS/IDS和无代理的防病毒软件等手段提升虚拟网络安全等级;通过优化调整南北防火墙策略、部署数据清洗设备,将资源池公网地址纳入到中国电信云堤上进行分布式的防范,公网流入数据进行清洗,出口部署NETFLOW设备,能快速跟踪攻击源、目标IP地址后配置黑洞路由等。

      但是有些安全问题或故障在虚拟化下破坏力会被放大,而这些问题是无法真正被防范和客服,比如说设备本身存在的问题,需要通过降低故障影响面和故障发生概率等方法进行防范。

      传统的建设模式中,一个服务器中往往就部署1种或几种应用,服务器存在的缺陷被触发的概率很小。但在资源池内一台服务机承载了十几个虚拟机,每台虚拟机又承载了不同应用,缺陷被触发的概率大大增加。同时为了提高机架利用率,资源池内往往部署集成化程度很高的刀片服务器,但刀片背板交换机的故障、机框故障,总是导致整框一起退出服务,影响的是整框十几台甚至几十台的物理服务器,受到波及的虚拟机会几百台上千台。服务器的故障总是不可避免的,缩小服务器故障导致的影响面是解决此类故障的方法之一,即一台服务器上在允许下尽量少运行虚拟机,服务器出现故障也就影响一小部分。经过实践,采用2路8核的定制化计算型独立服务器可以平衡服务器的各种优缺点,既可以向刀片服务器一样节约机架空间,也可以进一步节约投资和节能降耗。采用小颗粒度的计算型服务器贴合云计算资源池的需要。

  另外,资源池内的存储往往是一个共享的中高端FC存储,并还有一张单独、昂贵的FC网络。由于FC存储价格很高,存储本身的可靠性也较高,存储设备都是单点设置。但是一旦存储网络或存储本身故障,给资源池带来的是灾难性的故障,影响的是几百甚至上千台虚拟机。我们通过X86服务器+廉价的SATA盘组成的分布式块存储(SRVSAN),采用分布式机头,没有单点故障;分布式IO多副本读写,保证数据安全性;强一致性保证数据准确性;存储自动管理,数据自动修复都确保了存储和数据的安全。软件定义的SRVSAN可以大幅度提高存储的性能、进行线性扩容和提供高可靠性,还可以用传统的以太网替代FC网络,降低了成本和维护门槛,减少故障点。

 
图3

        不管采用什么措施,服务器、存储、网络总还是会发生安全问题或者故障。建设一个异地双活的云计算资源池可以进一步提高资源池内应用的安全、可靠和连续性。如图3,利用核心交换机远距离虚拟化堆叠,形成跨域的大二层网络,形成统一资源池。但是不同物理节点的资源池采取完全独立电源系统、有相对独立的网络架构、网络出口、服务器和存储,这样,同时发生故障的概率几乎不可能。对于重要的业务系统采取双活部署,通过将应用部署在2个独立的物理环境中,可以大大降低资源池故障带来的对业务的影响。同时,双活部署可以取代大部分容灾部署的功能,相比传统的容灾还有出现故障不中断业务、成本低等特点。但是静态数据的容灾功能也不能完全取代,比如当数据被误删,双活就不可能恢复。这样看来,数据的备份,也是确保安全的重要环节。我们和中国电信北京研究院研发的蓝存,经过几年的实践,能实现数据的异地自动备份和灾难时系统的快速恢复。                              

        通过基于开源对象存储为基础的“蓝存”,可以提供资源池内每台或每个用户一个备份路径,用户可以按照原有的备份习惯定义自动或手动的备份任务,实现数据的容灾备份。系统还根据虚拟机特有的特性,利用VMWARE提供的VDP工具,对虚拟文件(VMDK)进行自动全量或增量备份。目前可以支持8000台虚拟机的备份,IO性能超过300MB/s。蓝存还可以通过NFS接口封装,提供NAS服务。

       虚拟机是由CPU+内存+虚机文件组成的。把资源池内的虚机文件都备份在另外节点的蓝存中。并根据原有系统的虚拟机配置,在异节点利用蓝存的NAS接口和备份的虚拟机文件配置同样的虚拟机。但这些虚拟机日常是不开机的,并不消耗资源,在灾难发生的时候能快速开启虚拟机,提供服务。通过蓝存提供的容灾方案是低成本的,避免了以前容灾方案中所有设备都必须冗余的高成本。

       双活和容灾全方面保障了资源池安全稳定的运行,大大减小了在单节点下虚拟化带来的不可靠性,保证了重要业务连续性运行。


 ============end=============


文章转载自顾炯的云世界,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论