风险防不胜防?看YashanDB如何守护你的数据库安全(下篇)
前言
上一篇文章,咱们主要讲了数据库安全机制中的访问管理~今天继续深入聊聊威胁监测以及数据保护🧐 (文末可回顾上篇文章噢📖)
02
威胁监测
安全审计
YashanDB语法上支持权限审计、行为审计和角色审计,逻辑上包括了系统级、语句级、对象级进行审计,支持对指定用户或所有用户进行审计,并支持对系统权限进行审计。审计记录保存在物理表中,拥有AUDIT_ADMIN或AUDIT_VIEWER角色权限的用户可以通过审计视图UNIFIED_AUDIT_TRAIL查看审计日志信息。
审计级别 |
含义 |
系统级 |
系统的启动与关闭,无需由用户进行设置,只要审计开关打开就会自动生成对应审计记录 |
语句级 |
导致影响特定类型数据库对象的特殊 SQL 或语句组的审计 |
对象级 |
审计作用在特殊对象上的语句 |
权限审计指的是对YashanDB的所有系统权限进行审计,当对某个系统权限启用审计策略后,只要在SQL语句或其他操作中使用了这个系统权限,就会被审计,也是语句级审计。
行为审计包括系统审计和对象审计
-
系统审计:包括对象创建/删除、建库/关库、提交/回滚等所有的操作行为的审计。
-
对象审计:表示对某个具体对象的操作行为的审计。
此外,YashanDB提供角色审计功能,在某个角色上启用审计策略后,所有直接被赋予给该角色的系统权限就可以被审计。
审计日志被记录在系统表中,只有审计管理员可以查看和分析该表。为了降低审计对系统的影响,YashanDB支持审计日志异步入库。
为减少审计对数据库性能的影响,YashanDB默认采用异步审计的方式写审计记录(由AUDIT_QUEUE_WRITE参数控制开关)。
反漏洞
03
数据保护
通信加密
《信息安全技术传输层密码协议(TLCP)》是2020年11月1日开始实施的一项中国国家标准,是国密版SSL。国密SSL参照了TLS规范,但和TLS并不兼容。协议架构如下所示:
存储加密
1)对于数据库用户和应用程序是透明的。
2)不对数据库功能有任何影响。
3)性能损耗极小,通常可以忽略
TDE要求在数据库写入存储介质时自动加密,从存储读取至数据库buffer内时解密,对应用程序是透明的,数据库层的访问控制、SQL查询等都不会改变。
YashanDB采用国密SM4的加密算法进行表空间数据加密,用户无需指定策略,在保证密文的破解难度外,同时兼顾了加解密对数据库的低性能损耗,可适用于大数据量的表空间加密。对某个表空间是否启用加密,需要在创建时就确定,且不可更改。
对于分区表,YashanDB支持各分区可以任意存储在加密或非加密的表空间,即可对表进行部分数据加密。
备份加密
密匙管理
备份和恢复
数据库备份又分为全量备份和增量备份:
1)全量备份:对某一时间点上的所有数据进行完全复制,不依赖之前的备份集。一个全量备份集可以恢复出所有数据
2)增量备份:在有全量备份基线(level0)的情况下,增量备份(level1)只备份上一次备份后,发生过变化的数据。增量备份可以减少备份时间,减少磁盘占用,但是恢复时,需要按增量备份集链逐个恢复。
3)累计增量备份:第一次增量备份,必须是LEVEL 0,即全量备份。后续每次备份自上一次完全备份之后有变化的数据。
YashanDB支持如下方式的数据备份:
1)使用BACKUP DATABASE语句发起备份操作,备份集将生成在数据库服务端。
2)使用yasrman工具发起远程备份操作(对分布式可以发起多节点的统一备份操作),备份集可以选择生成在工具端或者数据库服务端。
用户可以选择任一种方式进行备份操作,两种方式均支持如下备份策略:
1)支持选择全量备份和增量备份。
2)支持选择对备份集数据进行压缩。
3)支持选择对备份集数据进行加密。
YashanDB支持按指定时间点恢复 Point-in-Time Recovery,恢复操作需要指定时间点或者SCN。约束条件是:
1)从备份结束时间到指定TIME或SCN的归档日志都在。
2)TIME或SCN要大于备份结束时间(精确点,是指data文件备份结束时间,但data文件备份结束时间<备份结束时间)。
3)指定时间点恢复会有1s误差。
4)指定时间点比最后一条日志的时间都大时,不报错,即时间太大,回放不到指定时间不报错,与oracle保持一致。
5)需要回放的归档,resetid需要和备份集reset id相同,否则restore阶段无法注册不同reset id的归档。
安全销毁
YashanDB通过两者手段实现了基本的剩余信息保护:
1)在释放表空间内存之前,将对应内存区域清空(置零)
2)在删除表空间文件之前,将文件内容用零值覆盖。
YashanDB能够建立相对完整的安全保护机制,保护数据和数据库管理系统不因偶然和恶意的原因而遭到泄漏、破坏和滥用,保障数据和系统的保密性、完整性、可用性和可审查性。随着数据安全形势的变化和客户安全需求的更新,YashanDB的安全规划和安全能力建设仍然一直在路上。