当前位置: 首页 > article >正文

等保测评命令——达梦数据库 DM

根据GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》第三级安全计算环境条款结合达梦数据库 DM8官方安全指南及多家测评机构现场实践给出可直接落地的测评命令清单。已在DM8 2023Q4 / DM8 2024Q1环境验证通过支持Standalone / Data Watch / DMDSC / 读写分离集群部署模式。一、身份鉴别8.1.4.11.1 账户唯一性与密码策略控制项测评命令达标判据默认账户检查SELECT USERNAME, ACCOUNT_STATUS FROM SYS.DBA_USERS WHERE USERNAME IN (SYSDBA, SYS, SYSAUDITOR);修改初始密码状态为OPEN空口令检查SELECT USERNAME FROM SYS.DBA_USERS WHERE PASSWORD_VERSIONS IS NULL;无输出密码有效期SELECT USERNAME, EXPIRY_DATE FROM SYS.DBA_USERS WHERE PROFILEDEFAULT;≤90天密码复杂度SELECT * FROM SYS.DBA_PROFILES WHERE PROFILEDEFAULT AND RESOURCE_NAME LIKE %PASSWORD%;启用PWD_POLICY长度≥8复杂度要求密码历史SELECT RESOURCE_NAME, LIMIT FROM SYS.DBA_PROFILES WHERE RESOURCE_NAMEPASSWORD_REUSE_MAX;≥12次不可重复达梦特有配置# 查看密码策略参数 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAME LIKE %PWD_POLICY%; # 查看具体用户密码策略 SELECT USERNAME, PASSWORD_VERSIONS, LOCK_DATE, EXPIRY_DATE FROM SYS.DBA_USERS WHERE ACCOUNT_STATUSOPEN; # 查看用户锁定状态 SELECT USERNAME, ACCOUNT_STATUS, LOCK_DATE, EXPIRY_DATE FROM SYS.DBA_USERS WHERE ACCOUNT_STATUSLOCKED; # 查看审计用户SYSAUDITOR配置 SELECT USERNAME, ACCOUNT_STATUS FROM SYS.DBA_USERS WHERE USERNAMESYSAUDITOR;1.2 登录失败处理与会话超时控制项测评命令达标判据登录失败锁定SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEFAILED_LOGIN_ATTEMPTS;5-10次锁定时间SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEPASSWORD_LOCK_TIME;≥30分钟会话超时SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEIDLE_TIME;30-60分钟连接数限制SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEMAX_SESSIONS;根据业务设置达梦特有配置# 查看登录失败处理参数 SELECT PARA_NAME, PARA_VALUE, DESCRIPTION FROM V$DM_INI WHERE PARA_NAME IN (FAILED_LOGIN_ATTEMPTS, PASSWORD_LOCK_TIME, IDLE_TIME, CONN_IDLE_TIME); # 查看当前会话信息 SELECT SESS_ID, SQL_ID, STATE, CREATE_TIME, CLNT_IP, CURR_SCH FROM V$SESSIONS WHERE STATEACTIVE; # 查看空闲会话 SELECT SESS_ID, CLNT_IP, CURR_SCH, LAST_SEND_TIME FROM V$SESSIONS WHERE DATEDIFF(MINUTE, LAST_SEND_TIME, SYSDATE) 30; # 强制断开空闲会话测试用 -- ALTER SYSTEM KILL SESSION SESS_ID;1.3 远程管理安全# 查看监听配置 SELECT * FROM V$DM_INI WHERE PARA_NAME LIKE %LISTEN%; # 查看当前连接来源IP SELECT DISTINCT CLNT_IP, COUNT(*) AS CONN_COUNT FROM V$SESSIONS GROUP BY CLNT_IP ORDER BY CONN_COUNT DESC; # 查看是否启用SSL连接 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_ENCRYPT; # 查看通信加密配置 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAME LIKE %COMM_ENCRYPT%; # 查看管理工具IP限制通过登录触发器或防火墙 SELECT TRIGGER_NAME, STATUS FROM SYS.DBA_TRIGGERS WHERE TRIGGER_NAME LIKE %LOGIN%;高风险项SYSDBA允许远程直接登录、未启用通信加密、未配置登录IP白名单直接判定不符合三级要求。1.4 双因子认证高风险项测评方法访谈确认是否采用数据库密码堡垒机/动态口令组合认证技术核查# 检查是否配置证书认证 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_SSL; # 查看SSL证书配置 SELECT * FROM V$DM_INI WHERE PARA_NAME LIKE %SSL%; # 检查是否配置LDAP/AD集成 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAME LIKE %LDAP%; # 查看外部认证配置 SELECT * FROM SYS.DBA_EXTERNAL_AUTHENTICATION; # 检查是否配置操作系统认证 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_OS_AUTH;二、访问控制8.1.4.22.1 账户与权限管理控制项测评命令达标判据三权分立SELECT USERNAME, ACCOUNT_STATUS FROM SYS.DBA_USERS WHERE USERNAME IN (SYSDBA, SYSAUDITOR, SYSSSO);三个独立管理员账户角色分离SELECT GRANTEE, GRANTED_ROLE FROM SYS.DBA_ROLE_PRIVS WHERE GRANTEE IN (SYSDBA, SYSAUDITOR, SYSSSO);权限不重叠对象权限SELECT * FROM SYS.DBA_TAB_PRIVS WHERE GRANTEE NOT IN (PUBLIC, SYSDBA);最小权限原则系统权限SELECT * FROM SYS.DBA_SYS_PRIVS WHERE ADMIN_OPTIONYES;无滥用WITH ADMIN OPTION达梦三权分立核查# 达梦数据库三权分立核心检查 # SYSDBA: 数据库管理员系统管理 # SYSAUDITOR: 安全审计员审计管理 # SYSSSO: 安全保密员安全管理 -- 检查三权分立账户是否存在 SELECT USERNAME, ACCOUNT_STATUS, CREATED FROM SYS.DBA_USERS WHERE USERNAME IN (SYSDBA, SYSAUDITOR, SYSSSO); -- 检查权限分离关键 -- SYSDBA不应有审计权限 -- SYSAUDITOR不应有数据管理权限 -- SYSSSO不应有系统运维权限 -- 查看角色授予情况 SELECT GRANTEE, GRANTED_ROLE, ADMIN_OPTION FROM SYS.DBA_ROLE_PRIVS WHERE GRANTEE IN (SYSDBA, SYSAUDITOR, SYSSSO); -- 查看系统权限 SELECT GRANTEE, PRIVILEGE, ADMIN_OPTION FROM SYS.DBA_SYS_PRIVS WHERE GRANTEE IN (SYSDBA, SYSAUDITOR, SYSSSO); -- 查看对象权限 SELECT GRANTEE, OWNER, TABLE_NAME, PRIVILEGE FROM SYS.DBA_TAB_PRIVS WHERE GRANTEE IN (SYSDBA, SYSAUDITOR, SYSSSO);2.2 默认账户清理# 检查默认测试账户 SELECT USERNAME, ACCOUNT_STATUS FROM SYS.DBA_USERS WHERE USERNAME IN (TEST, DEMO, SCOTT, HR); # 检查示例模式 SELECT OWNER FROM SYS.DBA_TABLES WHERE OWNER IN (DMHR, BOOKSHOP, OTHER); # 锁定或删除不必要的账户 -- ALTER USER TEST ACCOUNT LOCK; -- DROP USER TEST CASCADE; # 检查PUBLIC角色权限应最小化 SELECT TABLE_NAME, PRIVILEGE FROM SYS.DBA_TAB_PRIVS WHERE GRANTEEPUBLIC; # 回收PUBLIC过度授权 -- REVOKE ALL ON SYS.DBA_USERS FROM PUBLIC;2.3 文件系统权限# 检查达梦安装目录权限Linux环境 ls -la $DM_HOME/ stat -c %a %U:%G $DM_HOME/ # 检查数据文件权限 ls -la $DM_HOME/data/ stat -c %a %U:%G $DM_HOME/data/DAMENG/ # 检查关键配置文件 stat -c %a %U:%G $DM_HOME/data/DAMENG/dm.ini stat -c %a %U:%G $DM_HOME/data/DAMENG/dm.ctl # 检查归档日志权限 ls -la $DM_HOME/arch/ stat -c %a %U:%G $DM_HOME/arch/ # 检查备份文件权限 ls -la $DM_HOME/bak/ stat -c %a %U:%G $DM_HOME/bak/ # 检查日志文件权限 ls -la $DM_HOME/log/ stat -c %a %U:%G $DM_HOME/log/dm_DW*.log 2/dev/null三、安全审计8.1.4.33.1 审计服务启用控制项测评命令达标判据审计开关SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEAUDIT_FLAG;1启用审计审计级别SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEAUDIT_LEVEL;2或3语句级或对象级审计日志模式SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEAUDIT_FILE_FULL_MODE;1按文件大小切换或2按时间切换审计日志保留SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEAUDIT_MAX_FILE_SIZE;≥50MB保留≥6个月达梦审计配置核查# 查看审计参数配置 SELECT PARA_NAME, PARA_VALUE, DESCRIPTION FROM V$DM_INI WHERE PARA_NAME LIKE %AUDIT%; # 关键审计参数说明 # AUDIT_FLAG: 0-关闭, 1-打开审计 # AUDIT_LEVEL: 0-不审计, 1-只审计成功, 2-语句级, 3-对象级 # AUDIT_FILE_FULL_MODE: 1-按大小切换, 2-按时间切换 # AUDIT_MAX_FILE_SIZE: 单个审计文件大小MB # 查看当前审计配置 SELECT * FROM V$AUDIT_CFG; # 查看审计记录需要SYSAUDITOR权限 SELECT * FROM V$AUDITRECORDS ORDER BY OPTIME DESC FETCH FIRST 20 ROWS ONLY; # 查看审计日志文件 SELECT * FROM V$AUDIT_FILES ORDER BY CREATE_TIME DESC; # 查看审计空间使用 SELECT PATH, TOTAL_SIZE, FREE_SIZE FROM V$DISK_SPACE WHERE PATH LIKE %AUDIT%;3.2 审计策略与内容# 查看系统级审计规则SYSAUDITOR执行 SELECT * FROM SYSAUDITOR.SYSAUDIT; # 查看语句级审计规则 SELECT * FROM SYSAUDITOR.SYSAUDITSQL; # 查看对象级审计规则 SELECT * FROM SYSAUDITOR.SYSAUDITOBJECT; # 查看审计用户 SELECT * FROM SYSAUDITOR.SYSAUDITUSER; # 配置关键操作审计示例 -- 审计所有DDL操作 AUDIT DDL; -- 审计特定表 AUDIT SELECT, INSERT, UPDATE, DELETE ON SCHEMA.TABLE; -- 审计特权用户 AUDIT ALL PRIVILEGES BY SYSDBA; -- 审计登录失败 AUDIT CONNECT WHENEVER NOT SUCCESSFUL;3.3 审计日志保护# 检查审计日志文件权限Linux ls -la $DM_HOME/data/DAMENG/AUDIT/ stat -c %a %U:%G $DM_HOME/data/DAMENG/AUDIT/*.log 2/dev/null | head -5 # 查看审计日志是否加密 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEAUDIT_ENCRYPT; # 查看审计日志是否压缩 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEAUDIT_COMPRESS; # 检查审计日志备份 ls -la /backup/dm/audit/ 2/dev/null || echo 审计备份目录不存在 # 查看审计日志分析工具 SELECT * FROM V$DM_INI WHERE PARA_NAME LIKE %AUDIT_ANALYZE%;四、入侵防范8.1.4.44.1 最小化安装与漏洞修复控制项测评命令达标判据版本检查SELECT * FROM V$VERSION;DM8 2023Q4无已知CVE补丁检查SELECT * FROM V$LICENSE;授权有效补丁最新参数安全SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_PL_DSQL;0禁用动态SQL功能最小化SELECT * FROM V$DM_INI WHERE PARA_NAME LIKE %ENABLE_%;禁用不必要功能达梦加固核查# 查看达梦版本信息 SELECT * FROM V$VERSION; SELECT * FROM V$LICENSE; # 查看数据库信息 SELECT DB_MAGIC, PERMANENT_MAGIC, CREATE_TIME FROM V$DATABASE; # 检查已知安全配置参数 SELECT PARA_NAME, PARA_VALUE, DESCRIPTION FROM V$DM_INI WHERE PARA_NAME IN ( ENABLE_PL_DSQL, -- 禁用动态SQL ENABLE_EXTERNAL_CALL, -- 禁用外部调用 ENABLE_OBJECT_REFERENCE, -- 禁用对象引用 ENABLE_BLOB_CMP_FLAG, -- BLOB比较标志 ENABLE_ENCRYPT -- 启用加密 ); # 检查通信参数 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAME IN ( PORT_NUM, -- 监听端口默认5236 LISTEN_IP, -- 绑定IP MAX_SESSIONS, -- 最大会话数 MAX_CONCURRENT_TRX, -- 最大并发事务 ENABLE_ENCRYPT -- 通信加密 ); # 检查是否修改默认端口 SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEPORT_NUM; # 建议生产环境不使用默认5236端口4.2 网络安全与通信加密# 查看监听配置 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMELISTEN_IP; # 查看端口配置 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEPORT_NUM; # 查看SSL/加密配置 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_ENCRYPT; SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMECOMM_ENCRYPT_NAME; SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMECOMM_ENCRYPT_MALG; # 查看当前连接加密状态 SELECT SESS_ID, CLNT_IP, ENCRYPT_MODE FROM V$SESSIONS WHERE ENCRYPT_MODE IS NOT NULL; # 查看防火墙配置Linux系统层 iptables -L -n | grep 5236 firewall-cmd --list-all | grep 5236 2/dev/null # 查看连接白名单通过登录触发器实现 SELECT TRIGGER_NAME, TRIGGER_TYPE, TRIGGER_EVENT FROM SYS.DBA_TRIGGERS WHERE TRIGGER_NAME LIKE %IP%;4.3 透明数据加密TDE# 查看透明加密配置 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_TDE; # 查看加密引擎配置 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMETDE_KEY_ID; SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMETDE_CIPHER; # 查看加密表空间 SELECT TABLESPACE_NAME, ENCRYPTED FROM SYS.DBA_TABLESPACES WHERE ENCRYPTEDYES; # 查看加密表 SELECT OWNER, TABLE_NAME, TABLESPACE_NAME FROM SYS.DBA_TABLES WHERE TABLESPACE_NAME IN ( SELECT TABLESPACE_NAME FROM SYS.DBA_TABLESPACES WHERE ENCRYPTEDYES ); # 查看加密列列级加密 SELECT OWNER, TABLE_NAME, COLUMN_NAME, ENCRYPTION_ALG FROM SYS.DBA_ENCRYPTED_COLUMNS; # 查看钱包状态 SELECT * FROM V$ENCRYPTION_WALLET;五、恶意代码防范8.1.4.5控制项测评命令达标判据外部表限制SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_EXTERNAL_CALL;0禁用文件访问审计SELECT * FROM SYSAUDITOR.SYSAUDIT WHERE AUDIT_TYPEFILE;审计文件操作存储过程安全SELECT OWNER, OBJECT_NAME FROM SYS.DBA_PROCEDURES WHERE AUTHIDDEFINER;检查定义者权限过程数据文件扫描clamscan $DM_HOME/data/定期扫描达梦恶意代码防范核查# 检查外部调用应禁用 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_EXTERNAL_CALL; SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_OBJECT_REFERENCE; # 检查外部表配置 SELECT * FROM SYS.DBA_EXTERNAL_TABLES; # 检查目录对象限制文件系统访问 SELECT * FROM SYS.DBA_DIRECTORIES; # 检查Java存储过程如启用 SELECT * FROM SYS.DBA_JAVA_POLICY; # 检查DBMS_LOB等大对象操作审计 SELECT * FROM SYSAUDITOR.SYSAUDIT WHERE AUDIT_NAME LIKE %LOB% OR AUDIT_NAME LIKE %FILE%; # 检查动态SQL执行应限制 SELECT PARA_NAME, PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_PL_DSQL; # 扫描数据文件Linux环境 clamscan -r --exclude*.DBF $DM_HOME/data/ 2/dev/null || echo ClamAV未安装六、可信验证8.1.4.6控制项测评命令达标判据安装包完整性rpm -V DM8或校验安装介质MD5无文件被篡改数据文件校验SELECT DB_MAGIC, PERMANENT_MAGIC FROM V$DATABASE;与基线一致配置签名SELECT * FROM V$DM_INI WHERE PARA_NAMECONFIG_SIGNATURE;启用配置签名启动完整性检查dm.ini和dm.ctl校验和未被非法修改达梦可信验证核查# 验证安装包完整性Linux rpm -V DM8 2/dev/null || echo RPM验证失败或未安装 md5sum $DM_HOME/bin/dmserver md5sum $DM_HOME/bin/disql # 查看数据库魔数防篡改检测基线 SELECT DB_MAGIC, PERMANENT_MAGIC, CREATE_TIME FROM V$DATABASE; # 查看控制文件信息 SELECT * FROM V$CONTROLFILE; # 查看参数文件 SELECT PARA_NAME, PARA_VALUE, DEFAULT_VALUE, ISDEFAULT FROM V$DM_INI WHERE ISDEFAULTN AND PARA_NAME NOT LIKE %PATH%; # 检查配置变更对比默认值 SELECT PARA_NAME, PARA_VALUE, DEFAULT_VALUE FROM V$DM_INI WHERE ISDEFAULTN AND PARA_TYPE IN (READ ONLY, IN FILE); # 查看许可证信息防止非法授权 SELECT * FROM V$LICENSE; # 计算关键配置文件哈希基线比对 sha256sum $DM_HOME/data/DAMENG/dm.ini /tmp/dm.ini.baseline 2/dev/null sha256sum $DM_HOME/data/DAMENG/dm.ctl /tmp/dm.ctl.baseline 2/dev/null七、数据备份与恢复8.1.4.9控制项测评命令达标判据备份策略SELECT * FROM V$BACKUPSET;定期全量增量备份归档模式SELECT ARCH_MODE FROM V$DATABASE;Y归档模式开启备份保留ls -la $DM_HOME/bak/保留≥3个周期≥6个月恢复测试CHECK BACKUPSET /path/to/backup;备份集校验通过达梦备份恢复核查# 查看数据库归档模式 SELECT ARCH_MODE FROM V$DATABASE; SELECT * FROM V$ARCHIVED_LOG ORDER BY RECID DESC FETCH FIRST 10 ROWS ONLY; # 查看备份集信息 SELECT * FROM V$BACKUPSET ORDER BY BACKUP_TIME DESC; # 查看备份历史 SELECT * FROM V$BACKUPSET_DBINFO; # 查看归档日志信息 SELECT * FROM V$ARCH_FILE ORDER BY CREATE_TIME DESC FETCH FIRST 20 ROWS ONLY; # 检查备份目录 ls -la $DM_HOME/bak/ ls -la $DM_HOME/arch/ # 检查备份脚本 cat /etc/cron.d/dm-backup 2/dev/null || crontab -l | grep disql # 手动执行备份检查 CHECK BACKUPSET $DM_HOME/bak/DB_FULL_20240101; # 查看定时备份作业通过DBMS_JOB或操作系统 SELECT * FROM SYS.DBA_JOBS WHERE WHAT LIKE %BACKUP%; # 检查Data Watch主备同步状态如配置 SELECT * FROM V$DW_INFO; SELECT * FROM V$DW_STAT;八、高可用与集群安全扩展8.1 Data Watch主备安全# 查看Data Watch配置 SELECT * FROM V$DW_INFO; # 查看主备同步状态 SELECT * FROM V$DW_STAT; # 查看归档发送状态 SELECT * FROM V$ARCH_SEND_INFO; # 查看归档接收状态 SELECT * FROM V$ARCH_RECV_INFO; # 查看守护进程配置 cat $DM_HOME/data/DAMENG/dmwatcher.ini 2/dev/null # 检查守护进程通信加密 grep DW_ENCRYPT $DM_HOME/data/DAMENG/dmwatcher.ini 2/dev/null8.2 DMDSC共享存储集群# 查看DMDSC集群状态 SELECT * FROM V$DSC_EP_INFO; # 查看集群节点信息 SELECT * FROM V$DSC_NODE_INFO; # 查看共享存储状态 SELECT * FROM V$ASMDISK; # 查看ASM磁盘组 SELECT * FROM V$ASMDISKGROUP; # 检查CSS集群同步服务 SELECT * FROM V$CSS_INFO;8.3 读写分离集群# 查看读写分离配置 SELECT * FROM V$RW_INFO; # 查看节点状态 SELECT * FROM V$RW_STAT; # 查看连接路由信息 SELECT * FROM V$RW_CONN_INFO;一键巡检脚本达梦数据库#!/bin/bash # 达梦数据库 DM8 等保三级一键巡检脚本 # 适用DM8 2023Q4 / 2024Q1 # 执行用户dmdba或root exportDM_HOME${DM_HOME:-/opt/dmdbms} exportPATH$DM_HOME/bin:$PATH exportLD_LIBRARY_PATH$DM_HOME/bin:$LD_LIBRARY_PATH DB_USER${DB_USER:-SYSDBA} DB_PASS${DB_PASS:-SYSDBA}# 生产环境应使用安全输入 DB_PORT${DB_PORT:-5236} DB_NAME${DB_NAME:-DAMENG} echo 达梦数据库 DM8 等保巡检报告 echo巡检时间: $(date%Y-%m-%d %H:%M:%S) echo服务器: $(hostname) echoDM_HOME: $DM_HOME echo数据库: $DB_NAMElocalhost:$DB_PORT echo # 检查disql可用 if!which disql /dev/null 21;then echo错误: disql命令未找到请检查DM_HOME配置 exit1 fi DISQLdisql $DB_USER/$DB_PASSlocalhost:$DB_PORT -e echo 1 身份鉴别 echo--- 数据库版本 --- $DISQLSELECT * FROM V\$VERSION;2/dev/null |head-10 echo--- 三权分立检查 --- $DISQLSELECT USERNAME, ACCOUNT_STATUS FROM SYS.DBA_USERS WHERE USERNAME IN (SYSDBA, SYSAUDITOR, SYSSSO);2/dev/null echo--- 密码策略 --- $DISQLSELECT PARA_NAME, PARA_VALUE FROM V\$DM_INI WHERE PARA_NAMEPWD_POLICY;2/dev/null echo--- 登录失败锁定 --- $DISQLSELECT PARA_NAME, PARA_VALUE FROM V\$DM_INI WHERE PARA_NAME IN (FAILED_LOGIN_ATTEMPTS, PASSWORD_LOCK_TIME);2/dev/null echo echo 2 访问控制 echo--- 数据目录权限 --- ls-ld$DM_HOME/data/DAMENG/ 2/dev/null ||echo数据目录不存在 echo--- 关键文件权限 --- stat-c%a %U:%G$DM_HOME/data/DAMENG/dm.ini 2/dev/null ||echodm.ini不存在 stat-c%a %U:%G$DM_HOME/data/DAMENG/dm.ctl 2/dev/null ||echodm.ctl不存在 echo--- 三权分立权限分离 --- $DISQLSELECT GRANTEE, GRANTED_ROLE FROM SYS.DBA_ROLE_PRIVS WHERE GRANTEE IN (SYSDBA, SYSAUDITOR, SYSSSO);2/dev/null |head-10 echo echo 3 安全审计 echo--- 审计开关 --- $DISQLSELECT PARA_NAME, PARA_VALUE FROM V\$DM_INI WHERE PARA_NAMEAUDIT_FLAG;2/dev/null echo--- 审计级别 --- $DISQLSELECT PARA_NAME, PARA_VALUE FROM V\$DM_INI WHERE PARA_NAMEAUDIT_LEVEL;2/dev/null echo--- 审计日志文件 --- ls-la$DM_HOME/data/DAMENG/AUDIT/ 2/dev/null |head-5||echo审计目录不存在 echo echo 4 入侵防范 echo--- 归档模式 --- $DISQLSELECT ARCH_MODE FROM V\$DATABASE;2/dev/null echo--- 通信加密 --- $DISQLSELECT PARA_NAME, PARA_VALUE FROM V\$DM_INI WHERE PARA_NAMEENABLE_ENCRYPT;2/dev/null echo--- 透明加密 --- $DISQLSELECT PARA_NAME, PARA_VALUE FROM V\$DM_INI WHERE PARA_NAMEENABLE_TDE;2/dev/null echo--- 监听端口 --- netstat-tulnp2/dev/null |grep dmserver |head-3|| ss -tulnp|grep:$DB_PORT2/dev/null |head-3 echo echo 5 数据备份 echo--- 备份集信息 --- $DISQLSELECT BACKUP_NAME, BACKUP_TIME, BACKUP_TYPE FROM V\$BACKUPSET ORDER BY BACKUP_TIME DESC FETCH FIRST 5 ROWS ONLY;2/dev/null echo--- 备份目录 --- ls-la$DM_HOME/bak/ 2/dev/null |head-5||echo备份目录不存在 echo--- 归档日志 --- $DISQLSELECT COUNT(*) AS ARCH_COUNT FROM V\$ARCHIVED_LOG WHERE CREATE_TIME SYSDATE - 7;2/dev/null echo echo 6 高风险项检查 RISKS0 # 检查1: 三权分立不完整 if!$DISQLSELECT 1 FROM SYS.DBA_USERS WHERE USERNAMESYSSSO;2/dev/null |grep-q1;then echo✗ 高风险: 未配置SYSSSO安全保密员三权分立不完整 ((RISKS)) fi # 检查2: 审计未启用 AUDIT_FLAG$($DISQL SELECT PARA_VALUE FROM V\$DM_INI WHERE PARA_NAMEAUDIT_FLAG;2/dev/null |grep-vPARA_VALUE\|-----|head-1|tr-d ) if[$AUDIT_FLAG!1];then echo✗ 高风险: 审计功能未启用AUDIT_FLAG$AUDIT_FLAG ((RISKS)) fi # 检查3: 归档未开启 ARCH_MODE$($DISQL SELECT ARCH_MODE FROM V\$DATABASE;2/dev/null |grep-vARCH_MODE\|-----|head-1|tr-d ) if[$ARCH_MODE!Y];then echo✗ 高风险: 归档模式未开启ARCH_MODE$ARCH_MODE ((RISKS)) fi # 检查4: 使用默认端口 if[$DB_PORT5236];then echo⚠ 中风险: 使用默认端口5236建议修改 fi # 检查5: 通信未加密 ENCRYPT$($DISQL SELECT PARA_VALUE FROM V\$DM_INI WHERE PARA_NAMEENABLE_ENCRYPT;2/dev/null |grep-vPARA_VALUE\|-----|head-1|tr-d ) if[$ENCRYPT!1][$ENCRYPT!2];then echo⚠ 中风险: 通信加密未启用ENABLE_ENCRYPT$ENCRYPT fi if[$RISKS-eq0];then echo未发现高风险项 ✓ else echo发现 $RISKS 项高风险请立即整改 fi echo echo 巡检完成 echo建议: 定期执行此脚本并将结果归档至 /backup/dm/audit/高风险项重点核查清单检查项验证命令不合规判定整改建议三权分立不完整SELECT USERNAME FROM SYS.DBA_USERS WHERE USERNAMESYSSSO;无SYSSSO用户创建SYSSSO安全保密员分离SYSDBA权限审计功能未启用SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEAUDIT_FLAG;返回0设置AUDIT_FLAG1配置AUDIT_LEVEL≥2归档模式未开启SELECT ARCH_MODE FROM V$DATABASE;返回N开启归档模式配置归档路径默认端口未修改SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEPORT_NUM;返回5236修改PORT_NUM为非默认端口通信加密未启用SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_ENCRYPT;返回0设置ENABLE_ENCRYPT1或2外部调用未禁用SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_EXTERNAL_CALL;返回1设置ENABLE_EXTERNAL_CALL0动态SQL未限制SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_PL_DSQL;返回1设置ENABLE_PL_DSQL0默认账户未清理SELECT USERNAME FROM SYS.DBA_USERS WHERE USERNAME IN (TEST, DEMO);存在测试账户锁定或删除测试账户PUBLIC过度授权SELECT * FROM SYS.DBA_TAB_PRIVS WHERE GRANTEEPUBLIC;业务表授权给PUBLICREVOKE PUBLIC权限TDE未启用敏感数据SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAMEENABLE_TDE;返回0有敏感数据时启用透明加密配置加密表空间达梦数据库版本差异对照功能项DM7DM8 2022DM8 2023Q4三权分立基础完善强制等保四级透明加密(TDE)表空间级表空间列级列级增强国密SM4审计功能基础审计语句级审计对象级审计实时分析通信加密SSLSSL国密国密SM2/SM3/SM4全栈等保合规需大量配置基础合规等保四级预置信创名录首批完善全栈信创集群高可用Data WatchDMDSCData Watch读写分离自动切换测评执行要点1. 权限要求所有命令需SYSDBA、SYSAUDITOR或SYSSSO用户执行三权分立核查需分别登录三个角色验证权限边界部分参数修改需重启数据库实例2. 现场核查重点三权分立验证SYSDBA不应能查询审计日志SYSAUDITOR不应能创建用户SYSSSO不应能修改数据国密算法应用检查是否使用SM2证书、SM3摘要、SM4加密替代国际算法审计不可抵赖审计日志只能由SYSAUDITOR查询且不可修改删除信创环境适配确认CPU鲲鹏/飞腾/龙芯/海光/兆芯/申威、操作系统麒麟/统信/欧拉兼容性3. 版本差异注意DM7三权分立基础需手动配置较多参数DM8 2022完善三权分立增强国密支持DM8 2023Q4等保四级预置配置强制三权分立推荐用于关键基础设施常用命令速查-- 连接数据库 disql SYSDBA/SYSDBAlocalhost:5236 disql SYSAUDITOR/SYSAUDITORlocalhost:5236-- 审计员 disql SYSSSO/SYSSSOlocalhost:5236-- 安全员 -- 基础信息 SELECT*FROM V$VERSION;-- 版本信息 SELECT*FROM V$LICENSE;-- 许可证 SELECT*FROM V$DATABASE;-- 数据库信息 SELECT*FROM V$INSTANCE;-- 实例状态 -- 用户与权限 SELECT*FROM SYS.DBA_USERS;-- 所有用户 SELECT*FROM SYS.DBA_ROLES;-- 所有角色 \du -- 用户列表disql命令 -- 会话与连接 SELECT*FROM V$SESSIONS;-- 会话信息 SELECT*FROM V$OPEN_STMT;-- 打开语句 SELECT*FROM V$SQL_HISTORY;-- SQL历史需启用 -- 审计查询SYSAUDITOR执行 SELECT*FROM V$AUDITRECORDS ORDERBY OPTIME DESC;-- 审计记录 SELECT*FROM V$AUDIT_FILES;-- 审计文件 -- 备份恢复 BACKUPDATABASEFULLTO/path/to/backup;-- 全量备份 BACKUPDATABASE INCREMENT TO/path/to/backup;-- 增量备份 CHECK BACKUPSET /path/to/backup;-- 检查备份集 RESTOREDATABASEFROM/path/to/backup;-- 恢复 -- 参数管理 SELECT*FROM V$DM_INI WHERE PARA_NAME参数名;-- 查询参数 ALTER SYSTEM SET参数名值;-- 修改动态参数 -- 修改静态参数需编辑dm.ini后重启 -- 集群管理Data Watch SELECT*FROM V$DW_INFO;-- Data Watch信息 SELECT*FROM V$DW_STAT;-- 同步状态 ALTERDATABASE MOUNT;-- 切换主备参考标准GB/T 22239-2019、GB/T 28448-2019、GM/T 0054-2018《信息系统密码应用基本要求》、达梦数据库安全管理员指南、达梦数据库DM8手册适用版本达梦数据库 DM8 2023Q4 / 2024Q1验证环境Standalone / Data Watch / DMDSC / 读写分离集群 / 信创环境鲲鹏/飞腾/龙芯/海光/兆芯/申威 麒麟/统信/欧拉

相关文章:

等保测评命令——达梦数据库 DM

根据 GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》第三级"安全计算环境" 条款,结合 达梦数据库 DM8 官方安全指南及多家测评机构现场实践,给出可直接落地的 测评命令清单。已在 DM8 2023Q4 / DM8 2024Q1 环境验证通过&#xff0…...

GinCdn内容分发系统V1.0.2发布:企业级CDN架构迎来节点监控全面升级

GinCdn内容分发系统V1.0.2发布:企业级CDN架构迎来节点监控全面升级引言在当今互联网高速发展的时代,内容分发网络(CDN)已成为保障网站和应用高性能、高可用的基础设施。2026年3月16日,GinCdn内容分发系统正式发布V1.0.…...

vue2.0 接入腾讯位置服务

Ip定位为例子(非精确定位场景)(https://lbs.qq.com/service/webService/webServiceGuide/position/webServiceIp) 步骤一:在腾讯申请key步骤二:在代码调用 方式一:手动封装 JSONP 函数 创建 uti…...

Spice Data招聘产品专员,聚焦餐饮数据服务

Spice Data招聘产品专员,明确岗位职责Spice Data正在招聘产品专员(应届毕业生),工作地点位于美国旧金山。该岗位要求应聘者具备较强的数据处理能力,需运用产品思维创建和维护数据映射,清理原始数据。同时&a…...

mathtype加载到WPS灰色无法使用

具体安装教程很多,步骤都是对的,我这只是说一下我安装好几次在自己电脑上的问题,就是把两个文件复制到startup之后,也安装了VBA,但是打开WPS文档还是灰的不能用,我搞了几次发现在工具选项卡里宏无法运行&am…...

规则引擎到底是什么?三分钟让你彻底搞懂

前言:你是不是也被这些词搞晕了?说实话,我刚接触"规则引擎"这个词的时候,也是一头雾水。那时候我在一家金融公司做技术,老板天天把"规则引擎"、"业务流程管理系统"、"决策引擎&quo…...

day02_Python开发环境部署与Python基础语法

写在前面 学习AI之前,Python是必备技能,所以接下来一段时间都会先讲Python的知识。本篇文章主要讲如何部署便于开发Python的环境,以及一些简单的Python入门语法。 我们正生活在一个AI飞速发展的时代,在学习这个领域,…...

Linux 命令:vgchange —— 修改卷组属性

1. 命令简介 vgchange 命令用于修改 Linux 逻辑卷管理器(LVM)中卷组(Volume Group)的属性。其主要功能是激活或停用卷组,这是管理 LVM 存储空间(如创建、删除逻辑卷或卷组)前的关键步骤。一个卷组必须处于非活动状态才能被安全删除。 2. 语法格式 shell vgchange [选…...

Bash脚本学习

1、第一行#!/bin/bash,表示sh脚本默认按bash运行2、set ex #命令失败时立即退出;打印执行的每一条命令 set -o pipefail #管道中任何一个命令失败都算失败3、basepath$(cd "$(dirname "$0")" && pwd) #获取脚本所在路径一、…...

Go 协程与线程性能对比

Go 协程与线程性能对比:轻量并发的革命 在现代高并发编程中,Go 协程(Goroutine)和传统线程(Thread)是两种核心的并发模型。Go 协程凭借其轻量级设计和高效的调度机制,逐渐成为开发者青睐的选择…...

环境测试(二):电动振动试验系统双臂跌落试验机

概述 正弦振动:又分为扫频振动(用于寻找产品的共振频率)和定频振动(用于评估产品在特定频率下的耐久性)。 随机振动:模拟真实世界中的复杂振动,如卡车运输颠簸、路面不平、发动机宽带噪声等&…...

【2026远程技术服务推荐】分子对接代理、分子动力学指导、虚拟筛选与软件安装、生物信息分析 系统重装

远程技术服务推荐:分子对接、分子动力学、虚拟筛选、生物信息分析与各类软件环境安装 一、简介 智澈乐尚网络工作平台 目前向广大研友长期提供 远程技术服务 的平台,主要面向有以下需求的用户: 分子对接:AutoDock、AutoDock Vi…...

草莓遗传转化

草莓遗传转化体系成熟,主要采用农杆菌介导法,以叶盘或子叶为外植体再生转基因植株,森林草莓(如Hawaii 4)转化效率可显著提升至对照的2–3倍,常用于抗病和品质改良。 主流方法比较 方法 外植体 优点 …...

刷题统计【牛客tracker 每日一题】

刷题统计 时间限制:1秒 空间限制:256M 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题…...

python+Ai技术框架的美食交流宣传系统的设计与实现django flask

目录PythonAI技术框架的美食交流宣传系统设计与实现技术选型分析系统核心模块设计Django实现方案Flask实现方案AI集成方案部署架构设计开发路线图关键技术点性能优化建议测试方案项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方…...

基于金枪鱼群算法优化BP神经网络(TSO-BP)在多输出数据回归预测中的应用及Matlab代码实现

基于金枪鱼群算法优化BP神经网络(TSO-BP)的多输出数据回归预测TSO-BP多输出数据回归 matlab代码注:暂无Matlab版本要求--推荐2018B版本及以上金枪鱼群算法(TSO)遇上BP神经网络会发生什么化学反应?最近在折腾多输出数据回归预测时发…...

COMSOL电池组优化:高倍率充放电下的PCM相变技术结合液冷散热系统

comsol电池组高倍率充放电下PCM(相变)结合液冷散热(COMSOL6.2版本,慎)电池组高倍率充放电时,散热就像给狂奔的野马套缰绳——搞不好直接炸给你看。传统液冷虽然能打,但遇到电流密度飙升的工况,散热速度容易…...

路由器成“二传手”?eNSP实战:一台DHCP服务器如何管遍全网段!(附抓包详解)

摘要 在大型企业网络中,如果每个网段都配一台DHCP服务器,成本高昂且管理混乱。那么,如何用一台DHCP服务器,为多个不同网段的终端自动分配IP地址?答案就是 DHCP中继代理(DHCP Relay)。 本文将摒弃枯燥的理论堆砌,通过华为eNSP模拟器进行实战。我们将搭建“DHCP服务器+…...

【深度学习实战】巧用“噪声”画出心脏:扩散模型(Diffusion Model)在超声影像合成中的破局

白色笔记科研分享,源码或云运行请移步白色笔记 在深度学习中,如果我们缺乏真实的生产数据来测试系统,通常会编写“Mock数据”或使用“Fuzzer(模糊测试)”来生成模拟输入。但在医学影像分析领域,获取带标注的…...

Meta羊驼LLaMA的崛起与争议:开源AI的史诗级故事

本文相对于 DeepSeek 那一版要简单一些,相关知识涉猎不多,故事性要更强一些。只当这篇文章是一个乐子去看,也是极佳。 正文约 14000 字,精读约 36 分钟,建议收藏再看,避免迷路~根据 0/3/1 的高票选择&#…...

操作步骤分享:DeepSeek转Word文档的正确步骤

在撰写学术论文或技术报告时,将DeepSeek生成的数学公式正确转移到Word文档中,可按以下步骤操作。 一、网页端操作流程 1. 生成规范内容 对话时明确要求:“请用LaTeX语法编写数学公式,并用$$符号包裹。” 2. 正确复制内容 获取回…...

51单片机按键控制LED移位

文章目录 一、项目概要 二、硬件设计 三、软件设计 四、编译与下载 五、小结 一、项目概要 本项目基于51单片机,实现两组独立LED灯通过4个独立按键分别控制上下循环移动功能。按键采用低电平有效触发,LED低电平点亮,灯珠移动到头后自动…...

软件闪退处理流程

软件“闪退”(Crash)是软件开发和运维中最棘手的问题之一,因为它通常意味着进程非正常终止,用户来不及看到错误提示。在光伏逆变器监控、数据采集或上位机软件中,闪退可能导致数据丢失或监控中断,后果严重。…...

微网里的风电光伏总像青春期小孩——间歇性抽风。搞共享储能就像给熊孩子们找了个充电宝,但怎么配这个充电宝才不浪费钱?咱们直接上硬菜

考虑微网新能源经济消纳的共享储能优化配置 共享储能是可再生能源实现经济消纳的解决方案之一,在适度的投资规模下,应尽力实现储能电站容量功率与消纳目标相匹配。 对此,提出了考虑新能源消纳的共享储能电站容量功率配置方法,针对…...

WRF安装解决报错

1.参考链接:https://blog.csdn.net/ME1010/article/details/129914778 2.报错: (1)刚开始在服务器安装,因为没有sudo权限,怕修改环境变量影响了其他人,同时因为安装报错 就在本地安装 &#…...

相对于打工的职场,创业就是一个炼狱场,打破你原有的价值观和世界观,到处充满了人性的丑陋一面,自私、贪婪,欲望,虚伪、权谋.... 然后,正是因为人性的丑陋,诚信和坦诚在商业中才显得尤为可贵。

创业炼狱:在人性深渊里,诚信是唯一的救赎如果说打工是在一个被规则保护好的“温室”里修剪枝叶,那么创业就是把你赤身裸体地扔进原始森林的“炼狱”。在这里,没有HR来调解纠纷,没有制度来兜底失误,更没有“…...

Simplorer与Maxwell电机联合仿真,包含搭建好的Simplorer电机场路耦合主电...

Simplorer与Maxwell电机联合仿真,包含搭建好的Simplorer电机场路耦合主电路与控制算法(矢量控制SVPWM),包含电路与算法搭建的详细教程视频。 仿真文件,可将教程中的电机模型换成自己的电机模型最近在搞电机控制的朋友应…...

基于springboot专家库评审管理系统设计与开发(源码+精品论文+答辩PPT等资料)

博主介绍:CSDN毕设辅导第一人、靠谱第一人、全网粉丝50W,csdn特邀作者、博客专家、腾讯云社区合作讲师、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交…...

能用脚本就别用Agent。

今天早上发了那篇文章以后,有很多朋友跟我讨论。发现大家问得最多的一个问题是,你天天说Agent和Skills是未来,那你自己平时干活是不是什么都丢给Agent?我说实话,还真不是。正好借这个机会我再补充一下,因为…...

1Password Unified Access:应对 AI 代理凭证管理挑战

1Password 推出 Unified Access 破解 AI 代理凭证管理难题随着 AI 代理在企业环境中的广泛应用,其需要访问关键系统和数据集,这就涉及到密钥、密码、API 密钥等各种凭证的使用。然而,目前缺乏统一的系统来管理代理的访问权限,开发…...