02-Oracle测评命令

Oracle 11g/12c/19c 三级等保现场测评取证命令单:show user 基础信息核查,dba_users 的 username/user_id/profile/account_status 账户状态与 dba_profiles 的 resource_name/limit 资源限制口令策略核查(身份鉴别),用户与角色授权访问控制核查,数据库审计配置与审计日志安全审计核查,以及数据完整性、数据保密性、备份恢复、剩余信息保护、个人信息保护、入侵防范、时间同步与日志一致性核查,附主流版本差异说明、现场编制建议与取证注意事项。

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

适用范围:Oracle 11g/12c/19c

定位:三级等保现场测评取证命令单,按功能小节组织核查命令、预期现象与判定要点。

基础信息

  • 对应控制点:取证基础信息,不直接对应具体控制点,服务于 GB/T 22239-2019 8.1.4 安全计算环境各核查项。
  • 判定要点:确认版本分档(11g/12c/19c)、实例与归档模式;版本决定后续命令口径,非归档模式将影响备份恢复(8.1.4.9)判定。
  • 取证要求:截图须体现版本号、实例名、归档模式与执行身份,并留存执行时间。
show user;
select * from v$version;
select * from product_component_version;
select instance_name, instance_number from v$instance;
select name, log_mode from v$database;
  • 备注:用于确认数据库版本、实例状态、归档模式和当前连接身份。
  • 预期证据:版本截图、实例信息截图、数据库状态截图。
示例输出(节选)
SQL> show user
USER is "SYS"
SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

SQL> select instance_name, instance_number from v$instance;

INSTANCE_NAME     INSTANCE_NUMBER
----------------  ---------------
orcl                          1

SQL> select name, log_mode from v$database;

NAME      LOG_MODE
--------- ------------
ORCL      ARCHIVELOG

身份鉴别

  • 对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别(a~d)。
  • 判定要点:身份标识唯一、口令复杂度与定期更换(a)、登录失败处理与会话超时(b)、远程管理防窃听(c)、双因素组合鉴别(d)。版本差异:11g 的 VERIFY_FUNCTION_11G 已被官方弃用,12c+ 供应的验证函数为 ORA12C_VERIFY_FUNCTION/ORA12C_STRONG_VERIFY_FUNCTION/ORA12C_STIG_VERIFY_FUNCTION。
  • 取证要求:profile 口令参数截图、账号清单、sqlnet.ora 与监听加密配置、双因素平台截图及访谈记录相互印证。

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

select username, user_id, profile, account_status from dba_users order by username;
select profile, resource_name, limit from dba_profiles
  where resource_name in ('PASSWORD_VERIFY_FUNCTION','PASSWORD_LIFE_TIME','PASSWORD_REUSE_TIME','PASSWORD_REUSE_MAX','PASSWORD_GRACE_TIME')
  order by profile, resource_name;
  • 备注:重点看用户唯一性、口令复杂度函数、口令有效期和重用限制。dba_users.account_status(OPEN/EXPIRED/LOCKED(TIMED) 等)与 dba_profiles 口令类资源参数(PASSWORD_VERIFY_FUNCTION 等)以 19c Reference 为准;11g 的 VERIFY_FUNCTION_11G 已被官方标记弃用,建议 12c+ 环境使用 ORA12C 系列验证函数。
  • 预期证据:dba_users 查询截图、dba_profiles 口令策略截图、账号管理制度。
示例输出(节选)
SQL> select username, account_status, profile from dba_users order by username;

USERNAME          ACCOUNT_STATUS     PROFILE
----------------  -----------------  ----------
APPUSER           OPEN               DEFAULT
AUDIT_ADMIN       OPEN               C__AUDIT
SYS               OPEN               DEFAULT
SYSTEM            OPEN               DEFAULT

SQL> select profile, resource_name, limit from dba_profiles
  2  where resource_name in ('PASSWORD_VERIFY_FUNCTION','PASSWORD_LIFE_TIME');

PROFILE    RESOURCE_NAME                LIMIT
---------- ---------------------------- --------
DEFAULT    PASSWORD_LIFE_TIME           90
DEFAULT    PASSWORD_VERIFY_FUNCTION     VERIFY_FUNCTION_11G

高风险提示:口令未配置复杂度校验(PASSWORD_VERIFY_FUNCTION 为空)或存在默认口令账号属高风险情形,参照 22、高风险判定指引与加固对照表 判定。

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

select profile, resource_name, limit from dba_profiles
  where resource_name in ('FAILED_LOGIN_ATTEMPTS', 'PASSWORD_LOCK_TIME', 'IDLE_TIME')
  order by profile, resource_name;
  • 备注:重点看失败登录限制、锁定时间、空闲会话超时退出设置。
  • 预期证据:相关 profile 参数截图、会话管理制度、访谈记录。
示例输出(节选)
SQL> select profile, resource_name, limit from dba_profiles
  2  where resource_name in ('FAILED_LOGIN_ATTEMPTS','PASSWORD_LOCK_TIME','IDLE_TIME')
  3  order by profile, resource_name;

PROFILE    RESOURCE_NAME                 LIMIT
---------- ----------------------------- ----------
DEFAULT    FAILED_LOGIN_ATTEMPTS         5
DEFAULT    IDLE_TIME                     30
DEFAULT    PASSWORD_LOCK_TIME            1

C. 远程管理传输保密

# SQLNET.* 属 sqlnet.ora/listener.ora 参数,show parameter 查询不到,须直接取证配置文件与监听
cat $ORACLE_HOME/network/admin/sqlnet.ora
cat $ORACLE_HOME/network/admin/listener.ora
lsnrctl status
show parameter remote_login_passwordfile
  • 备注:应结合 sqlnet.ora、监听配置、证书与远程管理路径判断是否采用加密传输。TCPS(TLS)或原生网络加密(SQLNET.ENCRYPTION_SERVER/SQLNET.CRYPTO_CHECKSUM_SERVER 设为 required)任一满足即可,lsnrctl status 中出现 PROTOCOL=tcps 端点为直接证据。
  • 预期证据:参数截图、sqlnet.ora 配置截图、监听与证书配置截图、堡垒机/远程管理链路说明。
示例输出(节选)
SQL> show parameter remote_login_passwordfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile            string      EXCLUSIVE

$ cat $ORACLE_HOME/network/admin/sqlnet.ora
SQLNET.ENCRYPTION_SERVER = required
SQLNET.CRYPTO_CHECKSUM_SERVER = required

$ lsnrctl status | grep -i tcps
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=db01)(PORT=1522)))

高风险提示:远程管理鉴别信息明文传输(未配置 TCPS 或原生网络加密)属高风险情形,参照 22、高风险判定指引与加固对照表 判定。

D. 组合鉴别

  • 备注:Oracle 原生不一定直接体现双因素,需结合堡垒机、统一认证体系、MFA 平台综合判定。

  • 预期证据:双因素界面截图、统一认证策略截图、访谈记录。

访问控制

  • 对应控制点:GB/T 22239-2019 8.1.4.2 访问控制(a~f)。
  • 判定要点:账户与权限分配(a)、默认账户重命名/改口令(b)、多余过期账户清理、避免共享账户(c)、最小权限与权限分离(d)、授权粒度到表/列级(f)。版本差异:12c/19c 需区分 CDB 公共用户与 PDB 本地用户的授权边界。
  • 取证要求:账户、系统/对象/字段权限查询截图,管理员台账与权限审批记录。

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

select username, profile, account_status from dba_users order by username;
select * from dba_sys_privs where grantee in (select username from dba_users where account_status='OPEN');
select * from dba_role_privs;
  • 备注:重点核查账户状态、角色划分和高权限授权情况。
  • 预期证据:账户截图、系统权限截图、角色授权截图、岗位职责分工说明。
示例输出(节选)
SQL> select grantee, privilege from dba_sys_privs where grantee='APPUSER';

GRANTEE                         PRIVILEGE
------------------------------- ----------------------------------------
APPUSER                         CREATE SESSION
APPUSER                         SELECT ANY TABLE

SQL> select grantee, granted_role from dba_role_privs where grantee='APPUSER';

GRANTEE              GRANTED_ROLE
-------------------- --------------------
APPUSER              CONNECT
APPUSER              RESOURCE

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

select * from v$pwfile_users;
select * from dba_users_with_defpwd;
  • 备注:重点看 SYSDBA、SYSOPER、DBA 等高权限账户是否最小化,是否存在共享管理账户。dba_users_with_defpwd 列出仍在使用默认口令的账号(19c RU 19.32+ 另有 PRODUCT 列);11g 的 v$pwfile_users 无 SYSBACKUP/SYSDG/SYSKM 列,19c 亦无 SYSRAC 列。
  • 预期证据:高权限账户截图、默认口令账号查询截图、管理员台账、账号审批记录。
示例输出(节选)
SQL> select username, sysdba, sysoper, sysasm, sysbackup, sysdg, syskm from v$pwfile_users;

USERNAME                       SYSDB SYSOP SYSAS SYSBA SYNDG SYSKM
------------------------------ ----- ----- ----- ----- ----- -----
SYS                            TRUE  TRUE  FALSE FALSE FALSE FALSE

SQL> select * from dba_users_with_defpwd;

no rows selected

高风险提示:dba_users_with_defpwd 有返回即存在默认口令账号,属高风险情形,参照 22、高风险判定指引与加固对照表 判定。

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

select * from dba_tab_privs;
select * from dba_col_privs;
  • 备注:重点抽查重要对象、敏感字段权限,确认是否符合最小权限原则。
  • 预期证据:对象权限截图、字段权限截图、抽查记录。
示例输出(节选)
SQL> select grantee, owner, table_name, privilege from dba_tab_privs where rownum <= 4;

GRANTEE   OWNER     TABLE_NAME           PRIVILEGE
--------- --------- -------------------- ---------------
REPORT    APPUSER   T_ORDER              SELECT
REPORT    APPUSER   T_CUSTOMER           SELECT
APPUSER   SYS       DBMS_CRYPTO          EXECUTE

D. 角色继承与特殊角色

select * from dba_role_privs;
  • 备注:重点说明角色继承链和特殊角色的授权范围。
  • 预期证据:角色继承截图、角色设计说明。
示例输出(节选)
SQL> select grantee, granted_role, admin_option from dba_role_privs where grantee='APPUSER';

GRANTEE              GRANTED_ROLE         ADM
-------------------- -------------------- ---
APPUSER              CONNECT              NO
APPUSER              RESOURCE             NO

安全审计

  • 对应控制点:GB/T 22239-2019 8.1.4.3 安全审计(a~d)。
  • 判定要点:审计覆盖每个用户与重要事件(a)、记录含日期时间/用户/事件类型/结果(b)、日志保护与定期备份(c)、审计进程保护(d)。版本差异:12c 起统一审计(Unified Auditing)启用后,audit_trail 与传统审计视图(DBA_STMT_AUDIT_OPTS 等)均不再生效,须改查 UNIFIED_AUDIT_TRAIL。
  • 取证要求:审计参数与审计策略截图、审计记录样例、日志留存与备份制度。

A. 审计功能是否开启

show parameter audit_trail
show parameter audit_sys_operations
select value from v$option where parameter='Unified Auditing';
  • 备注:重点看数据库审计是否启用,系统级操作是否纳入审计。audit_trail 取值 none/os/db/db,extended/xml/xml,extended(默认 none,为静态参数,修改需重启实例);v$option 的 Unified Auditing 行 12c 起才有,VALUE=TRUE 表示统一审计已启用,此时传统审计视图与 audit_trail 设置均无效。
  • 预期证据:参数截图、审计启用截图、制度要求。
示例输出(节选)
SQL> show parameter audit_trail

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_trail                          string      DB

SQL> show parameter audit_sys_operations

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_sys_operations                 boolean     TRUE

SQL> select value from v$option where parameter='Unified Auditing';

VALUE
----------------------------------------------------------------
FALSE

高风险提示:审计功能未开启(audit_trail=none 且统一审计未启用)属高风险情形,参照 22、高风险判定指引与加固对照表 判定。

B. 审计范围与审计对象

select * from dba_stmt_audit_opts;
select * from dba_priv_audit_opts;
select * from dba_obj_audit_opts where owner in (select username from dba_users where account_status='OPEN');
select dbusername, action_name, event_timestamp from unified_audit_trail where rownum <= 5;
  • 备注:重点看是否覆盖语句、权限、对象操作等关键事件。dba_stmt_audit_opts/dba_priv_audit_opts 仅在传统审计(未启用统一审计)环境下有数据;统一审计环境从 unified_audit_trail 取证(含 SQL_TEXT、SYSTEM_PRIVILEGE_USED 等列)。
  • 预期证据:审计策略截图、关键操作审计样例截图。
示例输出(节选)
SQL> select * from dba_stmt_audit_opts;

USER_NAME             AUDIT_OPTION          SUCCESS    FAILURE
--------------------- --------------------- ---------- ----------
                      CREATE SESSION        BY ACCESS  BY ACCESS
                      ALTER USER            BY ACCESS  BY ACCESS

SQL> select * from dba_priv_audit_opts where rownum <= 3;

USER_NAME             PRIVILEGE             SUCCESS    FAILURE
--------------------- --------------------- ---------- ----------
                      ALTER ANY TABLE       BY ACCESS  BY ACCESS

SQL> select dbusername, action_name, event_timestamp from unified_audit_trail where rownum <= 3;

DBUSERNAME  ACTION_NAME      EVENT_TIMESTAMP
----------- ---------------- --------------------------------
APPUSER     LOGON            24-AUG-26 09.15.02.000000 AM

C. 审计日志保护与留存

select * from sys.aud$;
show parameter audit_file_dest
  • 备注:audit_trail=db 时审计记录落在 SYS.AUD$ 表,os/xml 模式落在 audit_file_dest 指定目录;需结合操作系统、日志平台和制度,核查审计日志目录权限、留存周期和备份情况。
  • 预期证据:审计记录截图、日志目录权限截图、日志留存制度、备份策略。
示例输出(节选)
SQL> select sessionid, userid, action#, timestamp# from sys.aud$ where rownum <= 3;

 SESSIONID USER_ID   ACTION# TIMESTAMP#
---------- ------- ---------- ---------
   1024561       88        100 24-AUG-26
   1024562       88        100 24-AUG-26
   1024601        6        103 23-AUG-26

SQL> show parameter audit_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      /opt/app/oracle/admin/orcl/adump

D. 审计失效告警

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

  • 预期证据:告警规则截图、告警消息样例、审计员管理制度。

数据完整性

  • 对应控制点:GB/T 22239-2019 8.1.4.7 数据完整性(a~b)。
  • 判定要点:传输过程完整性采用校验技术或密码技术(TCPS/TLS 或原生网络加密校验和)(a),存储过程完整性覆盖鉴别、业务、审计、配置等数据(b)。数据库层面主要能证明传输侧,存储侧需结合备份校验记录与文件权限判定。
  • 取证要求:sqlnet.ora 与监听配置截图、备份校验记录、存储保护说明。

A. 传输过程完整性

grep -iE 'CRYPTO_CHECKSUM|ENCRYPTION' $ORACLE_HOME/network/admin/sqlnet.ora
  • 备注:结合监听、sqlnet.ora、证书配置判断传输完整性保护是否到位。原生网络加密的 SQLNET.CRYPTO_CHECKSUM_SERVER(完整性校验和)与 TCPS 均可作为证据;SQLNET.* 参数不在 v$parameter 中,show parameter 查询不到。
  • 预期证据:SSL/TLS 配置截图、链路说明、连接加密截图。
示例输出(节选)
$ grep -iE 'CRYPTO_CHECKSUM|ENCRYPTION' $ORACLE_HOME/network/admin/sqlnet.ora
SQLNET.ENCRYPTION_SERVER = required
SQLNET.CRYPTO_CHECKSUM_SERVER = required

B. 存储过程完整性

show parameter encrypt
  • 备注:重要配置数据、审计数据和备份数据应有防篡改或一致性保护说明。encrypt_new_tablespaces(12c+)与 tablespace_encryption(19c)为表空间加密相关参数,11g 无这两个参数属正常,存储完整性需结合备份校验记录与制度判定。
  • 预期证据:参数截图、备份校验记录、配置文件权限截图、制度材料。
示例输出(节选)
SQL> show parameter encrypt

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
encrypt_new_tablespaces              string      CLOUD_ONLY
tablespace_encryption                string      MANUAL

数据保密性

  • 对应控制点:GB/T 22239-2019 8.1.4.8 数据保密性(a~b)。
  • 判定要点:传输过程保密性(鉴别数据、重要业务数据)采用密码技术(a),存储过程保密性核查 TDE/磁盘加密/应用层加密(b)。
  • 取证要求:TCPS/原生网络加密配置截图、加密表空间与磁盘加密截图、加密方案说明。

A. 传输过程保密性

lsnrctl status | grep -i tcps
  • 备注:应证明远程管理和重要业务传输采用了密码技术保护。lsnrctl status 中的 TCPS 端点或 sqlnet.ora 原生网络加密配置为直接证据;show parameter ssl 无法查到 SQLNET.* 参数。
  • 预期证据:SSL/TLS 参数截图、远程管理加密链路说明。
示例输出(节选)
$ lsnrctl status | grep -i tcps
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=db01)(PORT=1522)))

高风险提示:鉴别信息明文传输属高风险情形,参照 22、高风险判定指引与加固对照表 判定。

B. 存储过程保密性

select tablespace_name, status, encrypted from dba_tablespaces order by tablespace_name;
select t.name, e.encryptionalg, e.encryptedts
  from v$encrypted_tablespaces e, v$tablespace t
 where t.ts# = e.ts#;
  • 备注:重点核查 TDE、磁盘加密、应用层加密等静态数据保护措施。dba_tablespaces.encrypted(YES/NO)为官方视图字段;v$encrypted_tablespaces 无 NAME/ENCRYPTED 列,须以 ts# 关联 v$tablespace 取表空间名与加密算法。
  • 预期证据:加密表空间截图、磁盘加密截图、加密方案说明。
示例输出(节选)
SQL> select tablespace_name, status, encrypted from dba_tablespaces order by tablespace_name;

TABLESPACE_NAME      STATUS    ENC
-------------------- --------- ---
APP_TS               ONLINE    YES
SYSAUX               ONLINE    NO
SYSTEM               ONLINE    NO
USERS                ONLINE    NO

SQL> select t.name, e.encryptionalg, e.encryptedts
  2    from v$encrypted_tablespaces e, v$tablespace t
  3   where t.ts# = e.ts#;

NAME                            ENCRYPT ENC
------------------------------- ------- ---
APP_TS                          AES256  YES

备份恢复

  • 对应控制点:GB/T 22239-2019 8.1.4.9 数据备份恢复(a~c)。
  • 判定要点:本地备份与恢复功能(a)、异地实时备份(b)、热冗余高可用(c)逐项判定;仅配置归档不等于有备份,须见备份作业与演练证据。
  • 取证要求:归档配置与 RMAN 作业截图、异地备份架构材料、切换演练记录。

A. 本地数据备份与恢复

select dest_id, status, destination from v$archive_dest where status='VALID';
select * from (select session_key, start_time, status, input_type from v$rman_backup_job_details order by start_time desc) where rownum <= 5;
  • 备注:本地备份应结合 RMAN 计划、备份结果(v$rman_backup_job_details 最近作业状态)和恢复演练记录综合判断。
  • 预期证据:备份任务截图、备份结果、恢复演练报告。
示例输出(节选)
SQL> select dest_id, status, destination from v$archive_dest where status='VALID';

   DEST_ID STATUS    DESTINATION
---------- --------- ------------------------------
         1 VALID     /opt/app/oracle/arch

SQL> select * from (select session_key, start_time, status, input_type from v$rman_backup_job_details order by start_time desc) where rownum <= 5;

SESSION_KEY START_TIME         STATUS       INPUT_TYPE
----------- ------------------ ------------ -------------
       1023 24-AUG-26          COMPLETED    DB FULL

高风险提示:未开展本地备份或备份不可恢复属高风险情形,参照 22、高风险判定指引与加固对照表 判定。

B. 异地实时备份

select * from v$archive_gap;
select * from v$parameter where name like 'log_archive%';
  • 备注:应说明是否通过 Data Guard、日志归档或其他方式实现异地实时备份。
  • 预期证据:归档参数截图、异地备份架构图、备机状态截图。
示例输出(节选)
SQL> select * from v$archive_gap;

no rows selected

SQL> select name, value from v$parameter where name like 'log_archive%';

NAME                              VALUE
--------------------------------- -------------------------------------------------
log_archive_dest_1                LOCATION=/opt/app/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

C. 热冗余与高可用

  • 备注:结合 RMAN、Data Guard、RAC、双机热备和演练记录判定。

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

剩余信息保护

  • 对应控制点:GB/T 22239-2019 8.1.4.10 剩余信息保护(a~b)。
  • 判定要点:鉴别信息(a)与敏感数据(b)所在存储空间释放或重新分配前得到完全清除;数据库产品通常不直接提供证据,以存储/介质管理机制为主要判定依据。
  • 取证要求:介质清除制度、销毁记录、存储平台策略说明。

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

  • 备注:通常需结合介质清除、存储加密、销毁记录和平台策略综合判定。

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

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

  • 备注:结合存储介质管理、销毁和加密策略判定。

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

个人信息保护

  • 对应控制点:GB/T 22239-2019 8.1.4.11 个人信息保护(a~b)。
  • 判定要点:仅采集和保存业务必需的个人信息(a),禁止未授权访问和非法使用(b);数据库层面通过字段级授权与访问审计取证。
  • 取证要求:敏感字段权限截图、访问审计样例、导出控制与脱敏说明。

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

  • 备注:抽查敏感字段权限、访问审计、导出控制情况。

  • 预期证据:权限截图、审计样例截图、导出控制说明。

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

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

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

入侵防范

  • 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范(c 管理终端地址限制、e 漏洞发现与修补、f 入侵检测报警)、8.1.4.5 恶意代码防范。
  • 判定要点:通过终端接入方式或网络地址范围限制管理来源(c)、能发现并修补已知漏洞(e)、重要节点入侵行为可检测报警(f);数据库侧结合监听配置、防火墙与漏洞扫描记录判定。
  • 取证要求:防火墙/堡垒机策略截图、漏洞扫描报告、补丁记录与变更单、告警样例。

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

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

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

B. 异常访问与爆破防护

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

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

C. 漏洞扫描与补丁管理

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

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

D. 恶意代码/工具防护

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

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

时间同步与日志一致性

  • 对应控制点:GB/T 22239-2019 8.1.4.3 安全审计(b,审计记录应包括事件的日期和时间)。

  • 判定要点:数据库服务器时间同步(NTP/chrony)正常,保证审计日志时间一致、可溯源,可与系统日志时间比对核验。

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

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

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

主流版本差异说明

  • 对应控制点:覆盖 8.1.4 各控制点,本节仅提示 11g/12c/19c 的命令与判定差异。
  • 判定要点:先识别版本与 CDB/PDB 形态再取证;19c 现场需关注统一审计、多租户与 RAC/Data Guard 组合架构。
  • 取证要求:版本识别截图归档,版本差异结论写入测评记录。
Oracle主流版本核查差异说明

版本识别

select * from v$version;
select * from product_component_version;

主流版本分档

  1. Oracle 11gR2

  2. Oracle 12c(12.1/12.2)

  3. Oracle 19c

重点差异

A. 架构差异

  1. 11g 以传统单库思路为主

  2. 12c/19c 常涉及 Multitenant(CDB/PDB)

推荐命令:

show con_name;
select name, cdb from v$database;

兼容提示:

  1. 11g 现场若执行 CDB/PDB 相关命令,可能无结果或报错。

  2. 12c/19c 测评要注意是否需要分别在 CDB 与 PDB 维度取证。

B. 身份鉴别

推荐命令:

select username, profile, account_status from dba_users;
select profile, resource_name, limit from dba_profiles
  where resource_name in ('PASSWORD_VERIFY_FUNCTION','PASSWORD_LIFE_TIME','FAILED_LOGIN_ATTEMPTS','PASSWORD_LOCK_TIME','IDLE_TIME');

版本提示:

  1. 11g/12c/19c 这类口令策略命令整体兼容性较好。

  2. 口令验证函数名随版本变化:11g 用 VERIFY_FUNCTION_11G(已弃用),12c+ 用 ORA12C_VERIFY_FUNCTION / ORA12C_STRONG_VERIFY_FUNCTION / ORA12C_STIG_VERIFY_FUNCTION。

C. 访问控制

推荐命令:

select * from dba_sys_privs;
select * from dba_role_privs;
select * from dba_tab_privs;
select * from dba_col_privs;
select * from v$pwfile_users;

版本提示:

  1. 12c/19c 需额外注意公共用户、本地用户、多租户角色授权边界。

D. 安全审计

推荐命令:

show parameter audit_trail
show parameter audit_sys_operations
select value from v$option where parameter='Unified Auditing';
select * from dba_stmt_audit_opts;
select * from dba_priv_audit_opts;
select * from dba_obj_audit_opts;

版本提示:

  1. 11g/12c/19c 均可用传统审计思路取证。

  2. 19c 现场常需额外关注统一审计或更细粒度审计部署情况:统一审计启用后,audit_trail 与 dba_stmt_audit_opts 等传统视图不再生效,改查 unified_audit_trail。

E. 备份恢复与高可用

推荐命令:

select * from v$archive_dest;
select * from v$archive_gap;
select * from v$parameter where name like 'log_archive%';

版本提示:

  1. 11g 现场常见 Data Guard、双机。

  2. 12c/19c 现场可能叠加多租户、RAC、Data Guard 共同存在。

现场编制建议

  1. 11g 文档重点写传统实例核查逻辑。

  2. 12c 文档重点补充 CDB/PDB 区分。

  3. 19c 文档重点补充多租户、统一审计、高可用组合架构。

取证注意事项

  1. 先判断是否 CDB/PDB,再决定是否分别采集容器级证据。

  2. Oracle 很多控制点不能只靠 SQL,需要 sqlnet.ora、监听配置、OS 日志和堡垒机共同取证。

参考依据

  1. GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》(openstd):https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=BAFB47E8874764186BDB7865E8344DAF
  2. GB/T 28448-2019《信息安全技术 网络安全等级保护测评要求》(openstd):https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=7E736CDF4502B6FF1258DD250AA3EC8C
  3. Oracle Database 19c Reference - DBA_USERS:https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/DBA_USERS.html
  4. Oracle Database 19c Reference - DBA_PROFILES:https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/DBA_PROFILES.html
  5. Oracle Database 19c Reference - AUDIT_TRAIL 初始化参数:https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/AUDIT_TRAIL.html
  6. Oracle Database 19c Reference - DBA_USERS_WITH_DEFPWD:https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/DBA_USERS_WITH_DEFPWD.html
  7. Oracle Database 19c Reference - UNIFIED_AUDIT_TRAIL:https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/UNIFIED_AUDIT_TRAIL.html
  8. Oracle Database 19c Security Guide - Managing the Complexity of Passwords:https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/managing-complexity-passwords.html
  9. 《网络安全等级保护测评高风险判定指引》(中关村信息安全测评联盟团体标准,以最新版本为准)
  10. 命令核验说明:本文核查命令与示例输出已于 2026-09 对照 Oracle 官方文档(docs.oracle.com/en/database/,Database Reference / Security Guide)逐条核验,11g/12c/19c 版本差异处已随文标注。

关联文章