摘要: 在云计算时代,存在平台与用户锁定的情况,而如果大家都采用开源的软件,迁移将变得容易。以虚拟化应用为例,OpenStack支持Xen、KVM、VMware和QEMU等虚拟机,并通过统一的虚拟层来调用,实现底层对用户透明。
OpenStack的优势与劣势
Openstack具有三大特点:免费开源、强大的兼容性以及开放性。
Openstack 本身是一个开源、免费的软件,同商业软件相比它给了客户足够的自由度,可以在任何场合使用,Openstack开放源代码,让技术人员了解程序如何运作,由此可以自己进行调整。在云计算时代,存在平台与用户锁定的情况,而如果大家都采用开源的软件,迁移将变得容易。以虚拟化应用为例,OpenStack支持Xen、KVM、VMware和QEMU等虚拟机,并通过统一的虚拟层来调用,实现底层对用户透明。用户可通过其对现有虚拟化技术的支持实现OpenStack在不同场景的部署。而且,由于OpenStack使用一个框架标准和API,只要用户具备相应的技术能力,任何人都可以在OpenStack上自行建立和提供云端计算服务。
总而言之,OpenStack的推出解决了用户在开发、部署与交付云环境上的灵活性、弹性和低成本问题,大大改善了以往企业如果想实现云计算,就必须找Amazon和IBM等云计算厂商的窘境。
然而,OpenStack也存在如下一些劣势:
·项目中面临的风险由于发展时间较短,还缺乏很多必要的功能。比如OpenStack在系统监控方面的功能还不够完善,当用于公有云时,其计费系统还有待开发和完善。DNS管理、LVS负载管理、Swift的CDN服务以及EBS块设备存储方面功能也不成熟。事实上,用OpenStack作最终平台的解决方案是存在一定风险的,甚至会变成一个根棘手的问题,一个典型例子是对虚拟化管理程序的支持,OpenStack虽然支持几乎所有的虚拟化管理程序,但对它们的支持仅仅是开启与关闭而已。
·厂商之间的利益冲突Openstack成长势头强动,吸引了众多IT厂商的支持和参与,但正是众多厂商的参与,导致其混乱、缺乏协调的现状。而且厂商之间存在利益冲突,他们都想用自己基于OpenStack所开发的产品来替代开源产品以此获利。例如存储解决方案提供商和Swift项目都旨在构建存储平台,存储供应商在项目中并没有开放地提供技术支持,恰恰相反,他们只想确保API的兼容性,并以自己的收费产品替代开源解决方案。
·兼容性与开发成本OpenStack 是一个可以建立公有云和私有云的基础架构。但它并不是一个现成的产品,要想开展基础架构方面的工作,企业需要顾问和开发人员,很多时候还需要第三方的集成工具。
此外,新版本的发布过于频繁,平均半年就发布一个新版本,如此快的更新频率难免就存在新老版本兼容性的问题。
从上图(OpenStack架构图)中可以看到,OpenStack平台的主要安全问题及措施如下:
身份认证
用户配置是注册新用户到一个给定系统的过程,用户取消供应的过程是从系统中删除用户的过程。Openstack 对象存储Swit 通过称为TempAuth和SwAuth的认证授权系统提供用户数据管理任务的自动化。
TempAuth和SwAuth之间的差别在于用户数据的后端存储。TempAuth使用户数据以纯文本形式保存在配置文件中。SwAuth是使用Swift本身提供的可扩展的认证和授权系统。一个Swift 帐户是在Swift集群上创建的,用户信息以JSON编码的形式存储在文本文件中。SwAuth和tempAuth都允许按需进行用户配置和解除。用户管理的特点都是基于OpenStack对象存储Swift。
TempAuth和SwAuth通常使用用户名和密码进行认证。当成功进行身份验证时,用户会收到一个令牌,此令牌可以使用户在一段时间内有权访问系统。提供的令牌具有可配置的到期时间,默认设置为4~6h。
密码强度
Openstack 项目对用户进行身份验证所使用的都是用户名和密码。密码强度要求应接受更严格的审查。例如依据常用密码口令字典对密码进行检查,规定最小密码长度和必须使用某些特殊字符。然而,这些要求在OpenStack规范中并不存在。
存储密码
密码存储是使用密码验证的所有信息系统中共有的一个问题。在信息安全中的一个常见做法是要求管理员保证密码是被加密的,而不是以明文存储。同样重要的是要限制访问存储密码的位置。TempAuth将用户名和密码存储在一个配置文件中,所有密码都记录在普通文本格式中。
身份验证令牌
成功的认证生成用于授权服务请求的令牌。密码和用户名作为输入提供给API。如果认证成功,由此产生的信息包括身份验证令牌和服务类别。令牌保持12小时有效。发出的令牌失效有两种情况:令牌已经过期或令牌被取消。
认证数据敏感性
将OpenStack的认证数据从一个服务器转移到另一个服务器是不安全的。SwAuth存在的安全问题是,允许供应商管理员查看属于此管理员管理的所有用户数据。恶意用户还可以获得其他用户访问密码。
恶意数据
大多数云供应商在将数据上传到集群之前不加密数据。事实上,OpenStack未提供任何数据加密方法。因此,用户需要先加密数据,然后上传加密后的数据和管理密钥本身。