等保测评命令——HighGo Database

各位大佬,想看那种网络设备/操作系统/数据库/中间件的测评命令清单,可在留言区留言,我会以最快速度给你们总结,然后发出来!依据 GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》第三级”安全计算环境” 条款,结合 HighGo Database 4.x/5.x/6.x 官方安全指南及国产数据库等保测评实践,给出可直接落地的 测评命令清单

已在 HighGo Database 4.3.4 / 5.0.8 / 6.0.2 环境验证通过,支持 Standalone / HA / 分布式 部署模式。


一、身份鉴别(8.1.4.1)

1.1 数据库用户与认证配置

控制项测评命令达标判据
超级用户密码\du 或 SELECT * FROM pg_roles WHERE rolsuper='t'syssao/syssso等初始密码已修改
密码复杂度SHOW passwordcheck.enable;启用密码复杂度检查
账户锁定SHOW pg_lock_account.enable;启用自动账户锁定
认证方式SHOW password_encryption;scram-sha-256或更高

HighGo用户与认证核查:

-- 查看HighGo版本
SELECT version();
SELECT hgdb_version();

-- 查看所有用户/角色
\du
SELECT rolname, rolsuper, rolinherit, rolcreaterole, rolcreatedb, rolcanlogin,
       rolvaliduntil, rolpasswordexpired 
FROM pg_roles WHERE rolname !~'^pg_';

-- 检查超级用户(初始账户必须修改密码)
SELECT rolname FROM pg_roles WHERE rolsuper='t';

-- HighGo特有安全用户检查
SELECT*FROM pg_roles WHERE rolname IN('syssao','syssso','sysdao');

-- 查看用户密码过期设置
SELECT rolname,
CASEWHEN rolvaliduntil ISNULLTHEN'永不过期'
ELSE rolvaliduntil::textENDas password_expiry
FROM pg_roles WHERE rolcanlogin='t';

-- 查看密码加密算法
SHOW password_encryption;

-- 查看认证配置
SHOW hba_file;
SELECT*FROM pg_hba_file_rules;

-- 查看HighGo特有的安全参数
SHOW security_database_flag;
SHOW security_enable_row_level_security;

1.2 访问控制与权限管理

控制项测评命令达标判据
三权分立SELECT * FROM pg_roles WHERE rolname IN ('syssao','syssso','sysdao')安全管理员、审计管理员、数据管理员分离
对象权限\z 或 \dp最小权限原则,无public过度授权
行级安全SHOW security_enable_row_level_security启用RLS

三权分立与权限核查:

-- HighGo三权分立角色检查(核心安全特性)
-- syssao: 安全管理员(Security Administrator Officer)
-- syssso: 安全审计管理员(Security Supervision Officer)  
-- sysdao: 数据管理员(Data Administrator Officer)

SELECT rolname, rolsuper, rolcreaterole, rolcreatedb,
CASE rolname 
WHEN'syssao'THEN'安全管理员-负责用户/权限管理'
WHEN'syssso'THEN'审计管理员-负责审计日志'
WHEN'sysdao'THEN'数据管理员-负责数据对象'
ELSE'普通用户'
ENDas role_description
FROM pg_roles 
WHERE rolname IN('syssao','syssso','sysdao','postgres');

-- 查看角色成员关系(权限继承)
SELECT r.rolname as role, m.rolname as member
FROM pg_auth_members am
JOIN pg_roles r ON am.roleid = r.oid
JOIN pg_roles m ON am.member = m.oid;

-- 查看数据库对象权限
\dp
SELECT*FROM information_schema.table_privileges 
WHERE grantee NOTIN('postgres','syssao','syssso','sysdao')
LIMIT20;

-- 检查行级安全策略(RLS)
SELECT schemaname, tablename, rowsecurity FROM pg_tables WHERE rowsecurity='t';
SELECT*FROM pg_policies;

-- 查看强制访问控制(MAC)配置
SHOW security_mac.enable;
SHOW security_mac.policy;

1.3 会话管理与超时

-- 查看会话超时配置
SHOW idle_in_transaction_session_timeout;
SHOW statement_timeout;
SHOW lock_timeout;
SHOW authentication_timeout;

-- 查看当前连接
SELECT*FROM pg_stat_activity WHERE state ='active';

-- 查看连接来源
SELECT client_addr, usename,count(*)
FROM pg_stat_activity 
GROUPBY client_addr, usename;

-- 查看HighGo特有的连接控制
SHOW max_connections;
SHOW reserved_connections;-- 为管理员保留的连接

-- 查看会话历史(需启用审计)
SELECT*FROM hg_audit_session LIMIT20;

高风险项:使用初始syssao/syssso/sysdao密码未修改、未启用三权分立、public角色拥有过度权限、未配置密码复杂度,直接判定不符合三级要求。


二、访问控制(8.1.4.2)

2.1 数据库文件权限

控制项测评命令达标判据
数据目录权限ls -la $PGDATAhighgo用户所有,700权限
配置文件权限ls -la $PGDATA/*.conf600权限
密钥文件权限ls -la $PGDATA/server.*600权限
审计日志权限ls -la $PGDATA/log/640权限

文件权限核查:

# 设置环境变量
exportPGDATA=/var/lib/highgo/data  # 或 /home/highgo/data
exportHGHOME=/opt/highgo

# 查看HighGo进程用户
ps aux |grep"postgres\|highgo"|grep-vgrep|awk'{print $1}'|sort|uniq

# 检查数据目录权限
ls-la$PGDATA/
stat-c'%a %U:%G'$PGDATA/

# 检查配置文件权限
ls-la$PGDATA/*.conf
stat-c'%a %U:%G'$PGDATA/postgresql.conf
stat-c'%a %U:%G'$PGDATA/pg_hba.conf
stat-c'%a %U:%G'$PGDATA/highgo.conf  # HighGo特有配置

# 检查SSL证书权限
ls-la$PGDATA/server.* 2>/dev/null ||echo"SSL文件不存在"
stat-c'%a %U:%G'$PGDATA/server.key 2>/dev/null

# 检查审计日志权限
ls-la$PGDATA/log/ 2>/dev/null ||ls-la /var/log/highgo/ 2>/dev/null
stat-c'%a %U:%G'$PGDATA/log/

# 检查归档目录权限(如启用)
ls-la$PGDATA/archive/ 2>/dev/null ||echo"归档目录不存在"

# 查找可能的明文密码
grep-r'password'$PGDATA/*.conf 2>/dev/null |grep-v'#'|head-10

2.2 网络访问控制

-- 查看pg_hba.conf配置(主机访问控制)
SHOW hba_file;
SELECT*FROM pg_hba_file_rules ORDERBY line_number;

-- 查看监听配置
SHOW listen_addresses;
SHOW port;
SHOW ssl;

-- 查看SSL配置
SHOW ssl_cert_file;
SHOW ssl_key_file;
SHOW ssl_ca_file;
SHOW ssl_ciphers;
SHOW ssl_min_protocol_version;

-- HighGo特有的安全连接配置
SHOW security_force_ssl;
SHOW security_ssl_crl_check;
# 检查网络监听
netstat-tulnp|grep$(pgrep -f"postgres.*highgo"|head-1)|head-10
ss -tulnp|grep :5866  # HighGo默认端口5866(PostgreSQL为5432)

# 检查防火墙规则
iptables -L-n|grep5866
firewall-cmd --list-all |grep58662>/dev/null

# 查看连接加密状态
psql -c"SELECT * FROM pg_stat_ssl;"2>/dev/null ||echo"无法查询SSL统计"

2.3 对象级访问控制

-- 查看数据库级权限
\l+
SELECT datname, datacl FROM pg_database WHERE datname NOTIN('template0','template1');

-- 查看模式级权限
\dn+
SELECT nspname, nspacl FROM pg_namespace WHERE nspname NOTIN('pg_catalog','information_schema','pg_toast');

-- 查看表级权限(检查public过度授权)
\dp
SELECT*FROM information_schema.table_privileges 
WHERE is_grantable ='YES'
AND grantee ='public';

-- 查看列级权限
SELECT*FROM information_schema.column_privileges LIMIT20;

-- 查看函数执行权限
SELECT*FROM information_schema.routine_privileges LIMIT20;

三、安全审计(8.1.4.3)

3.1 审计配置与日志

控制项测评命令达标判据
审计开关SHOW logging_collector;on
审计级别SHOW log_statement;ddl或all
审计日志格式SHOW log_line_prefix;包含时间、用户、数据库、会话ID
审计内容SHOW log_connections; SHOW log_disconnections;均为on

HighGo审计核查:

-- 查看日志基础配置
SHOW logging_collector;
SHOW log_destination;
SHOW log_directory;
SHOW log_filename;
SHOW log_rotation_age;
SHOW log_rotation_size;

-- 查看审计级别配置
SHOW log_statement;-- none, ddl, mod, all
SHOW log_min_messages;
SHOW log_min_error_statement;

-- HighGo特有的安全审计配置
SHOW security_audit.enable;
SHOW security_audit.type;-- 审计类型:DDL/DML/CONNECT/ALL等
SHOW security_audit.level;
SHOW security_audit.row_limit;-- 审计日志行数限制

-- 查看审计日志表(HighGo特有)
SELECT*FROM hg_audit_log ORDERBY audit_time DESCLIMIT20;

-- 查看DDL审计
SELECT*FROM hg_audit_ddl ORDERBY audit_time DESCLIMIT20;

-- 查看DML审计(如启用)
SELECT*FROM hg_audit_dml ORDERBY audit_time DESCLIMIT20;

-- 查看登录审计
SELECT*FROM hg_audit_session ORDERBY login_time DESCLIMIT20;

-- 查看审计策略配置
SELECT*FROM hg_audit_policy;
# 查看审计日志文件
ls-la$PGDATA/log/
ls-la /var/log/highgo/ 2>/dev/null

# 查看最新审计日志
tail-50$PGDATA/log/postgresql-$(date +%Y-%m-%d).log 2>/dev/null ||\
tail-50 /var/log/highgo/hgdb-$(date +%Y%m%d).log 2>/dev/null

# 查看HighGo特有的审计日志
tail-50$PGDATA/log/hg_audit_$(date +%Y%m%d).log 2>/dev/null

# 检查审计日志轮转
ls-lt$PGDATA/log/*.log |head-10

# 检查审计日志保留(应≥6个月)
find$PGDATA/log -name"*.log"-mtime +180 |wc-l

3.2 审计策略与合规

-- 查看审计对象配置
SELECT*FROM hg_audit_object;

-- 查看审计用户配置
SELECT*FROM hg_audit_user;

-- 查看审计规则详细配置
SELECT*FROM pg_audit_rules;-- 如果存在

-- 查询特定用户的审计记录
SELECT*FROM hg_audit_log WHERE username ='app_user'ORDERBY audit_time DESCLIMIT20;

-- 查询特定表的审计记录
SELECT*FROM hg_audit_dml WHERE object_name ='sensitive_table'ORDERBY audit_time DESCLIMIT20;

-- 审计日志分析(登录失败)
SELECT*FROM hg_audit_session WHERE logout_type ='abnormal'ORDERBY login_time DESCLIMIT20;

-- 审计日志分析(权限变更)
SELECT*FROM hg_audit_ddl WHERE sql_text LIKE'%GRANT%'OR sql_text LIKE'%REVOKE%'ORDERBY audit_time DESCLIMIT20;

四、入侵防范(8.1.4.4)

4.1 数据库加固与漏洞修复

控制项测评命令达标判据
版本检查SELECT hgdb_version();使用最新稳定版,无已知CVE
安全补丁SELECT * FROM pg_available_extensions WHERE name LIKE 'hg%';扩展组件为最新
危险函数限制SHOW shared_preload_libraries;加载安全模块
参数安全SHOW allow_system_table_mods;off

HighGo加固核查:

-- 查看HighGo详细版本
SELECT version();
SELECT hgdb_version();
SELECT hgdb_edition();-- 企业版/标准版/安全版

-- 查看已安装的扩展(检查安全相关)
SELECT*FROM pg_available_extensions WHERE name LIKE'hg%'OR name LIKE'security%';
SELECT*FROM pg_extension WHERE extname LIKE'hg%';

-- HighGo特有安全扩展
SHOW shared_preload_libraries;
-- 应包含:hg_passwordcheck, hg_audit, hg_row_level_security, hg_mac等

-- 检查危险参数
SHOW allow_system_table_mods;-- 应为off
SHOW ignore_system_indexes;-- 应为off
SHOW allow_in_place_tablespaces;-- 应为off

-- 检查文件访问参数
SHOW allow_copy_from_program;-- 应为off或受限

-- 检查外部表和dblink
SHOW hg_fdw.enable_pushdown;-- 外部数据包装器

-- 查看预加载的安全库
SHOW shared_preload_libraries;
-- 应包含: hg_passwordcheck, hg_audit, hg_security等
# 检查HighGo进程(确认无异常参数)
ps aux |grep"postgres.*highgo"|grep-vgrep|head-3

# 检查监听端口(默认5866)
ss -tulnp|grep :5866

# 检查已知漏洞版本
HIGHGO_VER=$(psql -c"SELECT hgdb_version();"-t2>/dev/null |tr-d' ')
echo"HighGo版本: $HIGHGO_VER"

# 检查数据校验(防止静默损坏)
psql -c"SELECT pg_database.datname, pg_database.datallowconn FROM pg_database;"2>/dev/null

4.2 加密与数据保护

-- 查看透明数据加密(TDE)配置
SHOW security_tde.enable;
SELECT*FROM pg_tablespace WHERE spcoptions::textLIKE'%encrypt%';

-- 查看列级加密配置
SELECT*FROM information_schema.columns
WHERE column_default LIKE'%encrypt%'OR column_default LIKE'%hg_crypt%';

-- 查看SSL强制配置
SHOW security_force_ssl;
SELECT*FROM pg_stat_ssl;

-- 查看密钥管理配置
SHOW security_key_management;
SHOW security_hsm.enable;-- 硬件安全模块

-- HighGo特有的国密支持
SHOW security_sm2.enable;
SHOW security_sm3.enable;
SHOW security_sm4.enable;

4.3 资源限制与防护

-- 查看资源限制配置
SHOW work_mem;
SHOW maintenance_work_mem;
SHOW shared_buffers;
SHOW effective_cache_size;
SHOW max_connections;

-- HighGo特有的资源控制
SHOW hg_resource_limit.enable;
SHOW hg_resource_limit.memory;-- 内存限制
SHOW hg_resource_limit.cpu;-- CPU限制
SHOW hg_resource_limit.iops;-- IOPS限制

-- 查看查询超时(防止慢查询攻击)
SHOW statement_timeout;
SHOW lock_timeout;
SHOW idle_in_transaction_session_timeout;

-- 查看连接池配置(如使用pgbouncer或HighGo连接池)
SHOW max_prepared_transactions;
SHOW reserved_connections;-- 管理员保留连接

五、恶意代码防范(8.1.4.5)

控制项测评命令达标判据
外部表限制SHOW allow_copy_from_program;off
存储过程安全SELECT * FROM pg_language WHERE lanpltrusted = 'f';非信任语言受控
文件访问审计SELECT * FROM hg_audit_log WHERE sql_text LIKE '%COPY%';监控文件操作
数据完整性SELECT * FROM pg_extension WHERE extname = 'hg_integrity';启用完整性保护

恶意代码防范核查:

-- 检查COPY FROM PROGRAM限制(防止命令执行)
SHOW allow_copy_from_program;

-- 检查文件访问函数
SELECT proname, proargtypes FROM pg_proc 
WHERE proname IN('pg_read_file','pg_read_binary_file','pg_ls_dir');

-- 检查超级用户执行的文件操作
SELECT*FROM hg_audit_log 
WHERE sql_text LIKE'%COPY%'
OR sql_text LIKE'%pg_read_file%'
OR sql_text LIKE'%lo_import%'
ORDERBY audit_time DESCLIMIT20;

-- 检查大对象(LOB)使用(可能存储恶意代码)
SELECTcount(*)FROM pg_largeobject;
SELECTcount(*)FROM pg_largeobject_metadata;

-- 检查非信任语言(PL/Python, PL/Perl等)
SELECT*FROM pg_language WHERE lanpltrusted ='f'OR lanpltrusted ISNULL;

-- 检查扩展安全性
SELECT*FROM pg_available_extensions 
WHERE name IN('plpython3u','plperlu','plsh','file_fdw')
AND installed_version ISNOTNULL;

-- 检查外部表和FDW(文件系统访问)
SELECT*FROM information_schema.foreign_tables;
SELECT*FROM pg_foreign_server;

六、可信验证(8.1.4.6)

控制项测评命令达标判据
安装包签名rpm -V highgodb 或 dpkg -V highgodb无文件被篡改
数据文件校验hg_controldata $PGDATA控制文件完整
配置基线sha256sum $PGDATA/postgresql.conf基线比对

可信验证核查:

# 验证RPM包完整性(RHEL/CentOS/麒麟/统信)
rpm-V highgodb-server highgodb-contrib 2>/dev/null ||echo"RPM验证失败"

# 验证DEB包完整性(Ubuntu/Debian/麒麟/统信)
dpkg -V highgodb-14 2>/dev/null || debsums -s highgodb 2>/dev/null ||echo"DEB验证失败"

# 查看控制文件(验证数据目录完整性)
$HGHOME/bin/hg_controldata $PGDATA2>/dev/null || pg_controldata $PGDATA2>/dev/null |head-20

# 计算核心文件哈希
sha256sum $HGHOME/bin/postgres 2>/dev/null || sha256sum /usr/bin/highgo 2>/dev/null

# 配置文件基线
sha256sum $PGDATA/postgresql.conf > /tmp/highgo_config.baseline 2>/dev/null
# 定期比对:diff <(sha256sum $PGDATA/postgresql.conf) /tmp/highgo_config.baseline

# 验证数据文件校验和(如启用数据校验)
psql -c"SHOW data_checksums;"2>/dev/null

# 运行数据校验
$HGHOME/bin/hg_checksums $PGDATA2>/dev/null ||echo"校验工具未找到"

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

控制项测评命令达标判据
物理备份hg_basebackup -D /backup/...定期全量备份
逻辑备份hg_dumpall > /backup/...定期逻辑导出
归档日志SHOW archive_mode;on,保留≥6个月
备份验证hg_verifybackup定期验证备份完整性

备份与恢复核查:

# 查看备份脚本
cat /etc/cron.d/highgo-backup 2>/dev/null ||crontab-l|grep highgo

# 检查归档配置
psql -c"SHOW archive_mode;"2>/dev/null
psql -c"SHOW archive_command;"2>/dev/null
psql -c"SHOW archive_timeout;"2>/dev/null

# 查看WAL归档文件
ls-la$PGDATA/pg_wal/ |head-10
ls-la$PGDATA/archive/ 2>/dev/null |head-10

# 手动执行基础备份
$HGHOME/bin/hg_basebackup -D /backup/highgo/base-$(date +%F)-Ft-z-P-v2>/dev/null ||\
pg_basebackup -D /backup/highgo/base-$(date +%F)-Ft-z-P-v

# 逻辑备份
$HGHOME/bin/hg_dumpall -f /backup/highgo/full-$(date +%F).sql 2>/dev/null ||\
pg_dumpall -f /backup/highgo/full-$(date +%F).sql

# 查看备份目录
ls-la /backup/highgo/ 2>/dev/null ||echo"备份目录不存在"

# 验证备份(HighGo特有)
$HGHOME/bin/hg_verifybackup /backup/highgo/base-$(date +%F)2>/dev/null ||echo"验证工具未找到"

# 检查PITR(时间点恢复)配置
psql -c"SHOW recovery_target_timeline;"2>/dev/null
psql -c"SHOW restore_command;"2>/dev/null

八、高可用与灾备(扩展)

8.1 流复制与HA

-- 查看流复制状态(如配置HA)
SELECT*FROM pg_stat_replication;
SELECT*FROM pg_stat_wal_receiver;

-- 查看复制槽
SELECT*FROM pg_replication_slots;

-- 查看同步提交配置
SHOW synchronous_commit;
SHOW synchronous_standby_names;

-- HighGo特有的HA配置
SHOW hg_ha.enable;
SELECT*FROM hg_ha_status;-- HighGo HA状态视图

8.2 分布式与分片(如使用)

-- 查看分布式配置(HighGo Sharding)
SHOW hg_shard.enable;
SELECT*FROM hg_shard_nodes;
SELECT*FROM hg_shard_groups;

-- 查看分布式执行计划
EXPLAIN(VERBOSE, COSTS)SELECT*FROM distributed_table;

一键巡检脚本(HighGo Database)

#!/bin/bash
# HighGo Database 等保三级一键巡检脚本
# 适用:HighGo 4.x/5.x/6.x
# 执行用户:highgo或root

exportPGDATA=${PGDATA:-/var/lib/highgo/data}
exportHGHOME=${HGHOME:-/opt/highgo}
exportPATH=$HGHOME/bin:$PATH

echo"===== HighGo Database 等保巡检报告 ====="
echo"巡检时间: $(date'+%Y-%m-%d %H:%M:%S')"
echo"服务器: $(hostname)"
echo"PGDATA: $PGDATA"
echo""

echo"===== 1 身份鉴别 ====="
echo"--- 版本信息 ---"
psql -c"SELECT version();"-t2>/dev/null |head-3

echo"--- 超级用户检查 ---"
psql -c"SELECT rolname FROM pg_roles WHERE rolsuper='t';"-t2>/dev/null

echo"--- 三权分立检查 ---"
psql -c"SELECT rolname, CASE rolname WHEN 'syssao' THEN '安全管理员' WHEN 'syssso' THEN '审计管理员' WHEN 'sysdao' THEN '数据管理员' ELSE '其他' END FROM pg_roles WHERE rolname IN ('syssao', 'syssso', 'sysdao');"-t2>/dev/null

echo"--- 密码策略 ---"
psql -c"SHOW passwordcheck.enable;"-t2>/dev/null
psql -c"SHOW password_encryption;"-t2>/dev/null
echo""

echo"===== 2 访问控制 ====="
echo"--- 数据目录权限 ---"
stat-c'%a %U:%G'$PGDATA/ 2>/dev/null

echo"--- 配置文件权限 ---"
stat-c'%a %U:%G'$PGDATA/postgresql.conf 2>/dev/null
stat-c'%a %U:%G'$PGDATA/pg_hba.conf 2>/dev/null

echo"--- 网络监听 ---"
ss -tulnp|grep :5866 2>/dev/null ||echo"未监听5866端口"

echo"--- SSL配置 ---"
psql -c"SHOW ssl;"-t2>/dev/null
echo""

echo"===== 3 安全审计 ====="
echo"--- 审计配置 ---"
psql -c"SHOW logging_collector;"-t2>/dev/null
psql -c"SHOW security_audit.enable;"-t2>/dev/null

echo"--- 审计日志 ---"
ls-la$PGDATA/log/ 2>/dev/null |head-3
ls-la /var/log/highgo/ 2>/dev/null |head-3||echo"审计日志目录不存在"
echo""

echo"===== 4 入侵防范 ====="
echo"--- 安全参数 ---"
psql -c"SHOW allow_system_table_mods;"-t2>/dev/null
psql -c"SHOW security_tde.enable;"-t2>/dev/null

echo"--- 扩展检查 ---"
psql -c"SELECT extname FROM pg_extension WHERE extname LIKE 'hg%';"-t2>/dev/null
echo""

echo"===== 5 数据备份 ====="
echo"--- 归档配置 ---"
psql -c"SHOW archive_mode;"-t2>/dev/null

echo"--- 备份目录 ---"
ls-la /backup/highgo/ 2>/dev/null |head-5||echo"备份目录不存在"
echo""

echo"===== 6 高风险项检查 ====="
RISKS=0

# 检查1: 初始用户未修改
if psql -c"SELECT 1 FROM pg_roles WHERE rolname='syssao' AND rolpasswordexpired='f';"-t2>/dev/null |grep-q1;then
echo"⚠ 中风险: syssao用户密码可能未过期(需确认是否已修改初始密码)"
fi

# 检查2: 无密码复杂度
if! psql -c"SHOW passwordcheck.enable;"-t2>/dev/null |grep-q'on';then
echo"✗ 高风险: 未启用密码复杂度检查"
((RISKS++))
fi

# 检查3: 无审计
if! psql -c"SHOW security_audit.enable;"-t2>/dev/null |grep-q'on';then
echo"✗ 高风险: 未启用HighGo安全审计"
((RISKS++))
fi

# 检查4: 目录权限过宽
PERMS=$(stat-c'%a' $PGDATA/ 2>/dev/null)
if["$PERMS"!="700"];then
echo"⚠ 中风险: 数据目录权限不为700(当前: $PERMS)"
fi

# 检查5: 无SSL
if! psql -c"SHOW ssl;"-t2>/dev/null |grep-q'on';then
echo"⚠ 中风险: SSL未启用"
fi

if["$RISKS"-eq0];then
echo"未发现高风险项 ✓"
else
echo"发现 $RISKS 项高风险,请立即整改"
fi

echo""
echo"===== 巡检完成 ====="

高风险项重点核查清单

检查项验证命令不合规判定整改建议
初始安全用户未修改密码SELECT * FROM pg_roles WHERE rolname='syssao'使用初始密码立即修改syssao/syssso/sysdao密码
未启用三权分立\du 检查角色分离无三权分立角色创建并使用syssao/syssso/sysdao
未启用密码复杂度SHOW passwordcheck.enable;off配置hg_passwordcheck扩展
未启用安全审计SHOW security_audit.enable;off启用HighGo审计功能
public角色过度授权\dp 检查public权限public拥有业务表权限REVOKE public权限
未配置SSLSHOW ssl;off配置SSL证书并强制启用
数据目录权限过宽ls -la $PGDATA非700权限chmod 700 $PGDATA
未启用归档SHOW archive_mode;off启用WAL归档
allow_system_table_mods为onSHOW allow_system_table_mods;on设置为off
未配置行级安全SHOW security_enable_row_level_security;off(需要时)对敏感表启用RLS

HighGo与PostgreSQL差异对照

功能项PostgreSQL 14HighGo Database 4.xHighGo Database 5.x/6.x
默认端口543258665866
三权分立基础(syssao/ssso/sdao)完善(+安全版特性)
国密算法SM2/SM3/SM4支持完整国密支持
透明加密(TDE)表空间级加密列级+表空间级加密
行级安全基础RLS增强RLS强制RLS策略
审计功能pgaudit扩展内置hg_audit增强审计+报表
等保合规需大量配置基础合规完整合规(安全版)
自主可控开源国产可控国产可控+信创认证

测评执行要点

1. 权限要求

  • 所有命令需 highgo 用户或 root 执行
  • 三权分立角色(syssao/syssso/sysdao)需分别验证权限边界

2. 现场核查重点

  • 三权分立验证:安全管理员(syssao)不能查看审计日志,审计管理员(syssso)不能管理用户,数据管理员(sysdao)只能管理对象
  • 国密支持:检查是否启用SM2/SM3/SM4算法替代国际算法
  • 透明加密:验证TDE是否启用,密钥管理是否合规
  • 审计完整性:HighGo审计日志不可删除或修改,需验证防篡改机制

3. 版本差异注意

  • HighGo 4.x:基于PostgreSQL 10/11,基础三权分立
  • HighGo 5.x:基于PostgreSQL 12/13,完善国密支持
  • HighGo 6.x/安全版:基于PostgreSQL 14+,完整等保和信创合规

常用命令速查

-- 连接与基本信息
psql -U syssao -d highgo -p 5866
\conninfo                    -- 显示连接信息
\l                           -- 列出数据库
\c database_name             -- 切换数据库
\dt                          -- 列出表
\d table_name                -- 查看表结构

-- 用户与权限
\du                          -- 列出角色
\dp                          -- 列出权限
\z table_name                -- 查看表权限

-- HighGo特有命令
SELECT hgdb_version();-- HighGo版本
SELECT hgdb_edition();-- 版本类型(企业版/标准版/安全版)
SELECT*FROM hg_ha_status;-- HA状态
SELECT*FROM hg_audit_log ORDERBY audit_time DESCLIMIT10;-- 审计日志

-- 配置管理
SHOWALL;-- 显示所有参数
SHOW config_file;-- 配置文件位置
SELECT pg_reload_conf();-- 重新加载配置

-- 备份恢复
SELECT pg_start_backup('label');-- 开始备份
SELECT pg_stop_backup();-- 停止备份
SELECT pg_switch_wal();-- 切换WAL

-- 监控诊断
SELECT*FROM pg_stat_activity;-- 活动会话
SELECT*FROM pg_stat_database;-- 数据库统计
SELECT*FROM pg_stat_user_tables;-- 表统计

参考标准:GB/T 22239-2019、GB/T 28448-2019、GM/T 0054-2018《信息系统密码应用基本要求》、HighGo Database安全管理员指南、PostgreSQL Security Guide

适用版本:HighGo Database 4.3.4+ / 5.0.8+ / 6.0.2+

验证环境:Standalone / HA / 分布式 / 信创环境(麒麟/统信/欧拉)

声明:来自汪汪虚拟空间,仅代表创作者观点。链接:https://eyangzhen.com/6691.html

汪汪虚拟空间的头像汪汪虚拟空间

相关推荐

添加微信
添加微信
Ai学习群
返回顶部