达梦数据库等保评测-数据库安全问题整改项


一、身份鉴别类

1. 密码策略

-- 查询当前密码策略
SELECT * FROM V$DM_INI WHERE PARA_NAME ='PWD_POLICY';

-- 修改为31(1+2+4+8+16)
SP_SET_PARA_VALUE(1,'PWD_POLICY',31);
  • ​策略说明
    0=无策略 | 1=禁止与用户名相同 | 2=长度≥9
    4=含大写字母 | 8=含数字 | 16=含标点符号
    注:COMPATIBLE_MODE=1时强制为0

2. 用户密码有效期与资源限制

-- 修改用户CCC配置
ALTER USER "CCC" LIMIT 
  CONNECT_IDLE_TIME 10, 
  FAILED_LOGIN_ATTEMPTS 5, 
  PASSWORD_LIFE_TIME 100, 
  PASSWORD_LOCK_TIME 10, 
  CONNECT_TIME 10;

-- 查询资源限制
SELECT D.USERNAME, CONN_IDLE_TIME, FAILED_NUM, LIFE_TIME, LOCK_TIME, ALLOW_ADDR 
FROM SYSUSERS S, DBA_USERS D WHERE S.ID = D.USER_ID;

-- 查询账号修改时间
SELECT B.USERNAME, A.MODIFIED_TIME 
FROM SYS.SYSPWDCHGS A FULL JOIN DBA_USERS B ON A.LOGINID = B.USER_ID;

3. 用户身份验证模式

  • ​数据库身份验证:需设置用户口令
  • ​外部认证:支持操作系统/LDAP/Kerberos
    详见《DM8安全管理》2.3章

二、访问控制

1. 权限分离

-- 三权分立(默认): SYSDBA/SYSSSO/SYSAUDITOR
-- 四权分立(安全版本): 新增SYSDBO

2. 最小权限原则

-- 查询用户权限
SELECT * FROM DBA_ROLE_PRIVS;  -- 角色权限
SELECT * FROM DBA_TAB_PRIVS;   -- 表权限

3. 强制访问控制

SELECT SESS_PER_USER, FAILED_NUM, PWD_POLICY FROM SYSUSERS;

详见《DM8安全管理》4.8章


三、安全审计

1. 开启审计

-- DM7开启(SYSDBA执行)
SP_SET_PARA_VALUE(1,'ENABLE_AUDIT',1);

-- DM8开启(SYSAUDITOR执行)
SP_SET_ENABLE_AUDIT(1);  -- 0:关闭 1:普通审计 2:普通+实时审计

-- 查询状态
SELECT * FROM V$DM_INI WHERE PARA_NAME='ENABLE_AUDIT';

2. 审计配置

-- 审计所有操作
SP_AUDIT_STMT('ALL', 'NULL', 'ALL');

-- 查看审计记录
SELECT * FROM V$AUDITRECORDS;

-- 日志管理
SP_SET_PARA_VALUE(1,'AUDIT_MAX_FILE_SIZE',200);  -- 改为200M
SP_DROP_AUDIT_FILE('2019-12-6 16:30:00',0);      -- 删除过期日志

四、入侵防范

1. 客户端限制

-- IP白名单配置
ALTER USER "DMHR" ALLOW_IP "127.0.0.1","223.254.7.206","223.254.7.*";

-- 查询白名单
SELECT DU.USERNAME, ALLOW_ADDR 
FROM DBA_USERS DU, SYSUSERS SU 
WHERE DU.USER_ID=SU.ID;

五、数据安全

1. 通信加密

SP_SET_PARA_STRING_VALUE(2,'COMM_ENCRYPT_NAME','DES_CFB'); 

支持算法:SELECT * FROM V$CIPHERS;


2. 存储加密

# 全库加密(初始化时执行)
./dminit path=/dmdata/dmdb encrypt_name=AES256_CBC

# 表空间加密
CREATE TABLESPACE test DATAFILE 'test.dbf' SIZE 50 ENCRYPT WITH AES256_ECB;

六、备份恢复

1. 物理备份

BACKUP DATABASE FULL BACKUPSET 'd:\bak_full_01';  -- 备份
RESTORE DATABASE 'c:\data\DAMNEG\dm.ini' FROM BACKUPSET 'd:\bak_full_01';  -- 还原

七、剩余信息保护

-- 启用客体重用
SP_SET_PARA_VALUE(2,'ENABLE_OBJ_REUSE',1);  -- 需重启生效

-- 查询状态
SELECT * FROM V$DM_INI WHERE PARA_NAME='ENABLE_OBJ_REUSE';
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐