关键字:
安全;口令复杂度;、人大金仓、KingbaseES
概述
口令的复杂度检查是由数据库管理员对口令的最小长度,所包含的数字、英文字母、特殊符号的数目进行设置 后,在创建和修改用户时,自动对口令进行相关方面的检查。如果口令不满足指定的条件,那么创建用户将不成功。
KingbaseES 通过插件的方式来进行口令的复杂度管理。这种方式更为灵活,当数据库的实用场景需要进行口令的复杂度管理时,加载插件即可。而不需要该功能时,卸载插件即可。KingbaseES 中通过 4 个全局级参数配合插件 来实现用户口令复杂度管理。
口令复杂度特性实际操作
修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库,创建插件并打开密码复杂度开关。
shared_preload_libraries = 'passwordcheck'
\c - system
create extension passwordcheck;
CREATE EXTENSION
\c - sso
show passwordcheck.enable;
passwordcheck.enable
----------------------
off
(1 行记录)
alter system set passwordcheck.enable=on;
ALTER SYSTEM
select sys_reload_conf();
sys_reload_conf
-----------------
t
(1 行记录)
show passwordcheck.enable;
passwordcheck.enable
----------------------
on
(1 行记录)
通过上述表参数,进行相关的设置。
alter system SET passwordcheck.password_length = 10;
select sys_reload_conf();
SHOW passwordcheck.password_length;
alter system SET passwordcheck.password_condition_letter = 3;
select sys_reload_conf();
SHOW passwordcheck.password_condition_letter;
alter system SET passwordcheck.password_condition_digit = 3;
select sys_reload_conf();
SHOW passwordcheck.password_condition_digit;
alter system SET passwordcheck.password_condition_punct = 2;
select sys_reload_conf();
SHOW passwordcheck.password_condition_punct;
下面是对设置完成后的一些实践示例:
Ps:这里我是先全部修改了,所以仅有数字超过3个,字母超过3个,字符超过2个,长度超过10的密码才可以被通过。
切到system用户。
\c - system
CREATE USER u_pwd PASSWORD ‘123ab’;
CREATE USER u_pwd PASSWORD '1234567890ab';
ALTER USER u_pwd PASSWORD '1234567890';
ALTER USER u_pwd PASSWORD '1234567890ab';
ALTER USER u_pwd PASSWORD '1234567890abC';
ALTER USER u_pwd PASSWORD 'abcdefghij';
ALTER USER u_pwd PASSWORD 'abcdefghij123';
ALTER USER u_pwd PASSWORD '1234567890abc.';
ALTER USER u_pwd PASSWORD '1234567890abc./';
使用经验及注意事项
去data目录下的kingbase.conf增加插件之后,重启服务器进行相关操作即可。
注意设置参数的时候需要使用alter system set 参数=‘值’;这种形式,
设置完成之后,记得使用select sys_reload_conf();让修改生效。
价值评价
口令复杂度管理可以提高用户口令的安全性。通过管理的相关设置和要求,使用户使用更加安全,更难以破解的密码,保证其安全。
参考资料
《KingbaseES 安全指南》