等保测评命令——神州数据库

admin 2026-05-11 08:04:32 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文基于GB/T22239-2019等保三级要求,提供了神州数据库(ShenzhouDBV2.0-V4.0)的等保测评命令清单。文档详细列出了身份鉴别、访问控制、安全审计等核心安全要求的核查命令与达标判据,涵盖密码策略、SSL加密、三权分立、敏感数据保护等关键技术点,并包含神州数据库特有的国密支持、透明加密等扩展功能配置指南。 综合评分: 85 文章分类: 技术标准,安全建设,应用安全,数据安全,网络安全


cover_image

等保测评命令——神州数据库

Sec Online

2026年5月9日 10:30 上海

在小说阅读器读本章

去阅读

以下文章来源于汪汪虚拟空间 ,作者初恋是小马

汪汪虚拟空间 .

汪汪·虚拟空间|专注学习分享这里有计算机、数学、英语等干货笔记愿你在这里,找到需要的知识,遇见更好的自己

各位大佬,想看那种网络设备/操作系统/数据库/中间件的测评命令清单,可在留言区留言,我会以最快速度给你们总结,然后发出来!

依据 GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》第三级”安全计算环境” 条款,结合神州数据库官方安全指南及现场测评实践。

适用版本:ShenzhouDB V2.0 / V3.0 / V4.0(基于PostgreSQL 11/12/14深度定制)


一、身份鉴别(8.1.4.1)

1.1 数据库账户与口令策略

| 控制项 | 测评命令 | 达标判据 | | — | — | — | | 超级管理员账户 | szsql -U szadmin -c "SELECT * FROM pg_user WHERE usesysid=10;" | szadmin账户受控 | | 空口令检查 | szsql -U szadmin -c "SELECT usename FROM pg_user WHERE passwd IS NULL;" | 无输出 | | 弱口令检查 | szsql -U szadmin -c "SELECT usename FROM pg_shadow WHERE passwd LIKE '%md5%' AND length(passwd)<35;" | 无输出 | | 密码复杂度 | szsql -U szadmin -c "SHOW passwordcheck.enable;" | on | | 密码有效期 | szsql -U szadmin -c "SELECT usename, valuntil FROM pg_shadow WHERE valuntil IS NOT NULL;" | ≤90天 | | 密码历史 | szsql -U szadmin -c "SHOW sz_password_reuse_max;" | ≥5次 | | 登录失败锁定 | szsql -U szadmin -c "SHOW sz_login_lock_max_failed;" | ≤5次 | | 锁定时间 | szsql -U szadmin -c "SHOW sz_login_lock_duration;" | ≥30分钟 |

神州数据库特有配置:

# 连接数据库(需先切换到szuser用户或配置环境变量)
su&nbsp;- szuser
szsql&nbsp;-U&nbsp;szadmin&nbsp;-d&nbsp;szdb&nbsp;-W

# 查看所有用户及状态
SELECT usename, usesuper, usecreatedb, valuntil,
&nbsp; &nbsp; &nbsp; &nbsp;CASE WHEN&nbsp;passwd&nbsp;LIKE&nbsp;'md5%'&nbsp;THEN&nbsp;'md5'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WHEN&nbsp;passwd&nbsp;LIKE&nbsp;'SCRAM-SHA-256%'&nbsp;THEN&nbsp;'scram-sha-256'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ELSE&nbsp;'其他'&nbsp;END as pwd_type,
passwd&nbsp;IS NULL as is_empty
FROM pg_user;

# 查看密码策略详细配置(神州特有插件)
SHOW passwordcheck;
SHOW passwordcheck.min_length;&nbsp; &nbsp; &nbsp; &nbsp; -- 最小长度≥8
SHOW passwordcheck.min_upper;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 大写字母≥1
SHOW passwordcheck.min_lower;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 小写字母≥1
SHOW passwordcheck.min_digit;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 数字≥1
SHOW passwordcheck.min_special;&nbsp; &nbsp; &nbsp; &nbsp;-- 特殊字符≥1

# 查看神州数据库特有安全参数
SHOW sz_security;
SHOW sz_login_lock;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 登录失败锁定开关
SHOW sz_login_lock_max_failed;&nbsp; &nbsp; &nbsp; &nbsp; -- 最大失败次数(默认5)
SHOW sz_login_lock_duration;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 锁定时间(秒,默认1800)
SHOW sz_login_lock_auto_unlock;&nbsp; &nbsp; &nbsp; &nbsp;-- 是否自动解锁

# 查看被锁定的用户(神州特有视图)
SELECT * FROM sz_login_lock_status WHERE is_locked&nbsp;=true;

# 查看用户密码过期信息
SELECT usename,
&nbsp; &nbsp; &nbsp; &nbsp;CASE WHEN valuntil&nbsp;<&nbsp;NOW()&nbsp;THEN&nbsp;'已过期'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WHEN valuntil&nbsp;<&nbsp;NOW()&nbsp;+ INTERVAL&nbsp;'7 days'&nbsp;THEN&nbsp;'即将过期'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ELSE&nbsp;'正常'&nbsp;END as pwd_status,
&nbsp; &nbsp; &nbsp; &nbsp;valuntil as expire_time
FROM pg_shadow
WHERE valuntil IS NOT NULL;

1.2 远程管理与连接控制

| 控制项 | 测评命令 | 达标判据 | | — | — | — | | 监听地址 | cat ${SZDATA}/postgresql.conf | grep listen_addresses | 非’*’或限定IP | | 端口检查 | ss -tulnp | grep 5432 | 默认5432,可修改 | | SSL连接 | szsql -U szadmin -c "SHOW ssl;" | on | | 国密SSL | szsql -U szadmin -c "SHOW sz_ssl_gm;" | on(神州特有) | | 客户端证书 | ls -la ${SZDATA}/server.crt | 存在且权限600 | | 最大连接数 | szsql -U szadmin -c "SHOW max_connections;" | 根据业务配置 |

神州数据库特有配置:

# 查看数据库监听配置
cat${SZDATA}/postgresql.conf&nbsp;|grep-E'listen_addresses|port|ssl'

# 查看SSL详细配置
SHOW ssl_cert_file;&nbsp; &nbsp; &nbsp; -- 证书路径
SHOW ssl_key_file;&nbsp; &nbsp; &nbsp; &nbsp;-- 私钥路径
SHOW ssl_ca_file;&nbsp; &nbsp; &nbsp; &nbsp; -- CA证书
SHOW ssl_crl_file;&nbsp; &nbsp; &nbsp; &nbsp;-- 吊销列表
SHOW ssl_ciphers;&nbsp; &nbsp; &nbsp; &nbsp; -- 加密算法

# 查看神州数据库国密SSL配置(V3.0+支持)
SHOW sz_ssl_gm;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 国密SSL开关
SHOW sz_ssl_gm_cert_file;&nbsp; &nbsp; -- 国密证书
SHOW sz_ssl_gm_key_file;&nbsp; &nbsp; &nbsp;-- 国密私钥
SHOW sz_ssl_gm_ciphers;&nbsp; &nbsp; &nbsp; -- 国密算法套件(SM2/SM3/SM4)

# 查看当前连接情况
SELECT client_addr, usename, state, backend_start, query_start,
&nbsp; &nbsp; &nbsp; &nbsp;ssl, ssl_version, ssl_cipher, ssl_client_dn
FROM pg_stat_activity
WHERE client_addr IS NOT NULL;

# 查看认证配置文件(神州数据库支持pg_hba.conf扩展)
cat${SZDATA}/pg_hba.conf
# 核查要点:
# - 拒绝trust认证方式
# - 拒绝host all all 0.0.0.0/0 md5
# - 采用hostssl强制SSL连接
# - 优先使用scram-sha-256认证

# 查看神州数据库扩展认证方式
cat${SZDATA}/sz_hba.conf&nbsp;2>/dev/null &nbsp;# 神州特有扩展认证配置

1.3 双因子认证(高风险项)

# 检查是否启用证书认证
cat${SZDATA}/pg_hba.conf&nbsp;|grep&nbsp;cert
cat${SZDATA}/sz_hba.conf&nbsp;2>/dev/null&nbsp;|grep&nbsp;cert

# 检查是否集成外部认证(LDAP/RADIUS/AD)
SHOW ldapserver;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- LDAP服务器
SHOW ldapport;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- LDAP端口
SHOW ldapbasedn;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- LDAP基础DN

# 检查RADIUS认证配置(神州特有)
SHOW sz_radius_server;
SHOW sz_radius_secret;
SHOW sz_radius_port;

# 检查国密证书认证(神州特有)
SHOW sz_gm_cert_auth;
cat${SZDATA}/sz_cert.conf&nbsp;2>/dev/null &nbsp;# 国密证书映射配置

# 检查审计是否记录认证事件
SHOW log_connections;
SHOW log_disconnections;
SHOW sz_audit_log_auth;&nbsp; &nbsp;-- 神州特有认证审计开关

二、访问控制(8.1.4.2)

2.1 账户权限管理

| 控制项 | 测评命令 | 达标判据 | | — | — | — | | 超级用户数量 | szsql -U szadmin -c "SELECT usename FROM pg_user WHERE usesuper='t';" | ≤2个 | | 默认账户处理 | szsql -U szadmin -c "SELECT usename FROM pg_user WHERE usename IN ('szadmin', 'szuser', 'postgres');" | 已修改默认口令 | | 角色分离 | szsql -U szadmin -c "SELECT rolname FROM pg_roles;" | 存在安全管理员、审计管理员 | | 权限授予 | szsql -U szadmin -c "\dp *.*" | 最小权限原则 |

神州数据库特有配置:

# 查看三权分立配置(神州数据库核心安全特性)
SHOW sz_sepofpowers;&nbsp; -- 是否启用三权分立

# 查看安全管理员(szsso)配置
szsql&nbsp;-U&nbsp;szsso&nbsp;-c"SELECT current_user;"

# 查看审计管理员(szsao)配置
szsql&nbsp;-U&nbsp;szsao&nbsp;-c"SELECT current_user;"

# 查看系统管理员(szadmin)权限限制
-- 启用三权分立后,szadmin不能查看审计日志,不能修改安全策略

# 查看所有角色及成员关系
SELECT r.rolname, r.rolsuper, r.rolinherit,
&nbsp; &nbsp; &nbsp; &nbsp;ARRAY(SELECT b.rolname
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FROM pg_catalog.pg_auth_members m
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;JOIN pg_catalog.pg_roles b ON&nbsp;(m.roleid&nbsp;=&nbsp;b.oid)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;WHERE m.member&nbsp;=&nbsp;r.oid)&nbsp;as memberof
FROM pg_catalog.pg_roles r
WHERE r.rolname&nbsp;!~&nbsp;'^pg_';

# 查看对象权限详情
SELECT grantor, grantee, table_schema, table_name, privilege_type
FROM information_schema.table_privileges
WHERE grantee NOT IN&nbsp;('PUBLIC',&nbsp;'szadmin');

# 检查PUBLIC角色权限(应回收PUBLIC对敏感表的权限)
SELECT * FROM information_schema.table_privileges WHERE&nbsp;grantee='PUBLIC';

# 查看神州数据库特有安全角色
SELECT rolname FROM pg_roles WHERE rolname LIKE&nbsp;'sz_%';
-- sz_security_admin: 安全管理员角色
-- sz_audit_admin: 审计管理员角色
-- sz_backup_admin: 备份管理员角色

2.2 敏感数据访问控制

# 查看行级安全策略(RLS)配置
SELECT schemaname, tablename, rowsecurity FROM pg_tables WHERE&nbsp;rowsecurity=true;

# 查看具体RLS策略
SELECT * FROM pg_policies;

# 查看列级加密配置(神州数据库特有透明加密)
SHOW sz_transparent_encrypt;
SHOW sz_transparent_encrypt_kms_url;&nbsp; &nbsp; -- 密钥管理服务URL
SHOW sz_transparent_encrypt_algorithm;&nbsp; -- 加密算法(SM4/AES256)

# 查看加密表空间
SELECT spcname, spcencrypt FROM pg_tablespace WHERE spcencrypt&nbsp;=true;

# 查看数据脱敏配置(神州数据库特有动态脱敏)
SELECT * FROM sz_redaction_policies;
SELECT * FROM sz_redaction_columns;

# 查看脱敏策略详情
SELECT policy_name, table_name, column_name, function_type, expression
FROM sz_redaction_policies sp
JOIN sz_redaction_columns sc ON sp.policy_id&nbsp;=&nbsp;sc.policy_id;

三、安全审计(8.1.4.3)

3.1 审计服务启用

| 控制项 | 测评命令 | 达标判据 | | — | — | — | | 审计开关 | szsql -U szsao -c "SHOW sz_audit.enable;" | on | | 审计模式 | szsql -U szsao -c "SHOW sz_audit.mode;" | all或std | | 审计日志路径 | szsql -U szsao -c "SHOW sz_audit.log_directory;" | 非数据目录,独立磁盘 | | 审计日志格式 | szsql -U szsao -c "SHOW sz_audit.log_format;" | csv或json | | 审计日志保留 | szsql -U szsao -c "SHOW sz_audit.log_rotation_age;" | ≥6个月 |

神州数据库特有配置:

# 查看神州数据库审计总开关(需用szsao登录)
SHOW sz_audit;

# 查看审计详细配置
SHOW sz_audit.log;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 审计日志总开关
SHOW sz_audit.log_catalog;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 是否审计系统表
SHOW sz_audit.log_level;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 审计级别(DEBUG/INFO/WARNING/ERROR)
SHOW sz_audit.log_connections;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 审计连接
SHOW sz_audit.log_disconnections;&nbsp; &nbsp; &nbsp; &nbsp;-- 审计断开
SHOW sz_audit.log_ddl;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 审计DDL
SHOW sz_audit.log_dml;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 审计DML
SHOW sz_audit.log_select;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 审计查询
SHOW sz_audit.log_parameter;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 审计参数
SHOW sz_audit.log_statement_once;&nbsp; &nbsp; &nbsp; &nbsp;-- 是否单次记录

# 查看神州数据库特有审计功能
SHOW sz_audit_log_admin;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 审计管理员操作
SHOW sz_audit_log_security;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 审计安全操作
SHOW sz_audit_log_privilege;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 审计权限变更
SHOW sz_audit_log_object;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 审计对象访问

# 查看审计规则(精细化审计)
SELECT * FROM sz_audit_rules;

# 查看审计对象配置
SELECT * FROM sz_audit_objects;

# 查看审计用户配置
SELECT * FROM sz_audit_users;

# 查看审计日志文件
ls-la${SZDATA}/sz_audit/&nbsp;2>/dev/null&nbsp;||ls-la&nbsp;/var/lib/shenzoudb/sz_audit/

# 查看审计日志内容(CSV格式)
head-5${SZDATA}/sz_audit/szaudit-*.csv&nbsp;2>/dev/null

# 查看审计日志大小
du-sh${SZDATA}/sz_audit/&nbsp;2>/dev/null

# 查看审计表空间(应独立表空间)
SELECT spcname FROM pg_tablespace WHERE&nbsp;spcname='sz_audit';

3.2 审计记录保护

# 检查审计日志权限
ls-la${SZDATA}/sz_audit/szaudit-*.csv&nbsp;2>/dev/null
# 应:640 szuser:szuser

# 检查审计日志是否定期归档
crontab-l|grep&nbsp;sz_audit
ls&nbsp;/backup/shenzoudb/audit/&nbsp;2>/dev/null

# 查看审计日志自动清理配置
SHOW sz_audit.log_truncate_on_rotation;
SHOW sz_audit.log_rotation_age;
SHOW sz_audit.log_rotation_size;

# 检查审计管理员权限(仅能查询审计日志,不能修改审计配置)
szsql&nbsp;-U&nbsp;szsao&nbsp;-c"SELECT * FROM sz_audit_log LIMIT 5;"
szsql&nbsp;-U&nbsp;szsao&nbsp;-c"ALTER SYSTEM SET sz_audit.enable = off;"# 应失败

# 查看审计日志完整性校验(神州特有)
SELECT sz_audit_verify_log('${SZDATA}/sz_audit/szaudit-20240101.csv')2>/dev/null;

四、入侵防范(8.1.4.4)

4.1 数据库加固与漏洞修复

| 控制项 | 测评命令 | 达标判据 | | — | — | — | | 版本补丁 | szsql -U szadmin -c "SELECT version();" | 最新稳定版本 | | 危险函数 | szsql -U szadmin -c "SELECT proname FROM pg_proc WHERE proname IN ('pg_read_file', 'pg_ls_dir', 'copy_from_program');" | 已回收权限 | | 扩展插件 | szsql -U szadmin -c "SELECT * FROM pg_extension;" | 仅安装可信扩展 | | 外部表 | szsql -U szadmin -c "SELECT * FROM pg_foreign_data_wrapper;" | 受控使用 |

神州数据库特有配置:

# 查看数据库版本及补丁
SELECT version();
SHOW server_version;
SHOW server_version_num;

# 查看神州数据库版本信息
SELECT * FROM sz_version();
SELECT sz_db_version();

# 检查危险存储过程
SELECT proname, prosrc, prosecdef
FROM pg_proc
WHERE proname IN&nbsp;('pg_read_file',&nbsp;'pg_read_binary_file',&nbsp;'pg_ls_dir',
'pg_database_size',&nbsp;'pg_relation_size',&nbsp;'pg_size_pretty')
AND prosecdef&nbsp;=true;

# 检查COPY PROGRAM权限(高危命令)
SHOW allow_system_table_mods;&nbsp; -- 应为off

# 检查外部数据封装器
SELECT fdwname, fdwowner::regrole, fdwoptions FROM pg_foreign_data_wrapper;

# 检查dblink和file_fdw(可能用于越权访问)
SELECT * FROM pg_extension WHERE extname IN&nbsp;('dblink',&nbsp;'file_fdw',&nbsp;'postgres_fdw');

# 查看神州数据库安全扩展
SELECT * FROM pg_extension WHERE extname LIKE&nbsp;'sz_%';
-- sz_passwordcheck: 密码复杂度检查
-- sz_audit: 审计功能
-- sz_encrypt: 透明加密
-- sz_redaction: 动态脱敏
-- sz_rls: 行级安全增强

# 检查自定义函数安全性
SELECT n.nspname, p.proname, p.prosecdef, p.proowner::regrole
FROM pg_proc p JOIN pg_namespace n ON p.pronamespace&nbsp;=&nbsp;n.oid
WHERE n.nspname NOT IN&nbsp;('pg_catalog',&nbsp;'information_schema')
AND p.prosecdef&nbsp;=true;&nbsp; -- 安全定义者函数需重点审查

# 检查神州数据库安全加固参数
SHOW sz_security_hardening;&nbsp; -- 安全加固总开关
SHOW sz_disable_load_library;&nbsp; -- 禁止动态加载库
SHOW sz_restrict_copy_program;&nbsp; &nbsp;-- 限制COPY PROGRAM
SHOW sz_restrict_file_functions;&nbsp;-- 限制文件操作函数

4.2 资源限制与防护

# 查看资源限制配置
SHOW max_connections;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 最大连接数
SHOW superuser_reserved_connections;&nbsp; -- 超级用户保留连接

# 查看用户级资源限制(神州特有)
SELECT rolname, rolconnlimit FROM pg_roles WHERE rolconnlimit&nbsp;>0;

# 查看神州数据库连接池配置
SHOW sz_connection_pool;
SHOW sz_pool_max_size;
SHOW sz_pool_idle_timeout;

# 查看语句超时配置
SHOW statement_timeout;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 语句执行超时
SHOW lock_timeout;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 锁等待超时
SHOW idle_in_transaction_session_timeout;&nbsp; -- 事务空闲超时

# 查看并发控制
SHOW max_worker_processes;
SHOW max_parallel_workers;
SHOW max_parallel_workers_per_gather;

# 查看神州数据库特有资源限制
SHOW sz_max_query_time;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 最大查询时间
SHOW sz_max_rows_returned;&nbsp; &nbsp; &nbsp; -- 最大返回行数限制
SHOW sz_max_temp_files;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 最大临时文件数
SHOW sz_max_temp_size;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 最大临时文件大小

五、恶意代码防范(8.1.4.5)

# 检查数据库服务器杀毒软件
systemctl status kav&nbsp;||&nbsp;systemctl status clamav-daemon

# 检查数据库文件完整性校验(神州数据库提供)
${SZHOME}/bin/sz_verify_checksum&nbsp;-D${SZDATA}

# 检查异常SQL模式(审计日志分析)
szsql&nbsp;-U&nbsp;szsao&nbsp;-c"
SELECT substr(query, 1, 50), count(*)
FROM sz_audit_log
WHERE query ~* '(drop|delete|truncate|grant|revoke)'
AND event_time > current_date - interval '7 days'
GROUP BY substr(query, 1, 50)
ORDER BY count(*) DESC;
"

# 检查异常登录行为
szsql&nbsp;-U&nbsp;szsao&nbsp;-c"
SELECT client_addr, usename, count(*) as failed_count
FROM sz_audit_log
WHERE event_type = 'CONNECT' AND result = 'failed'
AND event_time > current_date - interval '1 day'
GROUP BY client_addr, usename
HAVING count(*) > 5;
"

# 检查SQL注入特征
szsql&nbsp;-U&nbsp;szsao&nbsp;-c"
SELECT usename, query, count(*)
FROM sz_audit_log
WHERE query ~* '(\x27|\x22|\x2D\x2D|\x2F\x2A|\x3B|\x27\x20\x6F\x72\x20\x27|\x27\x20\x61\x6E\x64\x20\x27)'
AND event_time > current_date - interval '1 day'
GROUP BY usename, query;
"

六、可信验证(8.1.4.6)

| 控制项 | 测评命令 | 达标判据 | | — | — | — | | 国密算法支持 | szsql -U szadmin -c "SHOW sz_ssl_gm_ciphers;" | 包含SM2/SM3/SM4 | | 透明加密 | szsql -U szadmin -c "SHOW sz_transparent_encrypt;" | on | | 加密算法 | szsql -U szadmin -c "SHOW sz_transparent_encrypt_algorithm;" | SM4或AES256 | | 完整性保护 | szsql -U szadmin -c "SHOW data_checksums;" | on |

神州数据库特有配置:

# 查看国密支持(神州数据库V3.0+完整支持国密)
SHOW sz_ssl_gm;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 国密SSL开关
SHOW sz_ssl_gm_cert_file;&nbsp; &nbsp; -- 国密证书
SHOW sz_ssl_gm_key_file;&nbsp; &nbsp; &nbsp;-- 国密私钥
SHOW sz_ssl_gm_ciphers;&nbsp; &nbsp; &nbsp; -- 国密算法套件

# 查看国密算法详情
SELECT * FROM sz_gm_ciphers();

# 查看透明数据加密(TDE)配置
SHOW sz_transparent_encrypt;
SHOW sz_transparent_encrypt_kms_url;&nbsp; &nbsp; &nbsp; -- 密钥管理服务
SHOW sz_transparent_encrypt_algorithm;&nbsp; &nbsp; -- SM4或AES-256-CBC
SHOW sz_transparent_encrypt_key_rotation;&nbsp;-- 密钥轮换周期

# 查看表空间加密状态
SELECT spcname, spcencrypt, spcencalgorithm FROM pg_tablespace WHERE spcencrypt&nbsp;=true;

# 查看SSL证书国密支持
openssl s_client&nbsp;-connect&nbsp;localhost:5432&nbsp;-starttls&nbsp;postgres&nbsp;2>/dev/null&nbsp;|grep-i"sm2\|sm3\|sm4"

# 查看数据完整性校验
SHOW data_checksums;&nbsp; -- 数据页校验和
SHOW ignore_checksum_failure;&nbsp; -- 应为off

# 查看配置文件完整性(神州特有)
SELECT sz_verify_file('${SZDATA}/postgresql.conf');
SELECT sz_verify_file('${SZDATA}/pg_hba.conf');

# 查看国密随机数
SELECT sz_gm_random(32);&nbsp; -- 生成32字节国密随机数

七、数据备份与恢复(8.1.4.9)

| 控制项 | 测评命令 | 达标判据 | | — | — | — | | 物理备份 | ls -la /backup/shenzoudb/ | 每日全备+增量 | | 逻辑备份 | ls -la /backup/shenzoudb/dump/ | 每周逻辑备份 | | 归档日志 | szsql -U szadmin -c "SHOW archive_mode;" | on | | 备份加密 | sz_dump --help | grep encrypt | 使用加密备份 | | 恢复测试 | cat /backup/shenzoudb/restore_test.log | 每月恢复演练 |

神州数据库特有配置:

# 查看归档配置
SHOW archive_mode;
SHOW archive_command;
SHOW archive_timeout;

# 查看WAL保留策略
SHOW wal_level;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- replica或logical
SHOW max_wal_size;
SHOW min_wal_size;

# 查看神州数据库备份工具
which&nbsp;sz_basebackup
which&nbsp;sz_dump
which&nbsp;sz_dumpall
which&nbsp;sz_rman &nbsp;# 神州RMAN备份工具(V3.0+)

# 检查RMAN备份配置(如果使用)
cat${SZHOME}/sz_rman/sz_rman.conf&nbsp;2>/dev/null

# 查看备份计划任务
crontab-l|grep-E'sz_dump|sz_basebackup|sz_rman'

# 检查备份文件权限
ls-la&nbsp;/backup/shenzoudb/
stat-c'%a %U:%G'&nbsp;/backup/shenzoudb/

# 验证备份有效性(检查最近备份文件大小和时间)
find&nbsp;/backup/shenzoudb/&nbsp;-name"*.backup"-mtime-1-ls
find&nbsp;/backup/shenzoudb/&nbsp;-name"*.sql"-mtime-7-ls
find&nbsp;/backup/shenzoudb/&nbsp;-name"*.dmp"-mtime-7-ls

# 检查异地备份
ls&nbsp;/remote_backup/shenzoudb/&nbsp;2>/dev/null&nbsp;||echo"需核查异地备份策略"

# 神州数据库特有备份验证
sz_verify_backup /backup/shenzoudb/latest.backup&nbsp;2>/dev/null

八、神州数据库特有安全功能

8.1 安全版特性(V3.0+)

# 查看安全版功能开关
SHOW sz_security_edition;&nbsp; &nbsp; &nbsp; -- 是否安全版
SHOW sz_mac;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 强制访问控制(MAC)
SHOW sz_label_security;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- 标签安全
SHOW sz_database_firewall;&nbsp; &nbsp; &nbsp; &nbsp;-- 数据库防火墙
SHOW sz_intrusion_detection;&nbsp; &nbsp; &nbsp;-- 入侵检测

# 查看强制访问控制策略(MAC)
SELECT * FROM sz_mac_policy;
SELECT * FROM sz_mac_label;

# 查看标签安全配置
SELECT label_name, label_value FROM sz_security_labels;

# 查看数据库防火墙规则
SELECT * FROM sz_db_firewall_rules;
SELECT * FROM sz_db_firewall_whitelist;
SELECT * FROM sz_db_firewall_blacklist;

# 查看SQL注入防护规则
SELECT * FROM sz_sql_injection_rules;

# 查看敏感数据发现
SELECT * FROM sz_sensitive_data_discovery;

8.2 性能与监控

# 查看数据库性能统计
SELECT * FROM pg_stat_database;

# 查看神州数据库性能视图
SELECT * FROM sz_stat_performance;
SELECT * FROM sz_stat_security_events;

# 查看慢查询日志
SHOW log_min_duration_statement;&nbsp; -- 记录超过该值的SQL
SHOW sz_slow_query_log;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- 神州慢查询开关

# 查看锁等待情况
SELECT * FROM pg_locks WHERE NOT granted;

# 查看死锁检测
SHOW deadlock_timeout;
SHOW log_deadlocks;

# 查看神州数据库安全事件
SELECT * FROM sz_security_events WHERE event_time&nbsp;>&nbsp;current_date - interval&nbsp;'1 day';

九、一键巡检脚本(神州数据库)

#!/bin/bash
# 神州数据库(ShenzhouDB)等保三级一键巡检脚本
# 适用:ShenzhouDB V2.0/V3.0/V4.0

exportSZHOME=/opt/ShenzhouDB/4.0
exportSZDATA=/var/lib/shenzoudb/data
exportPATH=$SZHOME/bin:$PATH

echo"===== 神州数据库等保三级巡检 ====="
echo"巡检时间:$(date)"
echo"数据库版本:$(szsql -U szadmin -c 'SELECT version();' 2>/dev/null | head -1)"
echo""

echo"===== 1 身份鉴别 ====="
echo"--- 超级用户检查 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SELECT usename, usesuper FROM pg_user WHERE usesuper='t';"2>/dev/null

echo"--- 密码策略 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW passwordcheck.enable;"2>/dev/null
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW passwordcheck.min_length;"2>/dev/null

echo"--- 登录失败锁定 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_login_lock;"2>/dev/null
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_login_lock_max_failed;"2>/dev/null

echo"--- 国密SSL配置 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_ssl_gm;"2>/dev/null
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_ssl_gm_ciphers;"2>/dev/null&nbsp;|head-3

echo"--- 监听地址 ---"
cat${SZDATA}/postgresql.conf&nbsp;2>/dev/null&nbsp;|grep&nbsp;listen_addresses&nbsp;|head-1
echo""

echo"===== 2 访问控制 ====="
echo"--- 三权分立 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_sepofpowers;"2>/dev/null

echo"--- 角色列表 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SELECT rolname FROM pg_roles WHERE rolname !~ '^pg_';"2>/dev/null

echo"--- 敏感权限检查 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SELECT grantee, privilege_type FROM information_schema.table_privileges WHERE grantee='PUBLIC' LIMIT 5;"2>/dev/null

echo"--- 行级安全策略 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SELECT tablename, rowsecurity FROM pg_tables WHERE rowsecurity=true;"2>/dev/null
echo""

echo"===== 3 安全审计 ====="
echo"--- 审计开关 ---"
szsql&nbsp;-U&nbsp;szsao&nbsp;-c"SHOW sz_audit.enable;"2>/dev/null
szsql&nbsp;-U&nbsp;szsao&nbsp;-c"SHOW sz_audit.log;"2>/dev/null

echo"--- 审计日志路径 ---"
szsql&nbsp;-U&nbsp;szsao&nbsp;-c"SHOW sz_audit.log_directory;"2>/dev/null
ls-ld$(szsql&nbsp;-U&nbsp;szsao&nbsp;-c"SHOW sz_audit.log_directory;"2>/dev/null&nbsp;|awk'{print $1}')2>/dev/null

echo"--- 审计日志文件 ---"
ls-la${SZDATA}/sz_audit/&nbsp;2>/dev/null&nbsp;|head-5||echo"审计日志目录未找到"
echo""

echo"===== 4 入侵防范 ====="
echo"--- 版本信息 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SELECT version();"2>/dev/null&nbsp;|head-1

echo"--- 危险扩展 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SELECT extname FROM pg_extension WHERE extname IN ('dblink', 'file_fdw', 'postgres_fdw');"2>/dev/null

echo"--- 安全加固参数 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_security_hardening;"2>/dev/null
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_restrict_copy_program;"2>/dev/null

echo"--- 资源限制 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW max_connections;"2>/dev/null
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW statement_timeout;"2>/dev/null
echo""

echo"===== 5 可信验证 ====="
echo"--- 透明加密 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_transparent_encrypt;"2>/dev/null
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_transparent_encrypt_algorithm;"2>/dev/null

echo"--- 数据校验 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW data_checksums;"2>/dev/null

echo"--- 国密支持 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SELECT * FROM sz_gm_ciphers();"2>/dev/null&nbsp;|head-5
echo""

echo"===== 6 备份恢复 ====="
echo"--- 归档模式 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW archive_mode;"2>/dev/null
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW archive_command;"2>/dev/null

echo"--- 备份文件检查 ---"
ls&nbsp;/backup/shenzoudb/&nbsp;2>/dev/null&nbsp;|head-5||echo"备份目录未找到,请核查备份策略"

echo"--- 备份计划任务 ---"
crontab-l2>/dev/null&nbsp;|grep-E'shenzoudb|sz_dump|sz_basebackup'||echo"未找到数据库备份任务"
echo""

echo"===== 7 国密合规(V3.0+) ====="
echo"--- 国密SSL状态 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_ssl_gm;"2>/dev/null

echo"--- 国密算法套件 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_ssl_gm_ciphers;"2>/dev/null

echo"--- 国密证书检查 ---"
ls-la${SZDATA}/*gm*&nbsp;2>/dev/null&nbsp;|head-3||echo"未找到国密证书文件"
echo""

echo"===== 8 安全版功能(V3.0+) ====="
echo"--- 安全版标识 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_security_edition;"2>/dev/null

echo"--- 强制访问控制 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SELECT count(*) FROM sz_mac_policy;"2>/dev/null

echo"--- 数据库防火墙 ---"
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SELECT count(*) FROM sz_db_firewall_rules;"2>/dev/null
echo""

echo"===== 巡检完成 ====="
echo"详细结果请查看上方输出,重点关注以下高风险项:"
echo"1. 默认口令未修改(szadmin/szuser)"
echo"2. 未启用国密SSL(sz_ssl_gm=off)"
echo"3. 未启用三权分立(sz_sepofpowers=off)"
echo"4. 审计未启用(sz_audit.enable=off)"
echo"5. 监听地址为*(listen_addresses='*')"
echo"6. 未启用透明加密(sz_transparent_encrypt=off)"
echo"7. 备份未配置或归档未启用"

十、高风险项重点核查清单

| 检查项 | 验证命令 | 不合规判定 | 整改建议 | | — | — | — | — | | 默认口令未修改 | szsql -U szadmin -c "SELECT usename FROM pg_shadow WHERE passwd IS NULL;" | 存在空口令 | 立即修改强口令 | | 未启用国密SSL | szsql -U szadmin -c "SHOW sz_ssl_gm;" | off | 配置国密证书,启用sz_ssl_gm | | 未启用三权分立 | szsql -U szadmin -c "SHOW sz_sepofpowers;" | off | 启用szsso/szsao/szadmin三权分立 | | 监听地址为 * | cat ${SZDATA}/postgresql.conf | grep listen_addresses | '*' | 修改为具体IP或localhost | | 未启用审计 | szsql -U szsao -c "SHOW sz_audit.enable;" | off | 修改配置启用审计 | | 审计日志权限过大 | ls -la ${SZDATA}/sz_audit/ | 非640 | 修改为640 szuser:szuser | | 未启用归档 | szsql -U szadmin -c "SHOW archive_mode;" | off | 启用WAL归档 | | 未启用透明加密 | szsql -U szadmin -c "SHOW sz_transparent_encrypt;" | off | 启用TDE保护敏感数据 | | 存在危险扩展 | szsql -U szadmin -c "SELECT extname FROM pg_extension WHERE extname='dblink';" | 存在dblink/file_fdw | 评估后卸载或限制使用 | | 未启用安全加固 | szsql -U szadmin -c "SHOW sz_security_hardening;" | off | 启用安全加固参数 |


十一、神州数据库与PostgreSQL/其他国产库对比

| 对比项 | PostgreSQL | 神州数据库 | 人大金仓 | 达梦 | | — | — | — | — | — | | 等保支持 | 需第三方工具 | 原生三权分立 | 原生三权分立 | 原生三权分立 | | 国密算法 | 需国密SDK | 完整SM2/SM3/SM4 | 完整SM2/SM3/SM4 | 完整SM2/SM3/SM4 | | 三权分立 | 不支持 | 支持szadmin/szsso/szsao | 支持 | 支持 | | 透明加密 | 需第三方 | 原生TDE(SM4/AES) | 原生TDE | 原生TDE | | 动态脱敏 | 需扩展 | 原生支持 | 原生支持 | 原生支持 | | 强制访问控制 | 不支持 | 支持(安全版) | 支持 | 支持 | | 数据库防火墙 | 不支持 | 支持(安全版) | 支持 | 支持 | | 等保合规难度 | 高 | 低 | 低 | 低 | | 硬件密码机 | 不支持 | 支持三未/江南天安 | 支持 | 支持 |


十二、等保测评执行要点

1. 账户权限要求

  • 需要szadmin(数据库管理员)、szsso(安全管理员)、szsao(审计管理员)三个账户分别验证

  • 启用三权分立后,各管理员权限严格分离:

  • szadmin:数据库管理,不能查看审计日志

  • szsso:安全策略管理,不能创建用户

  • szsao:审计管理,只能查询不能修改配置

2. 国密合规检查重点

# 检查是否使用国密SSL
openssl s_client&nbsp;-connect&nbsp;localhost:5432&nbsp;-starttls&nbsp;postgres&nbsp;2>/dev/null&nbsp;|grep-i"sm2\|SM2"

# 检查国密证书有效性
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SELECT sz_gm_cert_info();"2>/dev/null

# 检查密码机接入(如使用硬件密码机)
szsql&nbsp;-U&nbsp;szadmin&nbsp;-c"SHOW sz_kms_type;"2>/dev/null &nbsp;# 应显示hsm或software
cat${SZDATA}/sz_hsm.conf&nbsp;2>/dev/null &nbsp;# 密码机配置文件

3. 现场访谈要点

  • 是否定期更换管理员口令(≤90天)
  • 是否启用三权分立,各管理员是否由不同人员担任
  • 是否使用国密算法进行数据传输加密
  • 是否定期备份配置文件和审计日志
  • 是否进行恢复演练(每半年至少一次)
  • 是否使用硬件密码机保护主密钥

4. 版本差异

| 功能项 | V2.0 | V3.0 | V4.0 | | — | — | — | — | | 三权分立 | 基础 | 完整 | 增强 | | 国密算法 | SM4 | SM2/SM3/SM4 | 完整国密SSL | | 透明加密 | AES | SM4/AES | SM4/AES | | 强制访问控制 | 不支持 | 支持(安全版) | 增强 | | 数据库防火墙 | 不支持 | 支持(安全版) | 增强 | | 动态脱敏 | 基础 | 增强 | 完整 |


参考标准:GB/T 22239-2019、GB/T 28448-2019、GM/T 0054-2018(国密数据库标准)、神州数据库安全加固指南

适用版本:ShenzhouDB V2.0 / V3.0 / V4.0

验证环境:x86_64 / ARM64 / 国产化芯片(飞腾/鲲鹏/龙芯/海光/兆芯/申威)

汪汪虚拟空间

10个内容

[等保测评命令——PostgreSQL数据库

2026-02-11](http://mp.weixin.qq.com/s?_biz=MzkwNzMyODE4OQ==&mid=2247484988&idx=1&sn=f71bd45bb00cfdae5e73034cab3ad1b4&chksm=c0dba9eef7ac20f84e1db026cbcbcde461f61c9120812a99df7c11dcaac707d2928c83fa1bb1&scene=21#wechatredirect)

[等保测评命令——Oracle数据库

2026-02-12](http://mp.weixin.qq.com/s?_biz=MzkwNzMyODE4OQ==&mid=2247484989&idx=1&sn=a44a31b88734aaf118b9b84afb9e41a7&chksm=c0dba9eff7ac20f90466cfc3db446314aa942d0ac0430bb8800fe67ec33287101d8be202f557&scene=21#wechatredirect)

[等保测评命令——OceanBase数据库

2026-02-13](http://mp.weixin.qq.com/s?_biz=MzkwNzMyODE4OQ==&mid=2247484990&idx=1&sn=dc59a52b02dce7d14e19062e6c431a5e&chksm=c0dba9ecf7ac20faf062eab9529348da9451423f2542e04f373fc21c951595233bb35fed0f22&scene=21#wechatredirect)

[等保测评命令——华为 GaussDB 系列

2026-02-14](http://mp.weixin.qq.com/s?_biz=MzkwNzMyODE4OQ==&mid=2247484992&idx=1&sn=b662fb8d1088f549017661243990e97a&chksm=c0dba992f7ac208465b3a461d7559eca932b20183720e03dc59400f84df152088bdb6403d339&scene=21#wechatredirect)

[等保测评命令——MySQL数据库

2026-02-21](http://mp.weixin.qq.com/s?_biz=MzkwNzMyODE4OQ==&mid=2247485029&idx=1&sn=5be4a9e67905527edb5659b6853c1618&chksm=c0dba9b7f7ac20a1ada9850e285d1cfc650071334c1dfd485df25fb72a71186e865acf4041be&scene=21#wechatredirect)

[等保测评命令——DB2数据库

2026-02-22](http://mp.weixin.qq.com/s?_biz=MzkwNzMyODE4OQ==&mid=2247485030&idx=1&sn=1b9c23e8d395dcd1ac4a5c4f5fd28db1&chksm=c0dba9b4f7ac20a2e41de19e586c2adaa5f022462ac30e5b3a9cae8bcfab9a3af050c65732ea&scene=21#wechatredirect)

[等保测评命令——华为网络设备

2026-02-23](http://mp.weixin.qq.com/s?_biz=MzkwNzMyODE4OQ==&mid=2247485031&idx=1&sn=52068f3e07d040187128cd8176e64a57&chksm=c0dba9b5f7ac20a3dd77b5215b107950bda2e8cee981a61cfe94b638e12b2061e6032fee8991&scene=21#wechatredirect)

[等保测评命令——锐捷网络设备

2026-02-24](http://mp.weixin.qq.com/s?_biz=MzkwNzMyODE4OQ==&mid=2247485036&idx=1&sn=344c7b160228e1065023312c219bcb42&chksm=c0dba9bef7ac20a82648f5500de6a6c74898a91065f9d2399173259f1139c6beef58acd09f52&scene=21#wechatredirect)

[等保测评命令——华三(H3C)网络设备

2026-02-25](http://mp.weixin.qq.com/s?_biz=MzkwNzMyODE4OQ==&mid=2247485052&idx=1&sn=249230b6295b4f69e1ad18051f0a2424&chksm=c0dba9aef7ac20b88f904654a74da4f11cd963c5b0722fd4750e0c542f49624a961de22b7c7a&scene=21#wechatredirect)

[等保测评命令——思科网络设备

2026-02-26](http://mp.weixin.qq.com/s?_biz=MzkwNzMyODE4OQ==&mid=2247485053&idx=1&sn=5cc3b796e131c8f508598cee93151b7b&chksm=c0dba9aff7ac20b9ac9997a297ce1fda03b9d1dddb03f56ded005d88a82af904400d7269b8a3&scene=21#wechatredirect)


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Sec Online 《等保测评命令——神州数据库》

评论:0   参与:  0