注册
达梦数据库XC安全加固
专栏/技术分享/ 文章详情 /

达梦数据库XC安全加固

Coisini. 2025/08/29 6 0 0
摘要

一、身份鉴别

1. 口令强度策略不够完善

--查看密码策略
SELECT PARA_NAME ,PARA_VALUE FROM V$DM_INI WHERE "V$DM_INI".PARA_NAME = 'PWD_POLICY'
--修改密码策略(只针对新的用户生效)  
ALTER SYSTEM SET ‘PWD_POLICY’=31  BOTH;  
--查看密码过期策略
SELECT A.USERNAME,B.LIFE_TIME ,GRACE_TIME FROM  ALL_USERS A  ,SYSUSERS B WHERE A.USER_ID =B.ID
--修改密码有效期90天,宽限期30天
 ALTER USER  用户名  LIMIT PASSWORD_LIFE_TIME 90, PASSWORD_GRACE_TIME 30;  

2. 无登录失败处理功能

--查看失败处理策略
SELECT A.USERNAME,B.LOCK_TIME , b.FAILED_ATTEMPS ,b.CONN_IDLE_TIME FROM  ALL_USERS A  ,SYSUSERS B WHERE A.USER_ID =B.ID  
--修改用户登录失败三次,锁定1分钟,空闲连接时间10分钟
ALTER USER 用户名  LIMIT PASSWORD_LOCK_TIME 1 , FAILED_LOGIN_ATTEMPS 3 ,CONNECT_IDLE_TIME 10; 

3. 远程管理时未采用加密措施

--使用SSL认证登录需要用户自己提供相关的SSL证书。
--使用配通讯加密算法进行通讯加密(需要重启数据库生效)
ALTER SYSTEM SET 'COMM_ENCRYPT_NAME'='DES_CFB' SPFILE;
--可以使用的加密算法查询
SELECT * FROM V$CIPHERS;

二、访问策略

4. 未实现操作系统和数据库特权用户权限分离

--创建普通用户语句。
CREATE USER 用户名 IDENTIFIED BY "密码";
--授权
GRANT RESOURCE,PUBLIC,VTI,SOI TO 用户;

三、安全审计(SYSAUDITOR)

5. 数据库审计开启

--开启数据审计
SP_SET_ENABLE_AUDIT (1);
--添加审计规则(SYSDBA/SYSAUDITOR添加,用户审计、用户实施DDL审计、用户实施DML审计、用户的权限更改审计,相关数据操作员添加,用户审计、用户实施DDL审计、用户的权限更改审计)。
--用户审计
--添加用户创建/修改/删除用户操作的审计
SP_AUDIT_STMT('USER', '用户名', 'ALL');
--添加用户登陆登出的审计
SP_AUDIT_STMT('CONNECT', '用户名', 'ALL'
--用户权限的更改审计
--添加用户回收权限操作
SP_AUDIT_STMT('REVOKE', '用户名' , 'ALL');
--添加用户授权授予权限操作
SP_AUDIT_STMT('GRANT', '用户名', 'ALL');
--用户实施DML操作审计
--添加用户表上删除的权限
SP_AUDIT_STMT('DELETE TABLE', '用户名', 'ALL');
--添加用户表上更新的权限
SP_AUDIT_STMT('UPDATE TABLE', '用户名', 'ALL');
--添加用户调用存储过程或函数操作
SP_AUDIT_STMT('EXECUTE PROCEDURE', '用户名', 'ALL');
--添加用户表上查询的权限
SP_AUDIT_STMT('SELECT TABLE', '用户名', 'ALL');
--添加用户表上插入的权限
SP_AUDIT_STMT('INSERT TABLE', '用户名', 'ALL');
--用户实施DDL操作审计
--添加用户创建/删除角色操作
SP_AUDIT_STMT('ROLE', '用户名', 'ALL');
--添加用户创建/删除/设置当前模式操作
SP_AUDIT_STMT('SCHEMA', '用户名', 'ALL');
--添加用户创建/删除包规范
SP_AUDIT_STMT('PACKAGE', '用户名', 'ALL');
--添加用户创建/删除包规范
SP_AUDIT_STMT('PACKAGE BODY', '用户名', 'ALL');
--添加用户创建/修改/删除/清空基表操作
SP_AUDIT_STMT('TABLE', '用户名', 'ALL');
--添加用户创建/删除索引操作
SP_AUDIT_STMT('INDEX', '用户名', 'ALL');
--添加用户创建/修改/删除视图操作
SP_AUDIT_STMT('VIEW', '用户名', 'ALL');
--添加用户创建/修改/删除触发器操作
SP_AUDIT_STMT('TRIGGER', '用户名', 'ALL');
--添加用户创建/修改/删除存储模块操作
SP_AUDIT_STMT('PROCEDURE', '用户名', 'ALL');
--添加用户创建/修改/删除全文索引操作
SP_AUDIT_STMT('CONTEXT', '用户名', 'ALL');
--添加用户创建/修改/删除序列操作
SP_AUDIT_STMT('SEQUENCE', '用户名', 'ALL');

6. 数据库审计日志查看

--查看审计日志
SELECT * FROM "SYSAUDITOR"."V$AUDITRECORDS";

7. 审计日志文件定时备份

--本地磁盘空间充足,可以保留180天。
--备份通过操作系统命令定时将数据库实例目录下AUDIT开头的日志文件拷贝走。
--审计日志路径(默认数据库实例目录)
SELECT * FROM V$DM_INI WHERE "V$DM_INI".PARA_NAME LIKE 'AUD_PATH%'

四、入侵规范

8. 未限制对设备的访问控制规则

--添加允许IP地址连接用户登录数据库(做好记录服务器本地也需要相应IP登录)
ALTER USER "用户名" ALLOW_IP "IP地址";
--查看允许登录IP。
SELECT A.USERNAME,B.LOCK_TIME , b.ALLOW_ADDR FROM  ALL_USERS A,SYSUSERS B WHERE A.USER_ID = B.ID;

五、数据完整性

9. 未采用密码技术进行通信完整性验证

--使用SSL认证登录需要用户自己提供相关的SSL证书。
--使用配通讯加密算法进行通讯加密(需要重启数据库生效)
ALTER SYSTEM SET 'COMM_ENCRYPT_NAME'='DES_CFB' SPFILE;
--可以使用的加密算法查询
SELECT * FROM V$CIPHERS;

六、数据保密性

10. 未对重要数据进行加密传输

--参考数据完整性 五、9

11. 未对重要数据进行加密存储

--相关重要字段的加密存储参考数据库安全管理手册(存储加密)

七、个人信息保护

12. 数据库对个人信息明文存储

--相关重要字段的加密存储参考数据库安全管理手册(存储加密)
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服