很多朋友对前段时间“删库跑路”事件应该还记忆犹新吧, 不仅如此近期的数据泄露问题也是从出不穷, 数据库作为企业核心业务系统的基础设施部分更是重中之重, 热璞数据库HotDB 结合企业数十年的技术沉淀以及在实战中的经验,以用户的视角打造的这份安全技术指南,跟各位一起分享:
一:用户管理
数据库应支持用户身份认证,并确保用户标识具有唯一性,且用户的身份认证信息应进行加密存储,宜采用不可逆加密算法;
用户的口令应具有复杂度要求,长度应少于8位,并包含英文字母大小写、特殊字符及阿拉伯数字等组合,且系统运维管理用户应定期修改登陆口令;
宜设置超时时间,登录用户在超时时间内无操作则自动结束会话;
宜及时删除多余、过期用户。
二:访问控制
基于角色的权限控制
1) 数据库应具备基于角色的权限控制,数据库角色应分离管理用户以及普通用户;
2)应对管理用户的角色进行权限分离,仅授予管理用户所需的最小权限;
3)管理用户应至少针对以下角色进行权限分离:数据库权限管理、审计管理、运维管理;
4)运维管理员的权限应包括整个集群的操作变更和针对整个集群资源损耗的重要操作;
5)数据库权限管理员角色可用于创建和维护其他用户或用户权限配置,或两者的并集;
6) 普通用户的权限仅限于对自身业务数据及表结构的操作。
数据对象访问控制
1)应具备对不同的数据库对象(资源)配置不同访问权限的功能;
2)应具备独立的对象资源控制的角色(如数据库权限管理员)来完成资源分配的功能,如对象权限的授予与回收、级联授权等。该角色应由具备系统管理权限的角色来创建和维护;
3)应具有对数据库资源的访问控制功能,依据安全策略控制用户对资源的访问;
库表结构维护访问控制
4)分布式数据库应支持对库表结构维护的权限控制;
5)对库表架构配置的权限应包括创建、更新、删除等;
6)库表结构的维护权限应由模式所属用户或者系统管理员角色用户来完成;
7)宜实现系统管理员角色对库表结构进行维护的授权和控制功能;
8)宜将对库表结构进行维护的权限与其他管理员角色进行分离。
库表内容访问控制
9)分布式数据库应支持库表记录内容访问的权限控制;
10)宜支持对数据库按列进行权限控制的安全功能;
11)库表内容访问权限应包括对某个库表/视图对象的插入、更新、删除、查询的权限;
12)库表访问的权限控制应由模式所属用户或者系统管理员类用户来完成;
13)宜实现系统管理员角色对库表内容的访问授权和控制功能。
14)宜将对库表内容的访问权限从系统管理员角色中进行分离。
三:运维管理操作审计
应对每一次登入行为标记唯一的序号,并将该序号,即连接号标记在本次登入行为发生的所有日志上;审计日志应包括但不限于用户名、IP地址、时间戳、用户行为、系统命令等信息。
应提供数据库指令调用执行记录的审计日志,审计日志中应包含事务号、连接号、操作用户、执行时间戳等信息;
应提供数据库配置参数变更的审计日志,手机游戏购买平台审计日志中应包含连接号、操作用户、执行时间戳等信息;提供数据库组件启动、停止、升级、降级的日志,日志中应包含连接号、操作用户、执行时间戳等信息。
四:数据库连接及系统变量访问审计
数据库应支持应用访问连接的建立和销毁操作的审计功能。审计数据应包含但不局限于应用IP地址、调用端口、登录用户、操作时间、操作指令等信息。
五:应具有数据安全能力
1.数据存储安全
1)应采用透明加密技术保障数据的安全性,保持密码技术的选择多样性,且根据业务系统具体要求对数据进行加密存储;
2)宜支持使用者选择多种透明加密技术,加密过程对业务透明、对数据库透明,同时支持文件加密、数据块加密、用户提供数据加密等数据加密技术,支持国密算法
2.数据传输安全
应采用密码技术,维护数据库传输过程中的数据安全,采用符合网络安全传输行业标准的连接加密手段保障数据库的安全连接,且应保证数据传输过程中的完整性与准确性。
3.数据运维安全
应支持数据副本的加密、文件校验值计算以保障数据副本的完整性,支持运维与外部业务接口、内部集群数据接口的隔离。
4.数据备份安全
应采用密码技术保障备份文件的数据完整性,支持数据的异地备份存储及布式数据库的库级别和表级别的双并行备份