Skip to main content

身份鉴别

测评项:a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;

测评点:用户名唯一性、弱口令、空口令、口令强度策略、口令过期策略;

核查命令:

SELECT
  s.sid,            -- 会话 ID(用于跟踪或终止)
  s.serial#,        -- 会话序列号(用于配合 SID 唯一标识)
  s.username,       -- 数据库用户名
  s.osuser,         -- 客户端操作系统用户
  s.machine,        -- 客户端主机名或 IP(某些场景)
  s.program,        -- 客户端使用的程序(如 SQL Developer、JDBC 驱动)
  s.module,         -- 应用程序模块名(可通过 DBMS_APPLICATION_INFO 设置)
  s.status,         -- 当前会话状态(ACTIVE 或 INACTIVE)
  s.logon_time,     -- 登录时间
  s.service_name,   -- 使用的服务名(如 ORCLPDB1)
  s.type            -- 会话类型(通常为 USER,后台为 BACKGROUND)
FROM v$session s
WHERE s.username IS NOT NULL;

Snipaste_2025-06-06_11-39-12.png

测评项:b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;

测评点:登录失败锁定、登录超时退出;

核查注意:Oracle Database 支持用户定义 profile ,当 profile 为空时则引入 DEFAULT

核查命令:

SELECT username, profile FROM dba_users WHERE username = 'sys';

Snipaste_2025-07-03_15-09-54.png

核查命令:

SELECT profile, resource_name, limit
FROM dba_profiles
WHERE resource_name IN ('FAILED_LOGIN_ATTEMPTS', 'PASSWORD_LOCK_TIME')
ORDER BY profile, resource_name;

Snipaste_2025-07-03_15-09-34.png

测评项:c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;

核查命令:

SELECT
  s.username,
  s.program,
  s.machine,
  c.network_service_banner
FROM v$session s
JOIN v$session_connect_info c ON s.sid = c.sid
WHERE c.network_service_banner LIKE '%TLS%';

Snipaste_2025-07-03_16-04-09.png

测评项:d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。