云环境下信息系统数据安全解决方案

2015-05-15 18:46蔡向峰王带弟
信息通信技术 2015年1期
关键词:快照访问控制数据安全

蔡向峰 王带弟 郑 重 赵 超

1 广东省电信规划设计院有限公司沈阳分院 沈阳 110000

2 中国电信集团公司吉林省分公司 长春 130000

概述

云计算技术被认为是继微型计算机和互联网后的第三次IT革命,是互联网和IT融合发展的大趋势之一。按照Gartner的分析及预测,云主机和云存储市场在2013年的增速均高达47%,但云主机市场未来的增速要高于云存储。云主机在IaaS市场的整体份额在2017年将达到84%,市场规模有望突破250亿美元。企业IT系统向云迁移的趋势已经势不可挡,但迁移前最大的担忧来自于数据安全。伴随着企业向云环境的迁移,保护数据的传统方法则面临基于云的架构所带来的全新挑战。高弹性的、多租户、全新的物理与逻辑架构以及抽象控制均需要新的数据安全战略[1-2]。云中应用的数据安全(包括数据的机密性、完整性和可用性)是成功向云迁移的最大保证。

应用向云中的迁移分为6个步骤:迁移评估、概念验证、数据迁移、应用迁移、合理应用和优化系统。其中,迁移第一阶段会对数据安全做详细评估和验证。

市场上云服务提供商有很多,包括AWS(Amazon Web Service)、Windows Azure、阿里云等。AWS市场占有率第一,无论在服务的广度和深度上都有其优势,本文以应用迁移至AWS为例分析云应用传输中的数据及非流动性数据(存储在磁盘上等不在网络上传送的数据)的安全解决方案。

1 云应用安全责任分工

安全是比较宏大的主题,涉及技术、组织和法规等各个层面。从技术角度来说,云应用安全责任分工和原有物理或私有云环境有较大不同,通常云应用安全责任分工[3-4]如图1所示。

图1 云应用安全责任分工

数据中心本身的物理安全、硬件安全、物理网络监控及安全API等均由云服务提供者来保证,云服务本身的账号安全、管理权限相关的安全、操作系统的安全以及使用各类云服务之后的相关应用安全和网络接入控制由客户来保证。

2 传输中的数据安全解决方案

云应用常通过Internet传输数据,当在云环境下运行应用时,保护传输中的数据非常重要,Internet上传输数据存在的威胁关注点如表1所示。

表1 Internet上传输数据存在的威胁关注点分类

2.1 基于AWS VPC的传输数据安全方案

Amazon VPC(Virtual Private Cloud)[5]允许在AWS云中预配置出一个采用逻辑隔离的部分,在定义的虚拟网络中启动AWS资源。选择自有的IP地址范围、创建子网,以及配置路由表和网关,来完全掌控虚拟环境。

VPC可将AWS资源放到一个定义好的虚拟网络里,控制来自个人实例的内外部访问,可隔离一个或多个公有或私有子网中IP地址。为访问Internet的Web服务器创建公有子网,使用IPSecVPN连接在VPC和企业自有IP架构(传统或私有云IT架构)间建立桥接。而将数据库或应用程序服务器等后端系统放在不能访问Internet的私有子网中,利用安全组和网络访问控制列表等多种安全层,帮助对各个子网中Amazon EC2实例的访问进行控制,传输实例如图2所示。

此外,也可以在公司数据中心和VPC之间创建硬件虚拟专用网络(VPN)连接,将AWS云用作公司数据中心的扩展。

图2 VPC数据传输实例图

2.2 管理应用及访问公有云服务时传输数据安全方案

当访问AWS公有云上的应用时,大部分情况认为Internet是个不安全的通信媒介,安全策略是保护传输中的数据,保护传输数据方法概括如表2所示。

表2 管理应用及访问公有云服务时传输数据安全策略

2.3 管理AWS服务时传输数据安全方案

通过AWS管理控制台或AWS API管理诸如Amazon EC2和Amazon S3服务。服务管理实例包括创建一个新的Amazon EC2 实例、保存一个对象到Amazon S3(Simple Storage Service)桶或者修改一个基于VPC的安全组。

AWS管理控制台在客户浏览和服务端用SSL/TLS保护AWS服务管理网络流量。用X.509保证数据完整性,实现客户浏览的服务端身份认证。随后在客户浏览和控制服务端点间制定SSL/TLS会话,保护SSL/TLS会话里的所有HTTP通信。

可用AWS API或通过应用又或第三方工具(SDK或者AWS命令行工具)管理来自AWS的服务。AWS API是在HTTPS上的web服务(SOAP或者REST),在基于已用的API和所有网络流量在客户端和特殊的AWS服务端间建立SSL/TLS会话,保护SOAP/REST包及用户负载在SSL/TLS的会话。

2.4 传输至Amazon S3的数据安全方案

和用户负载一样,包括所有的Amazon S3服务管理请求,例如通过Amazon S3来存储或者恢复的所有内容和相关元数据,Amazon S3通过在HTTPS上的SOAP来存取数据。

当AWS服务控制台被用来管理Amazon S3,一个SSL/TLS连接在客户端和Amazon S3端被建立,然后在被保护会话中密封所有的HTTP、SAOP及用户负载网络流量。

2.5 传输至Amazon RDS(Relational Database Service)的数据安全方案

如果你在同一个区域中正在连接到来自Amazon EC2实例的Amazon RDS,可依靠AWS网络安全;但如果你正在连接Internet,为了附加防护,你可能想要用SSL/TLS。

SSL/TLS通过X.509证书提供认证,为客户端连接保证数据完整性及加密数据。

RDS MySQL和Microsoft SQL实例连接一般支持SSL/TLS。对于两个产品来说,Amazon Web服务提供一个单独的自签名证书与MySQL或Microsoft SQL监听器联合。为了在服务器侧身份认证及预防中间人攻击或者身份欺骗攻击,可以下载单独的自签名证书,并设定它为可信的。SSL/TLS提供为服务器端及客户端本机加密及数据完整性认证。因为相同的自签名证书在AWS中所有Amazon SQL实例中可用,每一个对等点身份认证不能提供给单个实例认证。若需要通过SSL/TLS个人服务器认证,则需要利用AWS EC2和自我管理的关系型数据库服务。

为Oracle本地网络加密,Amazon RDS随着数据库的迁入和迁出加密数据。Oracle本地网络加密使用行业标准的加密算法如AES和DES,可以在Oracle网络服务加密网络流量。

3 非流动性的数据解决方案

在应用迁移的第一步迁移评估和第三步数据迁移中都会对数据进行云中映射[6]。在原有的物理或私有云环境中,生产数据存储在磁盘(本地存储或SAN共享存储)中,备份数据一般存储在磁带或虚拟带库磁盘中。这种数据存储方式迁移到云环境时会有比较大的变化,因为云环境提供了更多的存储选择,迁移前应根据数据格式(结构化、半结构化、非结构化)、数据集的大小、数据性能要求(IOPS、延迟等)以及数据的可用性和可持久性要求,选择合适的云存储方式。具体建议如表3所示。

3.1 分布式对象存储数据安全解决方案

S3中存储的一般为静态生产数据或备份数据。在S3中存储的数据安全主要通过三种方案来实现:客户端加密或者服务端加密、接入控制、以及分布式存储技术实现的超高可用性及持久性。

1) 客户端加密或者服务端加密。加密技术增强了存储在S3中数据的安全性。客户端的加密方案指在上传S3之前对数据进行加密,由客户来控制加密流程、秘钥及相关的工具,可使用业界流行的各类加密方法,如AES-256、RSA等。

表3 迁移时数据存储的选择及比对建议

服务端加密是S3本身的一个特性(可选),S3将会在数据文件写入磁盘前对数据进行自动加密,当用户下载数据的时候自动解密。将用户从管理加密流程、秘钥和相关工具的任务中解放出来。采用的是AES-256对数据进行加密,且可对单个对象进行加密。在上传S3对象的时候,客户可明确指定是否需要采用加密方式来存储数据。服务端加密是可选的,可在一个存储桶里面同时加入加密对象和不加密对象。S3也支持对存储桶下的对象都进行加密。

2) 访问控制。接入控制主要有三种解决方案。①身份认证管理(Identity and Access Management,IAM):安全地控制用户对各类云服务和资源的访问权限。云用户可以使用IAM来创建和管理用户和群组,并使用各种权限来允许或拒绝他们访问各类云资源,针对用户来对S3中资源进行接入控制管理。②存储桶策略(Bucket Policy):可以对整个存储桶或单个对象进行访问控制。③访问控制列表(ACL):只能按照AWS账号来对S3中的资源进行访问控制。

综合来讲,ACL是粗粒度方案,IAM和Bucket Policy是细粒度访问控制方案,在不同应用场景,可合理地选择不同的方案或者几种方案的组合来灵活使用。

3) 分布式存储技术。S3本身就是分布式对象存储,其内部实现方法AWS没有对外公开,但从其公开的一些SLA中可以发现S3本身的可用性和持久性。S3会自动在一个区域(region)跨多个可用区(AZ)复制多个存储的副本,S3的持久性为99.999999999%(11个9),放在S3上的数据不用担心丢失问题。S3本身的分布式也支持几乎无限的存储容量(超过2万亿的数据对象)及高并发的吞吐量(峰值每秒钟300万请求)。在S3中存储的数据不用担心性能、可用性及持久性问题,唯一需要用户关注提升性能及可用性的优化,S3是按照对象键名的前缀来进行自动分区分布数据的,比如大量的以时间戳方式来命名的数据:2014_12_05-1129879.jpg,2014_12_05-1139469.jpg等,如果按照原有文件名方式直接进行存储,那么这些文件会落入到一个partition里面,访问吞吐率很可能会限制在100个PUT或者GET的操作。最简单的解决方案就是把文件名做一个反转,1139469-2014_12_05.jpg,1129879-2014_12_05.jpg。经过反转之后文件名前缀引入了足够多的随机性,这样的数据其存放的分布性更强,访问吞吐率也会变高,数据可用性变强。

通过客户端加密或服务端加密,使用良好的访问控制以及S3本身的高可用及高持久性,可保证在云中存储的静态数据的安全性。

3.2 EBS安全性方案

EBS(Elastic Block Store)可在AWS云中提供用于Amazon EC2实例的持久性数据块级存储卷。每个EBS卷在其可用区内自动复制,免于组件故障的威胁,同时提供高可用性和持久性。为保证数据更高的安全性,EBS可以很方便地使用快照(snapshot)功能,用户可以定期为EBS存储数据执行快照(增量快照),快照可以存储在S3上,S3可以放在本区域中或者放置到其他的区域中,达到数据容灾的效果。

1) 数据加密方案。加密的解决方案类似S3的解决方案,可分为使用公有云厂商的加密方案及用户自加密两种。

EBS加密属于EBS的服务内容之一,让客户无需构建、维护和保护自己的密钥管理基础设施。创建加密EBS卷并将它连接到支持的实例类型时,该卷上静态存储的数据、磁盘I/O和通过该卷创建的快照都会进行加密。加密在托管Amazon EC2实例的服务器上进行,从而为从EC2实例传输到EBS存储的数据提供加密。

所有EBS卷类型(General Purpose (SSD)、Provisioned IOPS)都支持此功能,加密卷对延迟的影响极小,其中Provisioned IOPS性能与未加密卷一样。可以通过与访问现有卷相同的方式来访问EBS卷。加密和解密以透明方式处理,虚拟机实例和应用程序无需执行其他操作。加密EBS卷的快照会自动加密,通过加密EBS快照创建的卷也会自动加密。

云服务提供者处理密钥管理。每个新创建的卷都使用唯一的256位密钥加密;卷的所有快照以及快照创建的后续卷也共享该密钥。这些密钥受云服务提供商密钥管理基础设施的保护,实施强逻辑和物理安全控制以防止未经授权的访问。客户的数据和关联的密钥使用行业标准的 AES-256算法进行加密。

EC2挂载的EBS文件加密也可完全依赖用户进行加密。通过不同的操作系统对文件系统加密也可以实现数据的保密,Windows系统使用EFS,可对文件和文件夹加密。如果需要加密整个卷,开源truecrypt可以很好地和NTFS的EBS整合。Linux可以使用加密文件系统挂载(EncFS、Loop-AES、truecrypt)。使用之后只有服务器上的用户和进程才可以看到明文的数据。

2) 数据访问控制方案。和S3的访问控制基本相似,EBS卷的访问权限与IAM相集成。IAM对EBS卷启用访问控制。针对各类云用户和组进行各种访问控制的设置,保证ESB的访问是可控、可管和可信的。

3.3 数据库安全解决方案

大多数IT系统数据库最核心的数据处理与存储单元的安全对整体系统在云中的运行来说至关重要,本文依旧采用原有环境(物理环境或私有云环境)数据库6步方案。在迁移之前也需要进行评估,主要包括现状分析、制定迁移目标、云服务映射、制定云中的系统架构等步骤。在AWS中,数据库可分为SQL和NO SQL两大类,服务类型可以分为DIY和托管服务两大类。SQL的托管服务为RDS,另一种DIY方式的实质就是在虚拟机操作系统上直接安装数据库软件。RDS支持MySQL、Oracle、Microsoft SQL Server或PostgreSQL。当前已用于现有数据库的代码、应用程序和工具可用在RDS上。RDS可自动升级补丁和备份。只需通过一次API调用,即可灵活地扩展与DB Instance相关联的计算资源或存储容量。直接在虚拟机上安装数据库可实现对数据库的完全掌控,在数据库的可用性、性能、管理和监控、授权、支持方面,和原有的物理环境比较相似(实质上性能和可用性需要的架构和原有环境有很大不同,在合理设计之后可实现和原有环境相同或更高的能力)。本文以DIY的Oracle数据库为例介绍数据库的安全解决方案。

1) 数据库可用性解决方案,如图3所示。通过Active Data Guard实现不同AZ之间数据库的同步、读写分离,实现高可用和负载分担。备份解决方案有两种,通过RMAN+OSB备份至S3或通过RMAN备份至EBS,也可以再给备份的EBS做个快照存至S3,实现数据的高持久性。长期不经常使用的数据可设置失效时限,放到Glacier。

同城容灾:多AZ的实现方案,S3备份,读写分库且多AZ。

异地容灾:RMAN+OSB异地到S3或pilot light(长明灯,有一个基本虚拟机一直在运行着,挂载的是Active Data Guard同步的EBS,可以实现比备份、恢复更短的RPO)方案。

图3 数据库可用性解决方案

2) 网络安全方案(如图4所示)。使用VPC可创建逻辑私有、隔离的网络,通过Ipsec VPN和原有物理数据中心建立安全的数据连接(如果是混合架构),通过VPC的路由表+安全组(Security Group)可以创建灵活的网络访问方式;使用NAT保证数据库服务器具备互联网流出功能,而不能被互联网主动访问;使用堡垒机确保安全登录及配置。

图4 网络及加密解决方案

3) 加密方案(如图4所示)。通过透明页面加密实现对静态数据的加密,加密方式为AES或者3DES。

4) 数据访问控制。使用虚拟私有数据库控制对数据库行和列的安全接入,使用Oracle Database Vault保证特殊敏感信息,使用IAM进行EC2等相关资源的授权和认证。

4 总结

云环境与传统环境(私有云或者传统IT架构)下的数据安全相比,加密算法、证书等技术相同,但接入控制、权限控制、架构等大不相同。通过对传输中的数据及非流动性的数据安全解决方案分析,总结出可使用诸如加密、备份、证书、接入控制、权限控制、合理的架构等方案来实现数据的高安全,保证传统环境下的信息系统向公有云服务迁移中及迁移后的数据安全。

参考文献

[1]The Data Security Lifecycle[EB/OL].[2015-01-02].http://www.securosis.com/blog/data-security-lifecycle-2.0

[2]Sun Y S,Zhang J S,Xiong Y P.Data Security and Privacy in Cloud Computing[J/OL].[2015-01-02].International Journal of Distributed Sensor Networks.http://dx.doi.org/10.1155/2014/190903

[3]陈驰,于晶.云计算安全体系[M].北京:北京科学出版社,2014

[4]曾庆凯,许峰,张有东.信息安全体系结构[M].北京:电子工业出版社,2010

[5]Extend Your IT Infrastructure with Amazon Virtual Private Cloud[EB/OL].[2015-01-02].http://aws.amazon.com/whitepapers/

[6]Securing Data at Rest with Encryption[EB/OL].[2015-01-02].http://aws.amazon.com/whitepapers/

猜你喜欢
快照访问控制数据安全
一种跨策略域的林业资源访问控制模型设计
面向Linux 非逻辑卷块设备的快照系统①
EMC存储快照功能分析
云计算中基于用户隐私的数据安全保护方法
建立激励相容机制保护数据安全
大数据云计算环境下的数据安全
一种基于Linux 标准分区的快照方法
ONVIF的全新主张:一致性及最访问控制的Profile A
云环境中数据安全去重研究进展
动态自适应访问控制模型