09-GaussDB测评命令

GaussDB数据库三级等级保护现场核查命令脚本(统一编号版)

基础信息

select version();
select username from db_users;
  • 备注:用于确认版本和数据库用户。
  • 预期证据:版本截图、用户截图。
示例输出(节选)
gaussdb=# select version();
                                                                 version
------------------------------------------------------------------------------------------------------------------------------------------
 GaussDB Kernel 505.1.0.SPC0100 build xxx compiled at 2025-06-10 18:00:00 commit 0000 last_mr 0000
(1 row)

gaussdb=# select username from db_users;
 username
----------
 SYS
 APPUSER
 REPORT
(3 rows)

身份鉴别

A. 身份标识唯一、口令复杂度、定期更换

select resource_name, threshold from adm_profiles

where resource_name in (‘PASSWORD_REUSE_TIME’,‘FAILED_LOGIN_ATTEMPTS’,‘PASSWORD_LOCK_TIME’,‘PASSWORD_LIFE_TIME’)

order by resource_name;

  • 备注:这些参数可直接对应口令有效期、重复使用限制、失败登录处理等控制点。
  • 预期证据:参数截图、用户策略截图、制度材料。
示例输出(节选)
gaussdb=# select resource_name, threshold from adm_profiles
where resource_name in ('PASSWORD_REUSE_TIME','FAILED_LOGIN_ATTEMPTS','PASSWORD_LOCK_TIME','PASSWORD_LIFE_TIME');
      resource_name       | threshold
--------------------------+-----------
 FAILED_LOGIN_ATTEMPTS    | 5
 PASSWORD_LIFE_TIME       | 90
 PASSWORD_LOCK_TIME       | 1/48
 PASSWORD_REUSE_TIME      | 60
(4 rows)

B. 登录失败处理、会话超时退出

select resource_name, threshold from adm_profiles

where resource_name in (‘FAILED_LOGIN_ATTEMPTS’,‘PASSWORD_LOCK_TIME’)

order by resource_name;

  • 备注:重点看失败登录限制和锁定时间,超时退出需结合外围平台或会话管理配置说明。
  • 预期证据:参数截图、访谈记录、外围控制说明。
示例输出(节选)
gaussdb=# select resource_name, threshold from adm_profiles
where resource_name in ('FAILED_LOGIN_ATTEMPTS','PASSWORD_LOCK_TIME');
     resource_name      | threshold
------------------------+-----------
 FAILED_LOGIN_ATTEMPTS  | 5
 PASSWORD_LOCK_TIME     | 1/48
(2 rows)

C. 远程管理传输保密

show parameter have_ssl;
  • 备注:需结合证书、监听配置和客户端连接方式判断是否实际采用加密通信。
  • 预期证据:SSL 参数截图、证书配置截图、远程连接说明。
示例输出(节选)
gaussdb=# show parameter have_ssl;
      name      | value
----------------+-------
 have_ssl       | True
(1 row)

D. 组合鉴别

  • 备注:如通过统一认证、证书、MFA、堡垒机实现,应在记录中注明。

  • 预期证据:统一认证截图、MFA 策略截图、堡垒机截图。

访问控制

A. 账户、角色、权限分配

select username from db_users;
select grantee, granted_role from adm_role_privs where grantee='user_name' and grantee!='SYS';
  • 备注:用于核查用户和角色分配情况。
  • 预期证据:账户截图、角色授权截图、岗位职责说明。
示例输出(节选)
gaussdb=# select username from db_users;
 username
----------
 SYS
 APPUSER
gaussdb=# select grantee, granted_role from adm_role_privs where grantee='appuser';
 grantee | granted_role
---------+--------------
 appuser | app_read
 appuser | app_write
(2 rows)

B. 默认账户、多余账户、来源与高权限账户

select granted_role from adm_role_privs where grantee='user_name';
  • 备注:重点排查 DBA 等高权限角色和多余账户。
  • 预期证据:高权限账户截图、台账、抽查记录。
示例输出(节选)
gaussdb=# select granted_role from adm_role_privs where grantee='appuser';
 granted_role
--------------
 app_read
 app_write
(2 rows)

C. 细粒度授权与最小权限

select grantee, granted_role from adm_role_privs where grantee='role_name' and grantee!='SYS';
  • 备注:重点抽查角色对应的权限范围是否符合最小权限原则。
  • 预期证据:角色授权截图、抽查记录、权限审批材料。
示例输出(节选)
gaussdb=# select grantee, granted_role from adm_role_privs where grantee='app_read' and grantee!='SYS';
 grantee  | granted_role
----------+--------------
 app_read | base_query
(1 row)

D. 角色继承与特殊角色

select granted_role from adm_role_privs where grantee='role_name';
  • 备注:现场使用时将 user_namerole_name 替换为实际对象。
  • 预期证据:角色继承截图、角色设计说明。
示例输出(节选)
gaussdb=# select granted_role from adm_role_privs where grantee='app_read';
 granted_role
--------------
 base_query
(1 row)

安全审计

A. 审计功能是否开启

select name, value from dv_parameters where name='AUDIT_LEVEL';
  • 备注:用于核查数据库审计是否开启。
  • 预期证据:参数截图、审计启用截图。
示例输出(节选)
gaussdb=# select name, value from dv_parameters where name='AUDIT_LEVEL';
    name     | value
-------------+-------
 audit_level | 7
(1 row)

B. 审计范围与审计对象

select name, value from dv_parameters where name='_AUDIT_BACKUP_FILE_COUNT';
  • 备注:重点说明审计保留数量、审计范围和审计对象。
  • 预期证据:参数截图、审计策略说明、审计样例。
示例输出(节选)
gaussdb=# select name, value from dv_parameters where name='_AUDIT_BACKUP_FILE_COUNT';
          name           | value
-------------------------+-------
 _audit_backup_file_count| 64
(1 row)

C. 审计日志保护与留存

select name, value from dv_parameters where name='LOG_HOME';
select name, value from dv_parameters where name='_LOG_FILE_PERMISSIONS';
select name, value from dv_parameters where name='_LOG_PATH_PERMISSIONS';
  • 备注:重点核查日志路径、日志权限和目录权限。
  • 预期证据:参数截图、目录权限截图、留存制度、备份策略。
示例输出(节选)
gaussdb=# select name, value from dv_parameters where name='LOG_HOME';
   name   |        value
----------+----------------------
 log_home | /opt/app/gaussdb/log
(1 row)

gaussdb=# select name, value from dv_parameters where name='_LOG_FILE_PERMISSIONS';
           name           | value
--------------------------+-------
 _log_file_permissions    | 600
(1 row)

D. 审计失效告警

  • 备注:补查监控、告警和审计员管理机制。

  • 预期证据:监控告警截图、审计管理制度、告警样例。

数据完整性

A. 传输过程完整性

show parameter have_ssl;
  • 备注:传输加密可作为完整性的重要证据。
  • 预期证据:SSL 截图、远程链路说明。
示例输出(节选)
gaussdb=# show parameter have_ssl;
      name      | value
----------------+-------
 have_ssl       | True
(1 row)

B. 存储过程完整性

  • 备注:结合审计数据、配置数据、备份校验方式判定。

  • 预期证据:备份校验记录、配置保护说明、制度材料。

数据保密性

A. 传输过程保密性

show parameter have_ssl;
  • 备注:应证明远程管理和重要业务连接采用了密码技术保护。
  • 预期证据:SSL 参数截图、远程连接说明、证书截图。
示例输出(节选)
gaussdb=# show parameter have_ssl;
      name      | value
----------------+-------
 have_ssl       | True
(1 row)

B. 存储过程保密性

  • 备注:结合产品特性、磁盘加密或应用层加密核查。

  • 预期证据:加密说明、磁盘加密截图、设计材料。

备份恢复

A. 本地数据备份与恢复

  • 备注:结合备份平台、任务计划和恢复演练记录核查。

  • 预期证据:备份任务截图、恢复演练记录、备份结果。

B. 异地实时备份

  • 备注:结合主备架构、异地部署和备份链路材料核查。

  • 预期证据:异地部署说明、状态截图、拓扑图。

C. 热冗余与高可用

  • 备注:结合主备切换和演练记录核查。

  • 预期证据:切换截图、演练记录、架构图。

剩余信息保护

A. 鉴别信息所在存储空间释放前清除

  • 备注:结合平台与制度材料综合判断。

  • 预期证据:清除制度、销毁记录、平台策略说明。

B. 敏感数据所在存储空间释放前清除

  • 备注:同上。

  • 预期证据:销毁记录、回收制度、加密截图。

个人信息保护

A. 个人信息访问控制与审计

  • 备注:抽查权限、角色和审计情况。

  • 预期证据:权限截图、审计截图、抽查记录。

B. 个人信息存储与传输保护

  • 备注:抽查加密、脱敏和分类分级措施。

  • 预期证据:加密说明、脱敏策略、分类分级文件。

入侵防范

A. 访问来源限制/白名单

  • 备注:结合数据库监听/配置与防火墙策略,确认仅允许授权来源访问。

  • 预期证据:数据库访问控制或监听配置截图、主机/网络防火墙策略、堡垒机访问策略截图。

B. 异常访问与爆破防护

  • 备注:结合登录失败处理、连接限制、WAF/堡垒机/防暴力破解策略,确认具备阻断或告警能力。

  • 预期证据:失败登录限制参数截图、策略截图、告警样例、访谈记录。

C. 漏洞扫描与补丁管理

  • 备注:确认数据库漏洞扫描周期、补丁评估与修复流程。

  • 预期证据:漏洞扫描报告、补丁更新记录、变更单。

D. 恶意代码/工具防护

  • 备注:确认主机侧安全防护软件或EDR对数据库进程的防护与告警能力。

  • 预期证据:安全软件截图、策略配置截图、告警样例。

时间同步与日志一致性

  • 备注:确认数据库服务器时间同步(NTP/chrony),保证审计日志时间一致、可溯源。

  • 预期证据:NTP/chrony 配置截图、时间同步状态截图、运维制度或巡检记录。

主流版本差异说明

GaussDB主流版本核查差异说明

版本识别

select version();
show parameter have_ssl;

主流版本分档

  1. 早期版

  2. 近期版

说明:GaussDB 现场常见版本命名和发行形态差异较大,建议按实际 select version() 输出分档留痕。

重点差异

A. 身份鉴别

推荐命令:

select resource_name, threshold from adm_profiles

where resource_name in (‘PASSWORD_REUSE_TIME’,‘FAILED_LOGIN_ATTEMPTS’,‘PASSWORD_LOCK_TIME’,‘PASSWORD_LIFE_TIME’);

版本提示:

  1. 早期版与近期版主要差异常体现在参数值和默认策略,而不是主命令框架。

B. 访问控制

推荐命令:

select username from db_users;
select grantee, granted_role from adm_role_privs where grantee='user_name';

版本提示:

  1. 现场需替换实际用户和角色,注意角色继承链。

C. 安全审计

推荐命令:

select name, value from dv_parameters where name='AUDIT_LEVEL';
select name, value from dv_parameters where name='LOG_HOME';

版本提示:

  1. 早期版与近期版在日志和审计参数展示上可能有差异。

D. 传输与存储保密

推荐命令:

show parameter have_ssl;

版本提示:

  1. 仍需结合证书、客户端连接方式、平台架构共同判断。

现场编制建议

  1. 早期版重点保留原始参数截图。

  2. 近期版重点补充主备、高可用、审计留存与目录权限。

取证注意事项

  1. 不同发行形态差异可能大于版本差异,现场应记录产品全称和版本全串。

  2. 若为 openGauss 派生版,建议单独追加厂商增强模块说明。