开发者学堂课程【数据库安全:阿里云数据库的安全管理实践】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/69/detail/1171
阿里云数据库的安全管理实践
内容介绍:
一、云端数据库安全管理:备份与恢复
二、云端实现安全可靠的数据库备份
三、使用DBS实现多云环境数据备份
四、云端数据库安全管理:SQL审计
五、在阿里云数据库上使用SQL审计
六、总结
一、云端数据库安全管理:备份与恢复
1.备份是最后的数据保护措施
存储介质错误
应用程序错误
人为错误
自然灾害
网络攻击
2.历史数据保留
合规要求
数据价值发现
3.一般备份和恢复任务
配置数据库备份
定义备份计划
对各类场景下,进行恢复测试与验证
日常监视、优化备份和恢复
从备份还原数据/按具体的时间点恢复
备份的是最后一道数据保护措施,有了备份在处理数据时就不会很慌张,不管出了什么问题,总还是能把数据找回来的。但是备份也存在一些问题,它比较重要,前面的数据保护是事前的数据保护,可以从事前或事中的保护,备份其实是一种事后的保护。备份也非常重要,想用到它的时候经常都是真的出了问题。前面讲到了Gitlab的案例,他们也有备份,但是备份也有问题,他们有好多种备份包括S3的快照备份、逻辑备份,甚至还有一些其他的备份手段,但是他们发现只有最近6小时之前的备份是可以用的,对于较大型企业影响还是很大的,尤其是跑了一些关键业务交易金额,这个时间是无法接受的。所以会讲一下怎么去保证备份本身的安全,备份是最后一道数据保护措施,它可以帮助避免以下错误,第一个是介质错误,比如磁盘、机器、硬件受到了损坏,应用程序错误软件的bug它都可以进行保障。还有一些人为的错误,人为的错误包括由于有意的或者无意的人为错误。除此之外还有自然灾害、网络攻击,不管哪一类备份总是可以把数据恢复出来。
另外,备份有时候还是合规非常重要的一部分,合规的目的是虽然没有发生,但是要准备着,万一发生前面这些问题,怎么去保证数据依旧恢复。另外有时候备份可以去额外的发现一些数据价值。
关于备份的注意事项,一般的备份和恢复了哪些注意的事项,第一个是配置数据库的备份,要设计它的备份计划,因为在各种场景下都建议进行测试验证恢复,前面的Gitlab例子可以看出他们几乎没有做过恢复演练的,因为前面提到他们有一个逻辑备份的工具根本就没有备份成功因为版本的原因有一个比较低的逻辑备份工具去备份一个比较高版本的数据库,发现根本就没有备份成功,这说明他们从来没有做过验证,从来都没有看过备份数据到底成不成功。所以说数据库有备份,而且还要真的去验证备份是有效的。
另外还是要日常也监测备份是不是正常的,对备份进行优化,有时候如果备份时间太长,也是比较危险的,另外备份通常要涉及到可以按具体的时间点去恢复。
备份对象:
数据文件;控制文件;增量日志;口令文件;参数文件;系统表
备份分类:
物理备份;逻辑备份;热备份;冷备份;全量备份;增量备份
数据库的备份恢复是一个比较复杂的操作,通常都是要专业人员来管理和经营操作。前面具体到的gitlab以及某盟事件一定是有备份的,但是估计都没有做过恢复测试或者没有考虑比较复杂的场景下的恢复测试。为什么说各个通道都需要专业人员的管理?第一个从备份对象的角度来说,如果要备份数据库,它通常不像备份文件把文件目录保存下来就可以,而是要备份几个不同的对象吧,第一个是数据文件通常要备份,第二个是增量日志。增量日志不同的数据库的增量日志可能会有些不一样。参数文件,因为恢复的时候通常可能需要对应的参数文件,第二是控制文件考虑用文件系统表有可能都是要备份的,不同的数据库可能会略有不一样,因为备份从分类的角度是可以分成物理备份和逻辑备份,它们各有优缺点。物理备份很快,逻辑备份可以比较方便地实现单库、单表甚至记录集的快速恢复,因为有热备份和冷,冷备份就是把数据整个实例关掉,热备份就是在实例正常运行的时候进行备份,热备份是比较需要的。另外还分为全量备份和增量备份,增量备份就是前面提到的如果想要实现某个时间点的恢复,就需要增量备份。
二、云端实现安全可靠的数据库备份
1.RDS自带的备份能力
支持逻辑备份和物理备份两种方式
支持全量备份
使用物理日志备份技术实现增量备份
可以实现按时间点恢复(PITR)
支持OSS标准存储、归档存储两种类型
支持备份周期配置
2.使用DBS进行备份
支持多种环境的数据库备份
支持全量
使用实时日志解析技术实现增量备份
可以实现按时间点恢复(PITR)
支持实时的备份数据查询
支持备份周期配置
一般的云数据库管理可能都有备份链,也就是自带的备份能力,也不是所有的云数据库平台都有,逻辑备份和物理备份两种都支持,支持全量备份和增量备份,支持到时间点的恢复,因为备份的数据可以备份到os,支持放到标准的存储,也可以放到归档的存储,根据的成本不同可以选择放在哪种存储里面,归档存储更便宜,但是要恢复的速度会更慢一些。另外阿里云备份能力还有一点特别强是可以使用DNS数据库备份的产品对数据库进行备份,先来看一下什么是DBS。
三、使用DBS实现多云环境数据备份
首先左下角是它的官网截图,可以去官网去看一下什么是dps,简单的来说dps可以帮助实现多云、多环境的数据库备份。无论数据库是在ecs自建本地的数据中心,甚至是在其他的云上,DBS都可以进行数据库备份,目前支持MySQL、oracle、SQL Server等等数据库的备份,它的备份可以支持全量数据备份和增量的日志备份,所以说他可以做基于时间点的恢复。备份可以通过SSL线路VPN专线的方式连接到本地数据中心或者其他云环境进行数据库备份。右边是数据库备份产品涉及到的一些组件,可以用kms的密钥管理系统对备份的数据进行加密,还可以对不同环境的数据库的备份恢复到rds来进行数据的验证或者数据的实现,甚至实现数据迁移的目的,以上是DMS可以帮做的数据库备份和恢复的能力。
四、云端数据库安全管理:SQL审计
审计有以下几个能力,它可以发现谁在什么时间对什么对象做了什么操作,这是对SQL审计的核心概括。SQL审计有以下特点:第一个是它会记录所有的数据库相关的操作,不仅仅是人的操作,很多系统应用或者APP或者应用所有的SQL操作都会记录下来,SQL审计的量通常都非常大,所记录的信息也非常的全,可以做的事情也比较多,他的缺点是因为他量非常大,有时候速度会比较慢。如果使用阿里云的SQL审计,有一些比较好用的功能可以帮助比较快的去做一些操作。SQL审计的主要功能有以下几个方面:第一个是可以帮助识别一些攻击事件,包括一些漏洞攻击、SQL注入、暴力破解、数据窃取都可以通过SQL审计来发现。第二个查看哪些操作是超出权限的,本不应该查数据但是却查了数据,通过SQL审计可以发现。第三个,刚才说的这两项包括第四项合规审计,SQL审计可以帮助企业完成人等保合规、信息安全管理合规审查等等相关的审查。一、二、四这三项都是比较低频的操作,但是发现SQL审计还有一个比较有用的功能就是它可以辅助业务优化,它记录了所有的SQL的执行情况,所以它可以帮助去分析SQL的执行时间的长短、执行频率、次数,以及数据库的操作有哪、数据库的对象的使用情况。举个例子,一个数据库SQL里面哪些表有没有被使用过,有的数据库里面是有这方面的统计的,但是有时候可以通过SQL审计来帮获取信息,它可以帮助做很多辅助的业务优化。
五、在阿里云数据库上使用SQL审计
阿里云的SQL审计整体的使用起来其实也是非常简单的,在登录控制台找到想要操作的实例,然后点击SQL洞察就可以立刻开通。另外SQL洞察的量通常都非常大,但是阿里云的SQL审计能力也给了一些优化,它支持关键字时间范围用户数据库操作类型的搜索和查询,可以帮助非常便捷的搜索或者查询某一些特定类型的操作。已经可以最大限度的帮助去在海量的SQL审计数据里面找到想要数据。
六、总结
以上就是整个关于云端的数据库安全解决方案,最后再解释一下这张图
数据库在云端可能是在下面的位置,另外再简单的回顾一下,可以通过ssr保障链路安全,通过第TDE保证的磁盘数据落盘的安全。另外一层一层的往上可以通过账号实例层面的安全来保障数据安全,还可以通过企业级数据管理平台DMS产品帮助去管理,当企业超过了比如说50个研发人员的时候,数据访问控制也非常难了,可以用DNS产品来帮助。有时候不一定用dms产品,可以把关于DMS理念引入到的企业里面去,能实现数据库的安全高效的管理。要用最小化的访问原则来做网络控制,不需要访问数据库的IP一定要隔离掉,通过白名单的方式,只能允许必要的应用服务器访问到的数据库,最后阿里的大安全也是最上一层的,可以帮保护的数据库安全。