达梦DM-密码策略和登录限制设置


在数据库的用户安全中,口令复杂度策略和资源限制是用户安全重要的一部分。在DM数据库中,口令策略分为系统口令策略和用户口令策略。只有安全版本才支持对每个用户设置口令策略(即用户口令策略),非安全版本,只支持系统口令策略。

DM数据库提供了用户IP地址和登录时段限制功能,本章介绍DM数据库系统口令策略设置和用户登录限制设置。

1 系统口令策略

1.1 查看口令策略

数据库在创建用户时,需要指定用户的密码,密码的复杂度要求由系统的口令策略PWD_POLICY参数决定。系统支持的口令策略有:
0无策略
1禁止与用户名相同
2口令长度不小于9
4至少包含一个大写字母(A-Z)
8至少包含一个数字(0-9)
16至少包含一个标点符号(英文输入法状态下,除”和空格外的所有符号)

口令策略可单独应用,也可组合应用。比如我们即要求禁止用户名与密码相同,又要求口令至少包含一个大写字母,则设置口令策略为1+4=5即可。

SQL> select * from v$dm_ini a where a.PARA_NAME = 'PWD_POLICY';

行号     PARA_NAME  PARA_VALUE MIN_VALUE MAX_VALUE MPP_CHK SESS_VALUE FILE_VALUE
---------- ---------- ---------- --------- --------- ------- ---------- ----------
           DESCRIPTION             PARA_TYPE
           ----------------------- ---------
1          PWD_POLICY 2          0         31        N       2          2
           Flag of password policy SYS


已用时间: 16.146(毫秒). 执行号:4.

可以看出PWD_POLICY参数为动态参数,我们可以通过使用DM控制台工具或调用系统过程SP_SET_PARA_VALUE重新设置PWD_POLICY的值。

1.2 控制台工具修改

在DM安装目录tool下使用DM安装用户执行./console,打开DM控制台工具,在安全相关参数中找到PWD_POLICY参数选项(也可以直接在查找项输入PWD_POLICY参数),即可修改PWD_POLICY参数的值。
在这里插入图片描述

注意:DM控制台工具为脱机工具,对参数值的修改通过修改dm.ini文件中参数值来实现,无论参数类型是静态还是动态,都需要重启DM服务器才能使新设置的参数值生效。

1.3 系统过程修改

使用系统过程SP_SET_PARA_VALUE来配置PWD_POLICY参数值。
例如,将PWD_POLICY置为3(1+2),由于PWD_POLICY为动态参数,我们可以同时修改文件和内存参数,此时设置后新参数值立即生效。

执行如下函数修改参数:

SQL> SP_SET_PARA_VALUE(1,'PWD_POLICY',3);
DMSQL 过程已成功完成
已用时间: 10.188(毫秒). 执行号:7.

修改完成后插叙参数可以看到修改后的结果:

SQL> select PARA_NAME,PARA_VALUE, PARA_TYPE from v$dm_ini a where a.PARA_NAME = 'PWD_POLICY';

行号     PARA_NAME  PARA_VALUE PARA_TYPE
---------- ---------- ---------- ---------
1          PWD_POLICY 3          SYS

已用时间: 2.872(毫秒). 执行号:9.

新建test12345用户,指定密码和用户名相同,系统将会提示密码口令与登录名相同,修改新的密码复杂程度符合要求即可成功。

SQL> create user test12345 identified by test12345;
create user test12345 identified by test12345;
第1 行附近出现错误[-2160]:口令与登录名相同.
已用时间: 1.339(毫秒). 执行号:0.
SQL> create user test12345 identified by test1234567;
操作已执行
已用时间: 17.127(毫秒). 执行号:10.

查询DBA_USERS视图,可以看到新建用户TESTUSER对应的口令策略为15,而SYSSSO、SYSDBA、SYS、SYSAUDITOR系统用户口令策略为0,其他普通用户的口令策略使用原来的口令策略2(创建用户时系统的口令策略)。

SQL> select username,password_versions,account_status from dba_users;

行号     USERNAME   PASSWORD_VERSIONS ACCOUNT_STATUS
---------- ---------- ----------------- --------------
1          SYSDBA     0                 OPEN
2          SYS        0                 OPEN
3          TEST12345  3                 OPEN
4          TEST       2                 OPEN
5          SYSSSO     0                 OPEN
6          SYSAUDITOR 0                 OPEN

6 rows got

已用时间: 185.814(毫秒). 执行号:11.

注释:系统口令策略只对新创建的用户有效,而原来已创建的用户仍然使用原有的系统口令策略。

修改用户的口令策略,非安全版本是不支持的,只有安全版本才支持。非安全版本显示错误如下图。

SQL> alter user test PASSWORD_POLICY 15;
alter user test PASSWORD_POLICY 15;
第1 行附近出现错误[-5630]:非安全版本不能进行此操作.
已用时间: 0.197(毫秒). 执行号:0.

2 资源限制

DM数据库提供用户资源限制、IP地址限制和用户时间段限制功能。

2.1 登录限制

限制test12345用户的登录,当用户连续登录失败10次后将会锁定,限制其登录IP为192.168.3.*的IP网络,登录时间限制为周一01:00至周一8:00。

SQL> alter USER test12345 LIMIT FAILED_LOGIN_ATTEMPS 10 ALLOW_IP "192.168.3.*" ALLOW_DATETIME "MON" "1:00:00" TO "MON" "8:00:00";
操作已执行
已用时间: 5.544(毫秒). 执行号:13.

执行成功后,查询sysusers数字字典可以看到test12345已经限制了IP和时段。

SQL> select username,password_versions,account_status from dba_users;

行号     USERNAME   PASSWORD_VERSIONS ACCOUNT_STATUS
---------- ---------- ----------------- --------------
1          SYSDBA     0                 OPEN
2          SYS        0                 OPEN
3          TEST12345  3                 OPEN
4          TEST       2                 OPEN
5          SYSSSO     0                 OPEN
6          SYSAUDITOR 0                 OPEN

6 rows got

已用时间: 12.709(毫秒). 执行号:14.
SQL> set linesize 200;
SQL> select id,failed_num,grace_time,pwd_policy,allow_addr,allow_dt from sysusers;

行号     ID          FAILED_NUM  GRACE_TIME  PWD_POLICY  ALLOW_ADDR  ALLOW_DT               
---------- ----------- ----------- ----------- ----------- ----------- -----------------------
1          50331649    0           0           0           NULL        NULL
2          50331648    0           0           0           NULL        NULL
3          50331650    0           0           0           NULL        NULL
4          50331651    0           0           0           NULL        NULL
5          50331749    3           10          2                       
6          50331752    10          10          3           192.168.3.* MON&1:00:00&MON&8:00:00

6 rows got

已用时间: 0.333(毫秒). 执行号:16.

修改登录限制

SQL> alter USER test12345 LIMIT FAILED_LOGIN_ATTEMPS 10 ALLOW_IP NULl ALLOW_DATETIME NULL;
操作已执行
已用时间: 10.595(毫秒). 执行号:19.
SQL> select id,failed_num,grace_time,pwd_policy,allow_addr,allow_dt from sysusers;

行号     ID          FAILED_NUM  GRACE_TIME  PWD_POLICY  ALLOW_ADDR ALLOW_DT
---------- ----------- ----------- ----------- ----------- ---------- --------
1          50331649    0           0           0           NULL       NULL
2          50331648    0           0           0           NULL       NULL
3          50331650    0           0           0           NULL       NULL
4          50331651    0           0           0           NULL       NULL
5          50331749    3           10          2                      
6          50331752    10          10          3                      

6 rows got

已用时间: 0.224(毫秒). 执行号:20.
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值