kingbase 密码复杂度策略设置

一、口令复杂度设置
1.修改配置文件
修改 kingbase.conf 文件中 shared_preload_libraries 参数,然后重启数据库
shared_preload_libraries = ‘passwordcheck’
或在已有的参数中,添加passwordcheck参数
shared_preload_libraries = ‘liboracle_parser, synonym, plsql, force_view, kdb_flashback,plugin_debugger, plsql_plugin_debugger, plsql_plprofiler, ora_commands,kdb_ora_expr, sepapower, dblink, sys_kwr, sys_ksh, sys_spacequota, sys_stat_statements, backtrace, kdb_utils_function, auto_bmr, sys_squeeze,passwordcheck,sysaudit,identity_pwdexp,sys_audlog’
#打开密码复杂度开关
passwordcheck.enable = on
#口令至少包含几个数字,取值范围为 [2,61],缺省为 2
passwordcheck.password_condition_digit = 2
#口令至少包含几个字母,取值范围为 [2,61],缺省为 2
passwordcheck.password_condition_letter = 2
#口令至少包含几个特殊字符,取值范围为 [0,59],缺 省为 0,其中特殊符号为除空白符、英文字母、单引号和数字外的所有可见字符
passwordcheck.password_condition_punct = 2
#口令的最小长度,取值范围为 [8,63],缺省为 8
passwordcheck.password_length = 10
2.验证
[kingbase@kingbaser6 data]$ ksql -U system -d test
test=# show passwordcheck.password_length;
test=# show passwordcheck.password_condition_digit;
test=# show passwordcheck.password_condition_letter;
test=# show passwordcheck.password_condition_punct;
test=# create user test password ‘12345ab’;
test=# create user test password ‘1abcdefghig’;
test=# create user test password ‘123456789a’;
test=# create user test password ‘12345678ab’;
test=# create user test password ‘12345678ab!’;
test=# create user test password ‘12345678ab!@’;
二、口令有效期设置
1.修改配置文件
修改 kingbase.conf 文件中 shared_preload_libraries 参数,然后重启数据库
shared_preload_libraries = ‘identity_pwdexp’

shared_preload_libraries = ‘liboracle_parser, synonym, plsql, force_view, kdb_flashback,plugin_debugger, plsql_plugin_debugger, plsql_plprofiler, ora_commands,kdb_ora_expr, sepapower, dblink, sys_kwr, sys_ksh, sys_spacequota, sys_stat_statements, backtrace, kdb_utils_function, auto_bmr, sys_squeeze,passwordcheck,sysaudit,identity_pwdexp,sys_audlog’
2.加载插件
[kingbase@kingbaser6 ~]$ ksql -U system -d test
test=# create extension identity_pwdexp;
test=# show identity_pwdexp.max_password_change_interval; #最大密码有效期,单位是天,取值范围为 [1, INT_MAX],缺省为 30
test=# show identity_pwdexp.password_change_interval; #密码有效期,单位是天,0 表示无限制,取值范围为 [0,INT_MAX],缺省为 7,此值不能超过上面的最大有效值,当设置的密码有效期大于最大密码有效期时,系统会报错提示
3.验证
[kingbase@kingbaser6 ~]$ ksql -U system -d test
test=# select now();
test=# create user test password ‘12345678ab!@’ valid until ‘2022-10-23 05:23’;
test=# select usename, valuntil from sys_user where usename = ‘test’;
test=# \q
[kingbase@kingbaser6 ~]$ ksql -U test -d test
4.修改有效期
[kingbase@kingbaser6 ~]$ ksql -U system -d test
test=# alter user test valid until ‘2022-10-28’;
test=# \c test sso
test=> alter system set identity_pwdexp.max_password_change_interval = 90;
test=> alter system set identity_pwdexp.password_change_interval = 90;
三、异常登录锁定
3.1 修改配置文件
修改 kingbase.conf 文件中 shared_preload_libraries 参数,然后重启数据库
shared_preload_libraries = ‘sys_audlog’

shared_preload_libraries = ‘liboracle_parser, synonym, plsql, force_view, kdb_flashback,plugin_debugger, plsql_plugin_debugger, plsql_plprofiler, ora_commands,kdb_ora_expr, sepapower, dblink, sys_kwr, sys_ksh, sys_spacequota, sys_stat_statements, backtrace, kdb_utils_function, auto_bmr, sys_squeeze,passwordcheck,sysaudit,identity_pwdexp,sys_audlog’
3.2 加载插件
[kingbase@kingbaser6 ~]$ ksql -U system -d test
test=# create extension sys_audlog;
test=> ALTER SYSTEM SET sys_audlog.max_error_user_connect_times = 10; #用户登录失败次数的最大值界限,取值范围为 [0,INT_MAX],缺省为 2147483647
test=> select sys_reload_conf();
test=> alter system set sys_audlog.error_user_connect_times = 6; #允许用户连续登录失败的最大次数,用户登录失败的次数 大于超过该值,用户自动锁定,取值范围为 [0,INT_MAX],缺省为 0
test=> alter system set sys_audlog.error_user_connect_interval = 10; #用户被锁定时间,若用户被锁定的时间超过了该参数, 则该用户可自动解锁。单位是分钟,取值范围为 [0,INT_MAX],0 时关闭自动解锁功能,需手动解锁, 缺省为 0
test=> select sys_reload_conf();
3.3 验证&解除锁定
[kingbase@kingbaser6 ~]$ ksql -U system -d test
test=# \c test sso
test=> alter user test with login;
四、账户登录信息显示
4.1 修改配置文件
修改 kingbase.conf 文件中 shared_preload_libraries 参数,然后重启数据库
shared_preload_libraries = ‘sys_audlog’

shared_preload_libraries = ‘liboracle_parser, synonym, plsql, force_view, kdb_flashback,plugin_debugger, plsql_plugin_debugger, plsql_plprofiler, ora_commands,kdb_ora_expr, sepapower, dblink, sys_kwr, sys_ksh, sys_spacequota, sys_stat_statements, backtrace, kdb_utils_function, auto_bmr, sys_squeeze,passwordcheck,sysaudit,identity_pwdexp,sys_audlog’
4.2 加载插件
[kingbase@kingbaser6 ~]$ ksql -U system -d test
test=# create extension sys_audlog;
test=# \c test sso
test=> alter system set sys_audlog.user_logonlog_level = 2;
#数据库对用户登录信息记录的级别,控制是否要记录用户登录信 息的开关,通过该参数来控制是否要记录用户登录的信息,以及记录用户的哪些登录信息。取值范围 为 [0,2],缺省为 0。
0 表示不记录任何用户的登录信息;
1 表示只记录用户成功登录的信息;
2 表示既记录用户登录成功的信息,也记录用户登录失败的信息;
4.3 验证
[kingbase@kingbaser6 ~]$ ksql -U test -d test #模拟登录失败
[kingbase@kingbaser6 ~]$ ksql -U system -d test
test=# select * from sys_audit_userlog;
五、密码历史管理
口令的历史检查是由数据库管理员对初次设定的口令或更改过的口令使用天数进行设置后,在修改用户口令时,自动对口令已使用天数进行相关方面的检查。如果口令不满足指定的条件,那么更改口令将不成功。
5.1 修改配置文件
修改 kingbase.conf 文件中 shared_preload_libraries 参数,然后重启数据库。
shared_preload_libraries = ‘passwordhistory’

shared_preload_libraries = ‘liboracle_parser, synonym, plsql, force_view, kdb_flashback,plugin_debugger, plsql_plugin_debugger, plsql_plprofiler, ora_commands,kdb_ora_expr, sepapower, dblink, sys_kwr, sys_ksh, sys_spacequota, sys_stat_statements, backtrace, kdb_utils_function, auto_bmr, sys_squeeze,passwordcheck,sysaudit,identity_pwdexp,sys_audlog,passwordhistory’
5.2 加载插件
[kingbase@kingbaser6 ~]$ ksql -U system -d test
test=# create extension passwordhistory;
test=# alter system set passwordhistory.enable=on;
select sys_reload_conf();
test=# alter system set passwordhistory.password_time = 2;
#口令历史天数,缺省为 0
5.3 验证
[kingbase@kingbaser6 ~]$ ksql -U system -d test
test=# alter user test password ‘12345678ab!@’;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值