云数据迁移安全简介
CDM简介
云数据迁移(Cloud Data Migration,简称CDM)提供同构/异构数据源之间批量数据迁移服务,帮助客户实现数据自由流动。支持多种常用数据源,如客户自建或公有云上的文件系统,关系数据库,数据仓库,NoSQL数据库,大数据云服务,对象存储等数据源。
CDM适用于以下场景:
- 数据上云:使用华为公有云服务时,用户可以将其历史数据或增量数据从私有云/本地数据中心/第三方公有云迁移到华为云。
- 云服务间数据交换:用户可以在华为云的大数据服务、数据库服务、对象存储服务之间相互迁移数据。例如,可以将由MapReduce服务(MapReduce Service,简称MRS)处理的数据导入到数据仓库服务(Data Warehouse Service,简称DWS),进行交互式分析和报告统计收集。
- 云上数据回迁到本地:用户在使用公有云计算资源对海量数据进行处理后,将结果数据回流到本地业务系统,主要是各种关系型数据库和文件系统。
CDM迁移原理
用户使用CDM服务时,CDM管理系统在用户VPC中发放全托管的CDM实例。此实例仅提供控制台和Rest API访问权限,用户无法通过其他接口(如SSH)访问实例。这种方式保证了CDM用户间的隔离,避免数据泄漏,同时保证VPC内不同华为云服务间数据迁移时的传输安全。用户还可以使用VPN网络将本地数据中心的数据迁移到华为云服务,具有高度的安全性。
CDM数据迁移以抽取-写入模式进行。CDM首先从源端抽取数据然后将数据写入到目的端,数据访问操作均由CDM主动发起,对于数据源(如RDS数据源)支持SSL时,会使用SSL加密传输。迁移过程要求用户提供源端和目的端数据源的用户名和密码,这些信息将存储在CDM实例的数据库中。保护这些信息对于CDM安全至关重要。
安全边界和风险规避
如上图所示,CDM可能存在以下威胁:
- 互联网威胁:恶意用户可能通过CDM控制台攻击CDM。
- 数据中心威胁:恶意CDM管理员获取用户的数据源访问信息(用户名和密码)。
- 恶意用户威胁:恶意用户窃取其他用户的数据。
- 数据暴露公网:从公网迁移数据时暴露数据的威胁。
对于这些潜在的威胁,CDM提供以下机制来规避终端用户的风险:
- 针对互联网威胁:用户不能直接通过公网登录CDM控制台。CDM提供双层安全保障机制。
- 华为云控制台框架要求用户访问任何控制台页面都要进行用户认证。
- Web应用防火墙(Web Application Firewall,简称WAF)过滤所有控制台的请求内容并停止请求攻击代码/内容。
- 针对数据中心威胁:用户必须向CDM系统提供迁移源端和目的端的访问用户名和密码信息,才能完成数据迁移。避免CDM管理员获取此类信息并攻击用户的重要数据源对于CDM非常重要,CDM为此类信息提供三级保护机制。
- CDM在本地数据库中存储经过AES-256加密的密码,确保用户隔离。本地数据库使用用户Ruby运行,数据库仅侦听127.0.0.1,用户没有远程访问数据库的权限。
- 用户实例发放完毕后,CDM将虚拟机的root和Ruby用户密码更改为随机密码且不会保存在任何地方,以阻止CDM管理员访问用户实例和含有密码信息的数据库。
- CDM实例迁移以推拉模式进行,因此CDM实例在VPC上没有侦听端口,用户无法从VPC访问本地数据库或操作系统。
- 针对恶意用户的威胁:CDM对每个用户,使用单独的虚拟机来运行各自的CDM实例,用户之间的实例是完全隔离和安全的。恶意用户无法访问其他用户的实例。
- 针对数据暴露公网的威胁:CDM的抽取-写入模型下,即使CDM绑定了弹性IP,也不会开放端口到弹性IP,攻击者无法通过弹性IP来访问和攻击CDM。不过从公网迁移数据的方式下,由于用户数据源也会暴露在公网,存在被第三方攻击的威胁,推荐用户在数据源服务器上通过ACL或防火墙对源端进行防护,比如仅放通来自CDM绑定的弹性IP的访问请求。