服务热线:020-28218715
新闻详情
新闻中心News
桌面云中的安全

你可以想象一下,未来的某一天(或许就是 2011 年),随着桌面云解决方案的成熟,许多 IT 企业纷纷构建自己内部的桌面云系统或者公共的桌面云系统。大家使用桌面系统的方式也发生了很大的变化:只要一台显示器和一台可以连接网络的设备,插上网线,无需安装软件,无需配置 ,你就可以得到一个桌面云服务提供商给你的桌面,所有的应用都可以从网络上选择使用。另外,你无需支付购买传统 PC 的费用,你只要按照你所用的时间和桌面的配置来按月按使用付费,就像每个月付电话费一样。(注意:IBM 其实已经提供了这种服务,只是现在还只是面向企业,没有面向个人,IBM 称之为 Smart Business Desktop on the IBM Cloud, SBDIC,也即在 IBM 云上的智能桌面 .)这样的场景会让你感到很高兴,因为初期购买的花费、安装软件、复杂的配置、经常需要打补丁、安装杀毒软件等等烦恼都没有了,但是你心中或许还有一丝不安:桌面云后端是怎么保证安全的?我的桌面安全吗?我的数据会被人窃取吗?我可以随时使用我的桌面吗?我的数据都保存在一个集中的地方会不会有很大的风险?其实这就和我们通常把存款或者一些贵重的东西存在银行而不是放在家里的道理一样,因为相对于个人的住所而言,银行是一个更专业,更安全,更保险的场所。所以在数据放在云端相对于分散在个人电脑上而言更安全,你所担心的问题可以在下面找到详细的答案。

桌面云的架构

下面这张图展示了桌面云的一个基本架构 ( 以 IBM 云计算智能商务桌面为例 ):

桌面云的基本架构

瘦客户端

瘦客户端是使用桌面云的设备,一般是一个内嵌了独立的嵌入式操作系统,可以通过各种协议连接到运行在服务器上的桌面的设备。

瘦客户端和服务器的网络

桌面云提供了各种接入方式供用户连接。用户可以通过有线或者无线网络连接,这些网络既可以是局域网,也可以是广域网。

身份验证

一个企业级应用解决方案,必须有用户的认证和授权。在桌面云中一般通过 Active Directory 或者 LDAP 等产品来进行用户的认证和授权,这些产品可以很方便对用户进行添加、删除、配置密码、设定角色等操作,还可以赋予不同的角色不同的权限,修改用户权限等。

操作系统或应用程序

桌面云架构通过共享服务的方式来提供标准桌面和应用,这样可以在特定的服务器上提供更多的服务。

应用服务器

应用服务器把各种应用分发到虚拟桌面,这样客户只需要连到一个桌面就可以使用所有的应用,就好像这些应用安装在桌面上一样。

另外,桌面云架构中还可能有存放文件和数据的存储服务器。

桌面云安全综述

首先,桌面云系统本质上也是一个分布式的网络系统,和其他分布式系统一样,需要考虑信息安全问题,根据维基百科的定义,一般来说信息安全包括下面下面三个方面:

机密性(Confidentiality)是指个人或团体的信息不为其他不应获得者获得。

完整性(Integrity)指在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现。

可用性(Availability)是指信息在需要时能够及时获得以满足业务需求。

桌面云系统也是从这三个方面来考虑安全问题的,它通过数据的加密和数据访问的认证和授权来保证数据的机密性,通过各种安全传输协议来保证数据传输的机密性,通过为桌面云各组件配置冗余组件来保证负载均衡和高可用性。但是由于桌面云系统复杂性,我们需要从端到端来保证系统整体的安全性。

桌面云提供的天生安全性

桌面云之所以吸引企业,除了因为它总体拥有成本较低以外,最主要的一个原因是它天生的安全性。它提供的安全性包括了以下几个方面:

桌面云系统终端用户数据的安全性:由于所有计算和和数据的存储都是在云端,客户端不保存用户的数据,在瘦客户端和(后台)云端通信时,传输的仅仅是位图的变化,并没有实际用户的数据传递到客户端,所以不需要担心服务器端传递过来的数据被窃取。

桌面云系统终端用户访问控制的安全性:桌面云可以提供细粒度的访问控制,我们可以通过安全策略开放或者关闭 USB 端口,打印机端口等。这些 USB 端口还可以分等级控制,保证连接在上面的扫描仪、智能卡等可以正常使用,但是大容量存储盘被禁止使用,这样即确保敏感数据不会通过 U 盘泄露出去,又保证了业务的正常进行。同时,由于瘦客户端没有硬盘,也不需要担心别有用心的用户把敏感数据复制到本地硬盘再通过其他路径窃取出去。

桌面云中的安全问题以及解决方法

下面我们就从整个系统的角度来端到端看桌面云系统的安全性,其中既有硬件,也有软件。忽略整个系统任何一个小的方面,都可能导致整个系统的不安全。

瘦客户端

现在任何一个瘦客户端都可以访问自己在云端的桌面,这对于一般情况下是没有问题的,而且还获得了移动性的好处。但是在某些场景下,这却是一个安全弱点,例如在一些对安全要求极高的单位。以前在使用传统桌面的时候,由于物理上的隔离,其他人无法进入这个安全区域来窃取资料;而在使用桌面云时,窃密者却可以非法获取别人的用户名和密码,或者使用自己合法的用户名密码,在安全区域外通过任何一台瘦客户端来访问。为了防范这种情况的出现,我们除了登录使用用户名和密码外,要通过添加另外一种认证方式来确保没有非法访问。这种另外的认证方式可以是限制瘦客户端的 MAC 地址,限定某一范围内的 MAC 地址可以访问,配置智能卡认证等等。

瘦客户端和服务器的网络

客户端和服务器之间的通信由于是通过网络上传播,所以有可能被人窃听、破解,来破坏数据的完整性。为了防范这种情况的出现,一种方法是采用私有云方案,保护网络中的客户都是可信任客户。另一种方式对通信的数据进行加密。在桌面云方案中一般对于公司防火墙外的非信任用户提供安全连接点,外部用户通过这个安全连接点连接到防火墙内的服务器,这种安全连接点的原理类似于 SSL VPN。对于公司防火墙内部的用户和服务器之间的连接,一般是通过 SSL 协议进行加密传输。通过这两种方式,桌面云方案有效的保证了数据传输的安全性。

服务器的安全

和通常的数据中心的服务器一样,桌面云方案中的服务器也必须遵循企业一般的安全策略,例如关闭所有的不需要的端口,安装必须的防火墙以及升级到最新的安全补丁,每天进行备份,部署监控软件等等。但是和一般服务器相比较特殊的一点是,由于有些桌面云解决方案软件模块之间通信的要求,我们必须以 root 用户登录进行操作,这是非常危险的一方面,目前除了加强安全教育和加强审计之外,没有其它办法对 root 用户操作造成的危险进行规避。希望不远的将来所有的云桌面解决方案杜绝使用 root 用户,对用户权限进行分层。

存储的安全

桌面云中的存储的安全要求和企业中的其他存储安全基本上是一样的。在桌面云系统中从性能出发,一般使用 Fiber Channel(FC)存储,但是 FC 协议本身不是一个安全的协议,服务器可以看到后台 Storage Area Network(SAN)上面所有的设备。最常用的存储安全方式是在 FC 的路由器做分区(Zoning)和逻辑单元数掩码(LUN Masking)。考虑到高可用性,桌面云中的存储需要考虑备份方案,这样在发生灾难的时候就可以及时回复用户的数据,保证服务的 SLA。

在传统桌面中,用户数据都是保存在本地的硬盘当中,非授权用户未经许可,难以获取用户数据。但是在云桌面方案中,用户数据都是保存在服务器存储中,云桌面管理员可以比较容易的获取这些数据,这就要求我们对用户数据加密,防止未经授权的获取用户数据,同时对管理员的密码和访问都需要做出严格的限制,防止用户数据的泄密。

桌面镜像的安全

桌面云中,如果桌面配置成非持久方式,而且用户又没有的存储文件的话,要恢复一个受到病毒侵袭的桌面是非常容易的。只需要重启桌面,桌面就自动恢复到以前未受感染时的状态 , 而用户数据保存在云端,没有受到病毒的影响。但是如果用户有私有文件的话,由于这些文件是可写的,所以病毒就可能常驻在这些文件里面。我们需要运行反病毒软件来清理病毒,所以防病毒软件必不可少,我们必须给桌面云中的桌面安装防火墙和防病毒软件,就像传统桌面一样。和传统桌面相比,这种安装是非常快的,因为我们一般只需要在几个基础镜像上进行安装就可以了。

软件架构组件的安全

在桌面云的一个安全架构中,通常许多组件都有冗余配置,关键组件甚至可以有多个冗余配置,这样就保证了系统的高可用性以及在大量负载下的负载均衡。在有大量用户访问的情况下,一般在系统的最前端就有一个负载均衡器,把用户的连接请求发送给不同的服务器去处理,根据系统的大小,可能会有一个或者多个负载均衡器在前端处理客户的请求。根据需要,我们还可以在最前端的负载均衡器上加上安全访问控制组件,保证连接的用户都是经过认证和安全的,防止分布式拒绝服务(DDOS)攻击。例如,在系统前端的防火墙后,可以设置一个安全网关,负责用户的鉴权、授权,并却加密所有在客户端和服务器之间的通信。

管理权限的安全

桌面云系统中所有的管理都集中到云端进行,不小心的误操作或者黑客获得管理权限之后的有意操作会造成很大的影响。影响的大小取决于操作的类型和总的用户的数量。所以在桌面云系统中采取下面这两种措施来消除这种影响。

定义不同的管理角色:例如分为维护用户,升级用户和管理用户。这里只是一个示例,可以根据实际需要来进行更细粒度的划分。

审计:对每个涉及到系统变更的操作都需要做好审计工作,这样在事故发生以后可以追溯系统中的变化,及时作出回退操作。审计也能有理由识别出恶意操作,及时发现系统的漏洞。

结束语

我们必须从整体来考虑桌面云中的安全问题,因为桌面云涉及到从前端、网络、服务器、存储、软件架构等各个方面,所以我们必须把它的安全作为一个整体方面来考虑,”千里之堤,溃于蚁穴”,任何一个方面欠考虑都会导致整个系统的不安全。