注册
数据库安全管理学习
专栏/技术分享/ 文章详情 /

数据库安全管理学习

夏雨雨雨雨雨 2026/08/21 176 0 0
摘要

数据库安全管理学习

本次学习围绕DM8达梦数据库安全手册展开,重点学习了用户标识与鉴别、自主访问控制、资源限制、审计四个章节。理解了DM8安全管理体系架构;掌握了用户管理、口令策略配置方法;掌握了权限管理体系(自主访问控制);掌握了资源限制配置方法;掌握了审计功能的开启与配置。

一、用户标识与鉴别

1.1 用户与模式关系

在DM8数据库中,用户与模式(Schema)存在一对一映射关系,创建用户时会自动生成一个同名的默认模式,用户拥有对自身模式的完全控制权。简化了权限管理逻辑,每个用户登录后默认操作自己的模式,无需额外指定模式名称。

模式的隔离作用体现在逻辑层面:不同业务模块的数据对象(如HR、Finance)可存放在不同模式中,通过模式实现逻辑隔离,便于权限的精细控制和日常维护。这是权限控制的逻辑基础。

1.2 管理用户体系

DM8支持两种权限分立体系:

对比项 三权分立 四权分立
管理员角色 DBA(数据库管理员)、SSO(安全员)、AUDITOR(审计员) 增加DBO(对象操作员)
职责划分 DBA管用户创建和系统权限;SSO管强制访问策略;AUDITOR管审计 DBO负责数据库对象管理,权限进一步细化

核心原则:权限互相制约,管人的不管审计,管审计的不管权限。

1.3 口令策略(重点加固项)

DM8通过 PASSWORD_POLICY 参数控制密码复杂度,各参数位可组合使用:

参数位值 含义 加固建议
0 无限制 不推荐
1 至少包含1个大写字母(A-Z) 推荐组合使用
2 至少包含1个小写字母(a-z) 推荐组合使用
4 至少包含1个数字(0-9) 推荐组合使用
8 至少包含1个符号(如#?!等) 推荐组合使用
15 密码长度不少于15位 等保合规要求

口令与登录策略方面,DM8支持强制实施密码复杂度、有效期、历史密码重复间隔、失败锁定阈值及宽限期等安全策略,从“门禁”环节保障数据库安全,有效抵御暴力破解攻击。

加固配置示例(组合使用,满足等保要求):

-- 密码策略: 大小写字母+数字+符号,长度至少15位 ALTER SYSTEM SET PASSWORD_POLICY = 15;

创建用户时指定口令策略:

CREATE USER "TEST_USER" IDENTIFIED BY "Abc123#2026" LIMIT PASSWORD_POLICY = 15;

1.4 身份验证模式

DM8支持多种身份验证方式:

验证模式 适用场景 安全等级
数据库身份验证 常规业务系统,用户名+密码验证 中(配合强密码策略)
操作系统身份验证 内部运维场景,免密登录 低(加固环境不推荐)
LDAP/KERBEROS 大型企业统一身份认证
SSL双因子/UKEY 高安全等级系统

加固建议:生产环境推荐使用数据库身份验证 + 强口令策略,敏感系统可启用SSL双因子认证。

二、自主访问控制

2.1 三级权限管控

DM8的权限管理体系采用三级管控架构,层层细化,实现精细化的安全控制:

第一级:系统权限(数据库权限)

系统权限控制用户能否执行某类DDL操作,作用范围覆盖整个数据库级别。典型系统权限包括:

权限 能做什么 加固建议
CREATE TABLE 在自己模式下建表 默认不给普通用户
CREATE ANY TABLE 在任何模式下建表 危险权限,严禁给普通用户
DROP ANY TABLE 删任何表 危险权限,严禁给普通用户
SELECT ANY TABLE 查任何表 只给运维/只读账号
CREATE SESSION 连接数据库 所有合法用户必备

安全加固要点ANY 类权限(如 DROP ANY TABLEALTER ANY TABLE )是最高风险的权限,严禁授予普通用户,即使是运维人员也应按需授予、用完及时回收。

第二级:对象权限

对象权限细化到特定数据库对象(如表、视图、存储过程)的操作控制,支持DML操作(SELECT、INSERT、UPDATE、DELETE),甚至可精确到 列级权限控制(如只允许查看工资列,禁止查看身份证列)。

-- 列级权限示例:只允许查询员工表的名字和部门列 GRANT SELECT (NAME, DEPARTMENT) ON "DMHR"."EMPLOYEE" TO "TEST_USER";

第三级:角色权限

角色是权限的容器,将一组权限封装为角色后批量授予用户,大幅简化权限分配与管理。角色可包含系统权限、对象权限及其他角色。

角色操作基本流程

-- 1. 创建角色 CREATE ROLE "READONLY_ROLE"; -- 2. 为角色授予权限(可包含系统权限+对象权限) GRANT CREATE SESSION TO "READONLY_ROLE"; GRANT SELECT ON "DMHR"."EMPLOYEE" TO "READONLY_ROLE"; -- 3. 将角色授予用户 GRANT "READONLY_ROLE" TO "TEST_USER";

通过角色管理,DBA可以按岗位(如运维岗、开发岗、只读查询岗)预置权限模板,新用户入职时直接赋予对应角色即可,避免逐条赋权的繁琐和遗漏。

2.2 最小权限原则

安全加固的核心原则是最小权限——用户只拥有完成工作所必需的最小权限集,不多给任何额外权限。

加固检查项

-- 查询PUBLIC角色已有权限(定期检查) SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'PUBLIC'; -- 回收不必要权限 REVOKE 权限名 FROM PUBLIC;

三、资源与安全限制(Profile)

3.1 资源限制参数

通过Profile资源配置文件,限制用户的系统资源使用,防止恶意SQL或异常连接消耗数据库资源,是重要的安全加固手段:

配置项 含义 加固建议值 说明
SESSIONS_PER_USER 同一用户最大并发会话数 10~50 根据业务并发量设定
CPU_TIME_LIMIT 单条SQL最大CPU时间(毫秒) 根据业务设定 防止慢SQL拖垮数据库
IDLE_TIME_LIMIT 会话空闲超时(分钟) 15~30 等保要求,防止闲置连接被利用
CONNECT_TIME_LIMIT 会话最大存活时间(分钟) 480(8小时) 防止死连接积累

3.2 配置示例

-- 为用户配置资源限制 ALTER USER "TEST_USER" LIMIT SESSIONS_PER_USER = 20, IDLE_TIME_LIMIT = 30, CONNECT_TIME_LIMIT = 480; -- 查看用户资源限制配置 SELECT * FROM DBA_USERS WHERE USERNAME = 'TEST_USER';

四、审计

4.1 审计开关

审计功能默认关闭,生产环境必须开启以满足合规要求:

-- 开启审计(1=开启,0=关闭) SP_SET_PARA_VALUE(1, 'ENABLE_AUDIT', 1); -- 验证审计是否开启 SELECT * FROM V$PARAMETER WHERE NAME = 'ENABLE_AUDIT';

4.2 审计级别

审计级别 审计内容 配置命令示例
系统级审计 数据库启动/关闭、配置变更等 AUDIT DATABASE;
语句级审计 某类SQL语句(如所有SELECT) AUDIT SELECT;
对象级审计 对特定表的操作 AUDIT SELECT ON “DMHR”.“EMPLOYEE”;

加固配置示例(等保三级推荐配置):

-- 系统级审计 AUDIT DATABASE; -- 语句级审计:审计DDL操作 AUDIT CREATE TABLE; AUDIT DROP TABLE; AUDIT ALTER TABLE; -- 审计用户管理操作 AUDIT CREATE USER; AUDIT DROP USER; AUDIT ALTER USER;

4.3 审计信息查看

-- 查询审计记录 SELECT USERNAME, -- 操作用户 SQL_TEXT, -- 执行的SQL OBJ_NAME, -- 操作对象 OPERATION_TYPE, -- 操作类型 OPERATION_TIME -- 操作时间 FROM V$AUDIT_RECORDS WHERE OPERATION_TIME >= SYSDATE - 1 -- 最近1天 ORDER BY OPERATION_TIME DESC;

4.4 审计文件管理

配置参数 作用 加固建议
AUDIT_FILE_PATH 审计文件存储路径 存放到独立磁盘分区
AUDIT_MAX_FILE_SIZE 单个审计文件最大大小 建议100MB~500MB
AUDIT_FILE_FULL_MODE 文件写满后的处理方式 建议1(覆盖旧文件)
-- 查看审计文件配置 SELECT * FROM V$PARAMETER WHERE NAME LIKE 'AUDIT%';

五、加固配置总结清单

本次学习涉及的安全加固配置项汇总如下:

序号 加固类别 配置项 推荐值
1 口令策略 PASSWORD_POLICY 15(大小写+数字+符号+长度≥15)
2 身份验证 验证模式 数据库身份验证
3 自主访问控制 最小权限原则 按需分配,定期回收
4 自主访问控制 PUBLIC权限 定期检查并回收多余权限
5 资源限制 SESSIONS_PER_USER 20(按业务调整)
6 资源限制 IDLE_TIME_LIMIT 30分钟
7 资源限制 CONNECT_TIME_LIMIT 480分钟
8 审计 ENABLE_AUDIT 1(开启)
9 审计 系统级审计 开启
10 审计 语句级审计 DDL+DCL操作审计

六、总结

通过本次学习和实践,对DM8数据库安全管理体系有了系统性认识。

DM8安全管理体系通过三道防线实现防御:

身份鉴别:通过用户与模式的一对一映射、口令策略、身份验证模式,确保只有合法用户能进入系统。

权限控制:通过三级权限管控(系统权限、对象权限、角色权限),遵循最小权限原则,确保用户只能做权限内的事。

资源与审计:通过Profile资源限制防止资源滥用,通过审计记录所有操作行为,确保事后可追溯。

小结:

1、安全是分层防御。从用户登录(口令策略+身份验证)→ 权限控制(三级权限管控)→ 操作追溯(审计),层层设防,缺一不可。

2、最小权限原则是核心。无论是用户权限还是角色权限,都应遵循“够用即可”的原则,过度授权是最大的安全隐患。

3、角色管理是提效关键。通过角色将权限模板化,可大幅降低权限管理的复杂度和出错概率。

4、审计是“安全后盾”。审计功能不能防御攻击,但能在事后准确定位问题源头,是合规检查和应急响应的关键依据。

5、加固需要结合实际。资源限制的阈值、审计的细粒度等,都需要根据业务场景灵活调整,不能生搬硬套。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服