引言:本文内容整理自【弹性计算技术公开课——ECS安全季】中阿里云弹性计算技术专家陈怀可带来的课程《如何保证业务数据的全流程安全》。
一、数据安全的基本概念
首先,来看一下数据安全的基本概念。
用户的云上数据安全是用户的生命线,也是云上安全整体能力最重要的表现,平台有责任和义务帮助客户保障数据的安全性。
数据的安全性,数据安全的要求可以用信息安全基本三要素——机密性、完整性、可用性来概括。
机密性是指受保护数据只可以被合法的用户访问,主要实现手段包括数据的访问控制,数据加密和密钥管理手段。完整性是保证只有合法的用户才能够修改数据,主要通过访问控制实现,同时在数据的传输和存储中可以通过校验算法来保证用户数据的完整性。可用性主要体现在数据的容灾备份能上。
访问权限相关的内容,在之前的章节已经做过相关的分享,这里就不过多介绍。本次主要从完整性、可用性、机密性三个维度介绍阿里云是如何实现数据安全的。
数据的完整性上,通过云盘多副本技术实现了ECS数据9个9的可靠性,数据安全擦除机制实现数据擦除的完整性,并且提供了全链路的数据校验CRC的功能,以确保数据在传输和存储过程中数据的可靠性需求。
数据的可用性上,ECS在产品基础安全能力上提供了快照、镜像备份恢复能力,同时在架构上支持了多可用区部署架构,保证数据的可用性。数据的机密性上,ECS对于数据机密性提供了全链路的数据加密保护产品安全能力,包括了存储加密、传输加密以及运行态数据加密计算环境等等。
二、云平台自身保证数据的完整性
接下来详细了解云平台如何保证自身数据的完整性。
ECS在保证自身数据完整性上做了很多努力,比如云盘在数据传输和数据存储的层面上覆盖了全链路的数据校验功能,在数据写入和读取数据的过程中,有全链路的CRC校验,确保网络传输数据持久化的过程中数据完整,没有损坏。也会定期对持久化介质中的数据进行CRC校验和冗余一致性校验扫描,确保介质中的数据完整,没有损坏。
另外,除了数据全链路的CRC功能之外,在数据擦除上使用了数据擦除机制,保证数据擦除的完整性。
具体的实现原理是云盘底层基于顺序追加写实现删除云盘逻辑空间的时候,操作元数据记录,逻辑空间读操作的时候,存储系统会返回全部零,从物理磁盘上底层前置永久删除。云盘释放的时候,物理存储空间被释放,再次分配数据是清零过的,并且在首次使用写数据之前,云盘读取全部返回是零。
另外,云盘三副本技术通过分布式文件系统为ECS提供了稳定、高效、可靠的数据随机访问能力,为ECS实例实现了9个9的数据可靠性保证。当数据节点损坏或者某个数据节点上的部分硬盘发生故障的时候,会自动发起数据复制的同步任务。
具体的实现原理是,数据存储平台中有三类角色,Master、Chunk Server、Client,Client在收到写请求之后,计算出三个副本存放的数据节点,Client向三个副本存放的数据节点发出写操作,只有三个节点的数据都写成功的时候才能够返回成功。
同时,为了防止一个机架上的故障导致数据不可用,Master会保证三个副本分布在不同的机架下。不过需要注意的是,云盘三副本技术无法防止数据由于病毒感染、人为误删除、黑客入侵、软故障等原因造成的数据丢失问题。下面来看一个真实的国外安全事件。
去年的九月份,斯里兰卡国家政务云被黑了,而且还丢失了四个月的重要数据。
详细来看一下事件的前因后果。
斯里兰卡国家政务云使用了一款软件,这款软件已经过时并且不再维护,并且漏洞中存在一个致命的安全漏洞,攻击者通过这个软件漏洞发起了勒索攻击,最终导致了近四个月数据的永久丢失。从这个安全事件中我们可以看出问题,对于关键的业务数据缺失备份计划,导致数据一旦被黑客攻击或者误删除,无法及时的恢复数据。我们该如何避免这一类的问题?在后面的关键业务数据可用性的备份与恢复方案上会给出详细的介绍。
带你读《从基础到应用云上安全航行指南》——万字干货教你如何保证业务数据全流程安全(2):