# 身份鉴别

**<span style="color: rgb(224, 62, 45);">测评项：a）应对登录的用户进行身份标识和鉴别，身份标识具有唯一性，身份鉴别信息具有复杂度要求并定期更换；</span>**

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

核查命令：

```pl/sql
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](https://document.nat.ac.cn/uploads/images/gallery/2025-06/scaled-1680-/snipaste-2025-06-06-11-39-12.png)](https://document.nat.ac.cn/uploads/images/gallery/2025-06/snipaste-2025-06-06-11-39-12.png)**

**<span style="color: rgb(224, 62, 45);">测评项：b）应具有登录失败处理功能，应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施；</span>**

测评点：登录失败锁定、登录超时退出；

核查注意：Oracle Database 支持用户定义 profile ，<span style="color: rgb(35, 111, 161);">当 **profile** 为空时则引入 **DEFAULT**</span>

核查命令：

```pl/sql
SELECT username, profile FROM dba_users WHERE username = 'sys';
```

核查效果：

[![Snipaste_2025-07-03_15-09-54.png](https://document.nat.ac.cn/uploads/images/gallery/2025-07/scaled-1680-/snipaste-2025-07-03-15-09-54.png)](https://document.nat.ac.cn/uploads/images/gallery/2025-07/snipaste-2025-07-03-15-09-54.png)

核查命令：

```pl/sql
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](https://document.nat.ac.cn/uploads/images/gallery/2025-07/scaled-1680-/snipaste-2025-07-03-15-09-34.png)](https://document.nat.ac.cn/uploads/images/gallery/2025-07/snipaste-2025-07-03-15-09-34.png)

**<span style="color: rgb(224, 62, 45);">测评项：c）当进行远程管理时，应采取必要措施防止鉴别信息在网络传输过程中被窃听；</span>**

测评点：是否开启TLS传输

核查注意：Oracle支持**<span style="color: rgb(35, 111, 161);">1521</span>**（未通过TLS传输）端口和**<span style="color: rgb(35, 111, 161);">2484</span>**（通过TLSv1.2传输）同时开启

核查命令：

```pl/sql
SELECT SYS_CONTEXT('USERENV', 'NETWORK_PROTOCOL') AS protocol FROM DUAL;
SELECT
    s.sid,
    s.username,
    s.osuser,
    s.program,
    c.network_service_banner
FROM
    v$session s
JOIN
    v$session_connect_info c ON s.sid = c.sid
WHERE
    s.type = 'USER'
    AND s.username IS NOT NULL;
```

核查效果：

[![Snipaste_2025-07-03_16-04-09.png](https://document.nat.ac.cn/uploads/images/gallery/2025-07/scaled-1680-/snipaste-2025-07-03-16-04-09.png)](https://document.nat.ac.cn/uploads/images/gallery/2025-07/snipaste-2025-07-03-16-04-09.png)

```mysql
Oracle Advanced Security: AES256 encryption
Oracle Advanced Security: SHA512 crypto-checksumming
TCP/IP NT Protocol Adapter for Linux: Version 19.0.0.0.0
```

**<span style="color: rgb(224, 62, 45);">测评项：d）应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别，且其中一种鉴别技术至少应使用密码技术来实现。</span>**

从 Oracle 19c 和 23ai 开始，数据库支持对本地用户启用多因素组合认证，需至少为2025年7月后的DBRU版本。一般默认不符合。