Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


身份鉴别认证

📄字数 1.2K
👁️阅读量 加载中...

一、用户身份认证

1.1 身份认证策略

数据库用户身份认证相关参数包含在配置文件 xugu.ini 中,数据库管理员可通过管理配置文件以定义用户身份认证策略,参数详情见系统配置参数模块(xugu.ini);也可由数据库管理员(SYSDBA)登入数据库后以命令方式查看和修改,身份认证相关参数见(表1.1)。

身份认证相关参数缺省值参数含义
min_pass_len8用户口令最小长度
pass_mode2用户口令模式
conn_fail_cnt3禁止登录的失败次数
min_pass_number0用户口令中最少数字数
min_pass_mixed_case0用户口令中最少大小写字母数
min_pass_special_char0用户口令中最少特殊字符数
pass_username_checktrue口令-用户名匹配检测
weak_pass_dictionarytrue弱口令字典检测

通过命令方式查看以及修改用户策略命令如下:

  • 通过命令查看口令模式

    sql
    SQL> SHOW PASS_MODE;
    +-----------+
    | PASS_MODE |
    +-----------+
    | 2         |
    +-----------+
  • 通过命令修改口令模式

    sql
    SQL> SET PASS_MODE TO 3;

注意

  • 只有数据库管理员有权限修改数据库参数。
  • 通过命令方式修改用户口令策略直接生效,通过更改xugu.ini配置文件需重启生效。

1.1.1 认证时机

虚谷数据库在用户进行如下操作时会进行认证:一是用户登录数据库时,二是切换数据库时,三是客户端连接断开后自动重连时。当使用SSL连接时,认证逻辑发生在客户端与数据库SSL握手连接成功后。

1.1.2 认证方式

虚谷数据库采用基于口令的强身份认证机制,通过多因素安全验证流程确认用户身份:校验用户提供的口令(口令复杂度)、校验登录IP、用户合规性(有效期)。除必要的连接信息如IP、端口号、库名外,会根据输入的用户名、口令等进行用户认证,同时还会判断登录信息是否通过黑白名单规则、用户是否被锁定、用户是否在有效期、口令是否失效(用户相关限制属性详见用户文档)等,通过所有类型的鉴别后,用户可成功登录数据库。

1.1.3 失败处理

对于用户登录失败的情况,虚谷数据库有相应的安全处理机制。默认以错误口令登录数据库失败3次后锁定该IP,3 分钟内此 IP 任何用户即使输入正确口令也无法登录。数据库管理员可通过命令或者直接修改配置文件 xugu.ini 中的 conn_fail_cnt 参数自定义锁定 IP 的失败次数。通过系统表 SYS_ALL_FORBIDDEN_IPS 可查看相关失败情况,系统表记载详情查看章节:系统表SYS_ALL_FORBIDDEN_IPS

1.2 口令存储

数据库用户口令使用加密存储的方式存储在用户系统表SYS_USERS中,保证用户认证信息安全。

sql
SQL> SELECT db_id,user_id,user_name,password FROM SYS_USERS WHERE IS_ROLE = false;

+-------+---------+------------+----------+
| DB_ID | USER_ID | USER_NAME  | PASSWORD |
+-------+---------+------------+----------+
| 1     | 1       | SYSDBA     | <BINARY> |
| 1     | 2       | SYSSSO     | <BINARY> |
| 1     | 3       | SYSAUDITOR | <BINARY> |
| 1     | 4       | GUEST      | <BINARY> |
+-------+---------+------------+----------+