七个“神器”,保护好数据库,让删库无处遁形!
Posted 芋道源码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七个“神器”,保护好数据库,让删库无处遁形!相关的知识,希望对你有一定的参考价值。
本文是 UCloud 的大佬工程师,总结的数据库安全的七个维度的保护手段,胖友们做了几条?!
当前,数据安全受到多方面的威胁。
有来自系统软硬件的非人为故障,有运维工程师的误操作,甚至是黑客或内部人员的恶意删除。
2017年1月31日,全球最大的代码托管服务平台Gitlab由于工程师的误操作,删除了5000个项目和700个用户账号的数据,虽然多方补救,但部分数据最终没能恢复。
近几年黑客入侵用户系统后加密磁盘,以此来勒索的事件也层出不穷。更有来自黑客或内部人员的恶意删除,导致业务的极大损失。
如何彻底杜绝此类风险,确保数据安全,需要全方位的技术保障措施:备份、反入侵、分权限管理、快速回档等技术手段都不可或缺,而且必须覆盖每一类存储产品。
UCloud作为业界领先的云服务商,提供了全面的各类存储产品,开发了完整和成熟的数据安全机制。并且在为数万家用户提供可靠线上服务的过程中,积累了丰富的经验。下文提到的数个案例,其实就发生在UCloud平台上。通过我们的产品和专业及时的服务,这些用户最终得以恢复数据,避免由此造成的损失。
一般地说,用户搭建数据库有如下三种方式:使用公有云提供的DB PaaS托管服务,如UCloud UDB,由云服务商来负责DB的搭建及运维;用户也可以使用公有云的云主机和云盘来自行搭建数据库;或者在私有云环境下搭建。在这三种情况下,UCloud都提供了专业的数据安全机制,来切实有效的保证用户的数据安全。
如上图,接下来将介绍UCloud针对数据库数据安全的七种“武器”。
具体而言,本文主要回答如下三个问题:
如果需要得到最专业的数据库安全服务,用户的首选就是云服务商提供的DB PaaS服务。譬如说,UDB是UCloud提供的云数据库服务,支持各种主流的数据库产品。自2013年上线以来,运营了数以万计的UDB实例。
UDB远远不只是帮用户搭建DB那么简单,事实上这部分功能只是UDB价值的冰山一角。UDB提供了完备的数据库搭建、运维、性能调优、资源扩缩容等服务。其高可用、高性能、便捷易用等特性帮助用户大量减轻了运维负担。同时,数据库团队还自研了分布式架构、读写分离、存储计算分离等特性,进一步提高云数据库的性能和可用性。在数据的备份恢复机制上,UDB提供自动备份、秒级恢复、监控告警、问题诊断等服务。
面对不可预测的误操作或者人为恶意操作,数据库自身的备份机制就显得尤为重要。UDB的备份机制具体如下:
针对用户个性化的备份文件存储需求,UDB支持备份文件下载:
针对误操作或者人为恶意造成的数据库删除,UDB提供了一系列数据恢复方案。
为了确保数据的绝对安全,必须做到数据的多份备份,可以从本地磁盘的多份备份到跨区域备份,甚至实现跨云平台的多云备份。
数据库数据可靠性受底层有效的RAID保护,实例级的冗余则包括主实例采用高可用架构,后端主备双节点,保证数据双份冗余。控制台一键创建从实例,主实例可以一主带N从,包括可用区级(主从在同可用区)和地域级(主从跨可用区),保证实例级冗余。
UCloud还提供数据传输产品UDTS,在数据库可靠性更高要求的场景,主实例可以通过UDTS搭建异地或者两地三中心的UDB集群架构,进一步保障数据安全。此外,UDTS也适用于多云部署的场景,其支持多种数据库类型、双向迁移的能力,可以帮助使用者将数据平滑地做跨云的迁移和备份。某电商便是借此实现了UCloud和T云之间的数据同步。
游戏行业业务变更快、变更多,是比较容易造成数据库误操作或者不当变更的情况,此时如何快速恢复到变更前状态就成为了棘手的问题。某游戏用户在版本发布时造成数据库的schema变更字段出错,发现出错时,已经对游戏服造成了巨大影响。此时,管理人员对影响的UDB实例做了一个回档操作,恢复至变更前一刻,精确到秒级,挽回了损失。再对源实例进行必要数据的导出,补偿到回档的新实例,避免数据丢失。
在运维权限管理混乱时,安全性就存在巨大的隐患,任何人都有可能对核心资源进行不正当操作。某互联网App用户的运维人员由于看错信息,造成核心UDB实例误删除。因UDB实例会每天自动备份,此时管理人员在控制台找到UDB实例当天的最新备份,做了恢复操作,恢复为一个全新UDB实例,减少了损失。
如果用户出于各种原因考虑,不愿意使用公有云的DB PaaS托管服务,而是希望使用公有云IaaS产品来自行搭建DB。UCloud同样提供了专业的数据安全产品,那就是数据方舟。方舟是当前业界独一无二的数据备份产品。通过在虚拟化层的I/O路径改造,方舟可以把用户的原始块设备存储放在后端去存储,并且能实现按秒的回滚。
对于数据备份产品,有两个重要的能力评估指标——恢复点目标(RPO)和恢复时间目标(RTO),目前数据方舟的RPO已经达到秒级别,默认支持12小时内恢复任意一秒,24小时内任意整点恢复,3天内的任意零点恢复,用户甚至可以自由定制备份链秒级、小时级、天级的保护范围,并且是恢复到一块新的磁盘上;而数据方舟的RTO则能够达到最短5分钟内恢复,即使是TB级别的数据量,也可以做到半小时内恢复。
数据方舟是如何在技术上做到对用户数据的持续保护呢?数据方舟后端使用了分层混合存储设计,用户的实时I/O会通过旁路以oplog的方式记录到方舟的接入节点(FRONT)上,由于方舟接入节点采用了高速磁盘设备,能够扛住用户大量的I/O写操作。
流式计算节点SHUFFLE会拉取接入节点的oplog进行批量处理,主要是进行数据分片(sharding),并将数据分片推送到最终存储层(ARKER)进行存储。随着时间的流逝,ARKER也会不断对数据进行合并,最终形成base/天级/小时/秒 四个级别的数据备份链。
用户恢复时,会调动后端集群所有节点的能力进行并行计算,加快恢复速度。值得一提的是,用户恢复时当前的磁盘数据是保留的,数据会回滚到一块新的磁盘上,这样做的目的是如果用户回滚后后悔,也能够回到恢复前的数据状态。
数据方舟恢复数据案例
2017年5月“永恒之蓝”病毒爆发,全球大量Windows主机受到感染,企业重要文件被加密,只有支付高额赎金才能解密恢复文件。万户印刷公司的一台云服务器也遭受到了病毒攻击,用户的印刷文件被加密。
2017年12月,某AI公司遭遇到了重大危机,其运维人员在对存放重要数据的云硬盘进行扩容时,违规操作,导致硬盘出现了文件系统故障,数据无法访问。问题磁盘有着多个分区,该公司缺乏对多分区磁盘进行文件系统修复的经验,不敢贸然修复,担忧会因此导致数据进一步损坏。
2019年3月,某知名端游公司出现了严重的运营事故,一个道具的复制漏洞导致了游戏的平衡性失调,严重影响玩家体验,因此需要快速完成回档,保证对玩家的影响降低到最小。
这些案例中,用户最终都通过UCloud旗下的数据方舟产品进行恢复,迅速找回了所需要的数据。
如果用户的DB搭建在私有云环境下,没关系, UCloud的对象存储产品UFile是一个海量的通用存储产品。通过和第三方产品结合,即便是私有云的DB同样可以利用公有云海量及可靠的存储服务,实现数据的高可靠性。
块存储上数据的保护不仅可以通过数据方舟解决,用户还可以使用基于 UFile 做数据持久化的 JuiceFS 存储数据库备份,JuiceFS 是为云端设计的 POSIX 共享文件系统,具有如下特点:
云端:采用云服务中的对象存储作为后端,综合性价比极高。
POSIX:兼容标准 POSIX 接口,可以像本地文件系统一样使用。
共享:上千台机器同时挂载,高性能并发读写,共享数据。
UFile是UCloud自研的对象存储系统,兼容s3协议,具备高可用、高可靠和低成本的数据存储服务,提供多副本、跨地域等数据冗余机制,支持三地及以上的跨地域灾备功能。使用UFile用户可以实现高可靠、低成本的云上和跨云的数据备份,包括数据库备份、日志、大数据文件等。
UCloud用户下厨房是国内最大的专注于家庭美食领域的社区,目前拥有超过四千万注册用户,海量的业务也让下厨房对数据库的冗余和备份格外的重视,并且总结出一套非常高效和可靠数据库灾备经验。
除建立了跨可用区的主从节点外,下厨房会进行定时的整库备份和实时的binlog备份。下厨房的数据库备份借助了UFile、JuiceFS和Percona Xtrbackup。使用JuiceFS用户可以无需修改代码就可以替换之前的本地备份。并且可利用JuiceFS后端的对象存储来解决无限存储空间、跨区域复制以及低成本等问题。下厨房的策略是保留 7 天内的 Percona XtraBackup 整库备份、3 年内的 binlog 以及 1 年内的周级 mysqldump。
除此之外下厨房还想到了一个非常具备脑洞的备份验证方案。有了备份还无法做到高枕无忧,因为有时备份文件会出错,等到需要恢复时才发现备份出错就已经晚了。但是备份的验证是个非常耗时的工作,需要拷贝备份到本地进行恢复。下厨房利用JuiceFS的快照功能,克隆一份备份文件,在不影响原备份文件的情况下快速做验证,省下大量拷贝的时间。
https://juicefs.com/blog/cn/posts/xiachufang-mysql-backup-practice-on-juicefs/
在具备一定的备份和恢复机制下,数据库运维管理人员的权限控制问题仍然不可忽视,例如将数据库操作权限和备份权限进行分离、权限审批和操作执行分离、增加数据库命令隔离层等。
在权限管理控制方面,UCloud支持用户为自己的账户开设子账号,并定义为相应的角色。角色是一组产品权限的集合。若某成员的角色被修改,则其相应的权限也随之变更。子账号的存在有助于贯彻“最小权限管理”原则,只赋予工作职责所需的权限。大部分成员或许只需云资源的只读权限,少量操作者可拥有修改的权限,而删除权限必须通过管理员的审核。
多级账号权限控制,可以有效的控制多级人员的操作权限,最大程度的降低来自内部人员恶意操作的可能。
安全锁是云资源高危操作的二次验证服务。开启该服务后,每次进行删除资源等危险操作时,需要通过手机短信校验身份才可。
产品 |
操作 |
主机 |
开机、关机、删除实例 |
物理机 |
关机、删除实例 |
云数据库 UDB |
删除实例、关闭 |
云内存存储 UMem |
释放内存 |
对象存储 UFile |
删除bucket、删除ufile geo bucket |
云硬盘 UDisk |
删除实例 |
黑格尔曾说:“人类从历史中学到的唯一教训,就是人类无法从历史中学到任何教训。”云服务发展到今天,已经实现了多种完备的数据安全方案。如本文提到的UCloud七种武器,无论用户使用哪一种方式部署数据库,必有一款适合你。企业在今后发生数据库机器故障、误操作、恶意删除等情形时,能否充分利用云服务商提供的数据备份、恢复机制以及账号权限控制等能力,是解决数据丢失问题的关键。
想了解更多技术干货和云实践,欢迎关注“UCloud技术”!
以上是关于七个“神器”,保护好数据库,让删库无处遁形!的主要内容,如果未能解决你的问题,请参考以下文章
震惊!这个小区为节省物业开支窃电,大数据下九十分钟让“电耗子”无处遁形!
超细面试(妖魔鬼怪无处遁形,面试用时一个半小时)
人工智能让肺小结节无处遁形!西海岸新区人民医院“人工智能AI报告”精准评估“肺小结节”
区块链治理:让电信诈骗无处遁形
微软重拳出击:盗版 Windows 将无处遁形!
微软重拳出击:盗版 Windows 将无处遁形!