
依据GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》第三级安全计算环境条款结合神州数据库官方安全指南及现场测评实践。适用版本ShenzhouDB V2.0 / V3.0 / V4.0基于PostgreSQL 11/12/14深度定制一、身份鉴别8.1.4.11.1 数据库账户与口令策略控制项测评命令达标判据超级管理员账户szsql -U szadmin -c SELECT * FROM pg_user WHERE usesysid10;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 - szuser szsql -U szadmin -d szdb -W # 查看所有用户及状态 SELECT usename, usesuper, usecreatedb, valuntil, CASE WHEN passwd LIKE md5% THEN md5 WHEN passwd LIKE SCRAM-SHA-256% THEN scram-sha-256 ELSE 其他 END as pwd_type, passwd IS NULL as is_empty FROM pg_user; # 查看密码策略详细配置神州特有插件 SHOW passwordcheck; SHOW passwordcheck.min_length; -- 最小长度≥8 SHOW passwordcheck.min_upper; -- 大写字母≥1 SHOW passwordcheck.min_lower; -- 小写字母≥1 SHOW passwordcheck.min_digit; -- 数字≥1 SHOW passwordcheck.min_special; -- 特殊字符≥1 # 查看神州数据库特有安全参数 SHOW sz_security; SHOW sz_login_lock; -- 登录失败锁定开关 SHOW sz_login_lock_max_failed; -- 最大失败次数默认5 SHOW sz_login_lock_duration; -- 锁定时间秒默认1800 SHOW sz_login_lock_auto_unlock; -- 是否自动解锁 # 查看被锁定的用户神州特有视图 SELECT * FROM sz_login_lock_status WHERE is_locked true; # 查看用户密码过期信息 SELECT usename, CASE WHEN valuntil NOW() THEN 已过期 WHEN valuntil NOW() INTERVAL 7 days THEN 即将过期 ELSE 正常 END as pwd_status, 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国密SSLszsql -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 |grep-Elisten_addresses|port|ssl # 查看SSL详细配置 SHOW ssl_cert_file; -- 证书路径 SHOW ssl_key_file; -- 私钥路径 SHOW ssl_ca_file; -- CA证书 SHOW ssl_crl_file; -- 吊销列表 SHOW ssl_ciphers; -- 加密算法 # 查看神州数据库国密SSL配置V3.0支持 SHOW sz_ssl_gm; -- 国密SSL开关 SHOW sz_ssl_gm_cert_file; -- 国密证书 SHOW sz_ssl_gm_key_file; -- 国密私钥 SHOW sz_ssl_gm_ciphers; -- 国密算法套件SM2/SM3/SM4 # 查看当前连接情况 SELECT client_addr, usename, state, backend_start, query_start, 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 2/dev/null # 神州特有扩展认证配置1.3 双因子认证高风险项# 检查是否启用证书认证 cat${SZDATA}/pg_hba.conf |grep cert cat${SZDATA}/sz_hba.conf 2/dev/null |grep cert # 检查是否集成外部认证LDAP/RADIUS/AD SHOW ldapserver; -- LDAP服务器 SHOW ldapport; -- LDAP端口 SHOW ldapbasedn; -- 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 2/dev/null # 国密证书映射配置 # 检查审计是否记录认证事件 SHOW log_connections; SHOW log_disconnections; SHOW sz_audit_log_auth; -- 神州特有认证审计开关二、访问控制8.1.4.22.1 账户权限管理控制项测评命令达标判据超级用户数量szsql -U szadmin -c SELECT usename FROM pg_user WHERE usesupert;≤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; -- 是否启用三权分立 # 查看安全管理员szsso配置 szsql -U szsso -cSELECT current_user; # 查看审计管理员szsao配置 szsql -U szsao -cSELECT current_user; # 查看系统管理员szadmin权限限制 -- 启用三权分立后szadmin不能查看审计日志不能修改安全策略 # 查看所有角色及成员关系 SELECT r.rolname, r.rolsuper, r.rolinherit, ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid b.oid) WHERE m.member r.oid) as memberof FROM pg_catalog.pg_roles r WHERE r.rolname !~ ^pg_; # 查看对象权限详情 SELECT grantor, grantee, table_schema, table_name, privilege_type FROM information_schema.table_privileges WHERE grantee NOT IN (PUBLIC, szadmin); # 检查PUBLIC角色权限应回收PUBLIC对敏感表的权限 SELECT * FROM information_schema.table_privileges WHERE granteePUBLIC; # 查看神州数据库特有安全角色 SELECT rolname FROM pg_roles WHERE rolname LIKE sz_%; -- sz_security_admin: 安全管理员角色 -- sz_audit_admin: 审计管理员角色 -- sz_backup_admin: 备份管理员角色2.2 敏感数据访问控制# 查看行级安全策略RLS配置 SELECT schemaname, tablename, rowsecurity FROM pg_tables WHERE rowsecuritytrue; # 查看具体RLS策略 SELECT * FROM pg_policies; # 查看列级加密配置神州数据库特有透明加密 SHOW sz_transparent_encrypt; SHOW sz_transparent_encrypt_kms_url; -- 密钥管理服务URL SHOW sz_transparent_encrypt_algorithm; -- 加密算法SM4/AES256 # 查看加密表空间 SELECT spcname, spcencrypt FROM pg_tablespace WHERE spcencrypt 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 sc.policy_id;三、安全审计8.1.4.33.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; -- 审计日志总开关 SHOW sz_audit.log_catalog; -- 是否审计系统表 SHOW sz_audit.log_level; -- 审计级别DEBUG/INFO/WARNING/ERROR SHOW sz_audit.log_connections; -- 审计连接 SHOW sz_audit.log_disconnections; -- 审计断开 SHOW sz_audit.log_ddl; -- 审计DDL SHOW sz_audit.log_dml; -- 审计DML SHOW sz_audit.log_select; -- 审计查询 SHOW sz_audit.log_parameter; -- 审计参数 SHOW sz_audit.log_statement_once; -- 是否单次记录 # 查看神州数据库特有审计功能 SHOW sz_audit_log_admin; -- 审计管理员操作 SHOW sz_audit_log_security; -- 审计安全操作 SHOW sz_audit_log_privilege; -- 审计权限变更 SHOW sz_audit_log_object; -- 审计对象访问 # 查看审计规则精细化审计 SELECT * FROM sz_audit_rules; # 查看审计对象配置 SELECT * FROM sz_audit_objects; # 查看审计用户配置 SELECT * FROM sz_audit_users; # 查看审计日志文件 ls-la${SZDATA}/sz_audit/ 2/dev/null ||ls-la /var/lib/shenzoudb/sz_audit/ # 查看审计日志内容CSV格式 head-5${SZDATA}/sz_audit/szaudit-*.csv 2/dev/null # 查看审计日志大小 du-sh${SZDATA}/sz_audit/ 2/dev/null # 查看审计表空间应独立表空间 SELECT spcname FROM pg_tablespace WHERE spcnamesz_audit;3.2 审计记录保护# 检查审计日志权限 ls-la${SZDATA}/sz_audit/szaudit-*.csv 2/dev/null # 应640 szuser:szuser # 检查审计日志是否定期归档 crontab-l|grep sz_audit ls /backup/shenzoudb/audit/ 2/dev/null # 查看审计日志自动清理配置 SHOW sz_audit.log_truncate_on_rotation; SHOW sz_audit.log_rotation_age; SHOW sz_audit.log_rotation_size; # 检查审计管理员权限仅能查询审计日志不能修改审计配置 szsql -U szsao -cSELECT * FROM sz_audit_log LIMIT 5; szsql -U szsao -cALTER SYSTEM SET sz_audit.enable off;# 应失败 # 查看审计日志完整性校验神州特有 SELECT sz_audit_verify_log(${SZDATA}/sz_audit/szaudit-20240101.csv)2/dev/null;四、入侵防范8.1.4.44.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 (pg_read_file, pg_read_binary_file, pg_ls_dir, pg_database_size, pg_relation_size, pg_size_pretty) AND prosecdef true; # 检查COPY PROGRAM权限高危命令 SHOW allow_system_table_mods; -- 应为off # 检查外部数据封装器 SELECT fdwname, fdwowner::regrole, fdwoptions FROM pg_foreign_data_wrapper; # 检查dblink和file_fdw可能用于越权访问 SELECT * FROM pg_extension WHERE extname IN (dblink, file_fdw, postgres_fdw); # 查看神州数据库安全扩展 SELECT * FROM pg_extension WHERE extname LIKE 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 n.oid WHERE n.nspname NOT IN (pg_catalog, information_schema) AND p.prosecdef true; -- 安全定义者函数需重点审查 # 检查神州数据库安全加固参数 SHOW sz_security_hardening; -- 安全加固总开关 SHOW sz_disable_load_library; -- 禁止动态加载库 SHOW sz_restrict_copy_program; -- 限制COPY PROGRAM SHOW sz_restrict_file_functions; -- 限制文件操作函数4.2 资源限制与防护# 查看资源限制配置 SHOW max_connections; -- 最大连接数 SHOW superuser_reserved_connections; -- 超级用户保留连接 # 查看用户级资源限制神州特有 SELECT rolname, rolconnlimit FROM pg_roles WHERE rolconnlimit 0; # 查看神州数据库连接池配置 SHOW sz_connection_pool; SHOW sz_pool_max_size; SHOW sz_pool_idle_timeout; # 查看语句超时配置 SHOW statement_timeout; -- 语句执行超时 SHOW lock_timeout; -- 锁等待超时 SHOW idle_in_transaction_session_timeout; -- 事务空闲超时 # 查看并发控制 SHOW max_worker_processes; SHOW max_parallel_workers; SHOW max_parallel_workers_per_gather; # 查看神州数据库特有资源限制 SHOW sz_max_query_time; -- 最大查询时间 SHOW sz_max_rows_returned; -- 最大返回行数限制 SHOW sz_max_temp_files; -- 最大临时文件数 SHOW sz_max_temp_size; -- 最大临时文件大小五、恶意代码防范8.1.4.5# 检查数据库服务器杀毒软件 systemctl status kav || systemctl status clamav-daemon # 检查数据库文件完整性校验神州数据库提供 ${SZHOME}/bin/sz_verify_checksum -D${SZDATA} # 检查异常SQL模式审计日志分析 szsql -U szsao -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 -U szsao -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 -U szsao -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; -- 国密SSL开关 SHOW sz_ssl_gm_cert_file; -- 国密证书 SHOW sz_ssl_gm_key_file; -- 国密私钥 SHOW sz_ssl_gm_ciphers; -- 国密算法套件 # 查看国密算法详情 SELECT * FROM sz_gm_ciphers(); # 查看透明数据加密TDE配置 SHOW sz_transparent_encrypt; SHOW sz_transparent_encrypt_kms_url; -- 密钥管理服务 SHOW sz_transparent_encrypt_algorithm; -- SM4或AES-256-CBC SHOW sz_transparent_encrypt_key_rotation; -- 密钥轮换周期 # 查看表空间加密状态 SELECT spcname, spcencrypt, spcencalgorithm FROM pg_tablespace WHERE spcencrypt true; # 查看SSL证书国密支持 openssl s_client -connect localhost:5432 -starttls postgres 2/dev/null |grep-ism2\|sm3\|sm4 # 查看数据完整性校验 SHOW data_checksums; -- 数据页校验和 SHOW ignore_checksum_failure; -- 应为off # 查看配置文件完整性神州特有 SELECT sz_verify_file(${SZDATA}/postgresql.conf); SELECT sz_verify_file(${SZDATA}/pg_hba.conf); # 查看国密随机数 SELECT sz_gm_random(32); -- 生成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; -- replica或logical SHOW max_wal_size; SHOW min_wal_size; # 查看神州数据库备份工具 which sz_basebackup which sz_dump which sz_dumpall which sz_rman # 神州RMAN备份工具V3.0 # 检查RMAN备份配置如果使用 cat${SZHOME}/sz_rman/sz_rman.conf 2/dev/null # 查看备份计划任务 crontab-l|grep-Esz_dump|sz_basebackup|sz_rman # 检查备份文件权限 ls-la /backup/shenzoudb/ stat-c%a %U:%G /backup/shenzoudb/ # 验证备份有效性检查最近备份文件大小和时间 find /backup/shenzoudb/ -name*.backup-mtime-1-ls find /backup/shenzoudb/ -name*.sql-mtime-7-ls find /backup/shenzoudb/ -name*.dmp-mtime-7-ls # 检查异地备份 ls /remote_backup/shenzoudb/ 2/dev/null ||echo需核查异地备份策略 # 神州数据库特有备份验证 sz_verify_backup /backup/shenzoudb/latest.backup 2/dev/null八、神州数据库特有安全功能8.1 安全版特性V3.0# 查看安全版功能开关 SHOW sz_security_edition; -- 是否安全版 SHOW sz_mac; -- 强制访问控制MAC SHOW sz_label_security; -- 标签安全 SHOW sz_database_firewall; -- 数据库防火墙 SHOW sz_intrusion_detection; -- 入侵检测 # 查看强制访问控制策略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; -- 记录超过该值的SQL SHOW sz_slow_query_log; -- 神州慢查询开关 # 查看锁等待情况 SELECT * FROM pg_locks WHERE NOT granted; # 查看死锁检测 SHOW deadlock_timeout; SHOW log_deadlocks; # 查看神州数据库安全事件 SELECT * FROM sz_security_events WHERE event_time current_date - interval 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 -U szadmin -cSELECT usename, usesuper FROM pg_user WHERE usesupert;2/dev/null echo--- 密码策略 --- szsql -U szadmin -cSHOW passwordcheck.enable;2/dev/null szsql -U szadmin -cSHOW passwordcheck.min_length;2/dev/null echo--- 登录失败锁定 --- szsql -U szadmin -cSHOW sz_login_lock;2/dev/null szsql -U szadmin -cSHOW sz_login_lock_max_failed;2/dev/null echo--- 国密SSL配置 --- szsql -U szadmin -cSHOW sz_ssl_gm;2/dev/null szsql -U szadmin -cSHOW sz_ssl_gm_ciphers;2/dev/null |head-3 echo--- 监听地址 --- cat${SZDATA}/postgresql.conf 2/dev/null |grep listen_addresses |head-1 echo echo 2 访问控制 echo--- 三权分立 --- szsql -U szadmin -cSHOW sz_sepofpowers;2/dev/null echo--- 角色列表 --- szsql -U szadmin -cSELECT rolname FROM pg_roles WHERE rolname !~ ^pg_;2/dev/null echo--- 敏感权限检查 --- szsql -U szadmin -cSELECT grantee, privilege_type FROM information_schema.table_privileges WHERE granteePUBLIC LIMIT 5;2/dev/null echo--- 行级安全策略 --- szsql -U szadmin -cSELECT tablename, rowsecurity FROM pg_tables WHERE rowsecuritytrue;2/dev/null echo echo 3 安全审计 echo--- 审计开关 --- szsql -U szsao -cSHOW sz_audit.enable;2/dev/null szsql -U szsao -cSHOW sz_audit.log;2/dev/null echo--- 审计日志路径 --- szsql -U szsao -cSHOW sz_audit.log_directory;2/dev/null ls-ld$(szsql -U szsao -cSHOW sz_audit.log_directory;2/dev/null |awk{print $1})2/dev/null echo--- 审计日志文件 --- ls-la${SZDATA}/sz_audit/ 2/dev/null |head-5||echo审计日志目录未找到 echo echo 4 入侵防范 echo--- 版本信息 --- szsql -U szadmin -cSELECT version();2/dev/null |head-1 echo--- 危险扩展 --- szsql -U szadmin -cSELECT extname FROM pg_extension WHERE extname IN (dblink, file_fdw, postgres_fdw);2/dev/null echo--- 安全加固参数 --- szsql -U szadmin -cSHOW sz_security_hardening;2/dev/null szsql -U szadmin -cSHOW sz_restrict_copy_program;2/dev/null echo--- 资源限制 --- szsql -U szadmin -cSHOW max_connections;2/dev/null szsql -U szadmin -cSHOW statement_timeout;2/dev/null echo echo 5 可信验证 echo--- 透明加密 --- szsql -U szadmin -cSHOW sz_transparent_encrypt;2/dev/null szsql -U szadmin -cSHOW sz_transparent_encrypt_algorithm;2/dev/null echo--- 数据校验 --- szsql -U szadmin -cSHOW data_checksums;2/dev/null echo--- 国密支持 --- szsql -U szadmin -cSELECT * FROM sz_gm_ciphers();2/dev/null |head-5 echo echo 6 备份恢复 echo--- 归档模式 --- szsql -U szadmin -cSHOW archive_mode;2/dev/null szsql -U szadmin -cSHOW archive_command;2/dev/null echo--- 备份文件检查 --- ls /backup/shenzoudb/ 2/dev/null |head-5||echo备份目录未找到请核查备份策略 echo--- 备份计划任务 --- crontab-l2/dev/null |grep-Eshenzoudb|sz_dump|sz_basebackup||echo未找到数据库备份任务 echo echo 7 国密合规V3.0 echo--- 国密SSL状态 --- szsql -U szadmin -cSHOW sz_ssl_gm;2/dev/null echo--- 国密算法套件 --- szsql -U szadmin -cSHOW sz_ssl_gm_ciphers;2/dev/null echo--- 国密证书检查 --- ls-la${SZDATA}/*gm* 2/dev/null |head-3||echo未找到国密证书文件 echo echo 8 安全版功能V3.0 echo--- 安全版标识 --- szsql -U szadmin -cSHOW sz_security_edition;2/dev/null echo--- 强制访问控制 --- szsql -U szadmin -cSELECT count(*) FROM sz_mac_policy;2/dev/null echo--- 数据库防火墙 --- szsql -U szadmin -cSELECT count(*) FROM sz_db_firewall_rules;2/dev/null echo echo 巡检完成 echo详细结果请查看上方输出重点关注以下高风险项 echo1. 默认口令未修改szadmin/szuser echo2. 未启用国密SSLsz_ssl_gmoff echo3. 未启用三权分立sz_sepofpowersoff echo4. 审计未启用sz_audit.enableoff echo5. 监听地址为*listen_addresses* echo6. 未启用透明加密sz_transparent_encryptoff echo7. 备份未配置或归档未启用十、高风险项重点核查清单检查项验证命令不合规判定整改建议默认口令未修改szsql -U szadmin -c SELECT usename FROM pg_shadow WHERE passwd IS NULL;存在空口令立即修改强口令未启用国密SSLszsql -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 extnamedblink;存在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支持支持透明加密需第三方原生TDESM4/AES原生TDE原生TDE动态脱敏需扩展原生支持原生支持原生支持强制访问控制不支持支持安全版支持支持数据库防火墙不支持支持安全版支持支持等保合规难度高低低低硬件密码机不支持支持三未/江南天安支持支持十二、等保测评执行要点1. 账户权限要求需要szadmin数据库管理员、szsso安全管理员、szsao审计管理员三个账户分别验证启用三权分立后各管理员权限严格分离szadmin数据库管理不能查看审计日志szsso安全策略管理不能创建用户szsao审计管理只能查询不能修改配置2. 国密合规检查重点# 检查是否使用国密SSL openssl s_client -connect localhost:5432 -starttls postgres 2/dev/null |grep-ism2\|SM2 # 检查国密证书有效性 szsql -U szadmin -cSELECT sz_gm_cert_info();2/dev/null # 检查密码机接入如使用硬件密码机 szsql -U szadmin -cSHOW sz_kms_type;2/dev/null # 应显示hsm或software cat${SZDATA}/sz_hsm.conf 2/dev/null # 密码机配置文件3. 现场访谈要点是否定期更换管理员口令≤90天是否启用三权分立各管理员是否由不同人员担任是否使用国密算法进行数据传输加密是否定期备份配置文件和审计日志是否进行恢复演练每半年至少一次是否使用硬件密码机保护主密钥4. 版本差异功能项V2.0V3.0V4.0三权分立基础完整增强国密算法SM4SM2/SM3/SM4完整国密SSL透明加密AESSM4/AESSM4/AES强制访问控制不支持支持安全版增强数据库防火墙不支持支持安全版增强动态脱敏基础增强完整参考标准GB/T 22239-2019、GB/T 28448-2019、GM/T 0054-2018国密数据库标准、神州数据库安全加固指南适用版本ShenzhouDB V2.0 / V3.0 / V4.0验证环境x86_64 / ARM64 / 国产化芯片飞腾/鲲鹏/龙芯/海光/兆芯/申威