身份鉴别认证
📄字数 1.2K
👁️阅读量 加载中...
一、用户身份认证
1.1 身份认证策略
数据库用户身份认证相关参数包含在配置文件 xugu.ini 中,数据库管理员可通过管理配置文件以定义用户身份认证策略,参数详情见系统配置参数模块(xugu.ini);也可由数据库管理员(SYSDBA)登入数据库后以命令方式查看和修改,身份认证相关参数见(表1.1)。
身份认证相关参数 | 缺省值 | 参数含义 |
---|---|---|
min_pass_len | 8 | 用户口令最小长度 |
pass_mode | 2 | 用户口令模式 |
conn_fail_cnt | 3 | 禁止登录的失败次数 |
min_pass_number | 0 | 用户口令中最少数字数 |
min_pass_mixed_case | 0 | 用户口令中最少大小写字母数 |
min_pass_special_char | 0 | 用户口令中最少特殊字符数 |
pass_username_check | true | 口令-用户名匹配检测 |
weak_pass_dictionary | true | 弱口令字典检测 |
通过命令方式查看以及修改用户策略命令如下:
通过命令查看口令模式
sqlSQL> SHOW PASS_MODE; +-----------+ | PASS_MODE | +-----------+ | 2 | +-----------+
1
2
3
4
5
6通过命令修改口令模式
sqlSQL> SET PASS_MODE TO 3;
1
注意
- 只有数据库管理员有权限修改数据库参数。
- 通过命令方式修改用户口令策略直接生效,通过更改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> |
+-------+---------+------------+----------+
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10