帐户异常登录锁定
帐户异常登录锁定是指如果用户连续若干次不能正确的登录数据库,那么这个用户的帐户将被系统禁用。系统允许的用户连续错误登录次数由数据库管理员指定。被禁用的帐户可以由安全员利用 SQL 命令使其重新 可用或者等待一段时间自动解锁。
KingbaseES通过插件的方式来进行帐户异常登录锁定以及账户登录信息显示。这种方式更为灵活,当数据库的实用场景需要进行帐户异常登录锁定以及账户登录信息显示时,加载插件即可。而不需要该功能时,卸载插件即可。 插件名为sys_audlog,相关参数由数据库安全员负责配置。详情参见插件 sys_audlog 。
加载插件
修改 kingbase.conf 文件中shared_preload_libraries 参数。
shared_preload_libraries = 'sys_audlog'
create extension sys_audlog;
参数配置
帐户异常登录锁定相关参数参数如下图所示:
sys_audlog.max_error_user_connect_times 用户登录失败次数的最大值界限,error_user_connect_times的最大取值,取值范围为 [0,INT_MAX],缺省为2147483647。 设置密码最大失败次数为 6。
\c - sso
ALTER SYSTEM SET sys_audlog.max_error_user_connect_times = 6;
CALL sys_reload_conf();
sys_audlog.error_user_connect_times 允许用户连续登录失败的最大次数,用户登录失败的次数大于超过该值,用户自动锁定,取值范围为[0,INT_MAX],缺省为 0。 设置密码连续最大失败次数为 6。
\c - sso
ALTER SYSTEM SET sys_audlog.error_user_connect_times = 6;
CALL sys_reload_conf();
sys_audlog.error_user_connect_interval 用户被锁定时间,若用户被锁定的时间超过了该参数,则该用户可自动解锁。单位是分钟,取值范围为[0,INT_MAX],0时关闭自动解锁功能,需手动解锁,缺省为0。 设置被封锁用户的自动解封时间为 1 小时。
\c - sso
ALTER SYSTEM SET sys_audlog.error_user_connect_interval = 60;
CALL sys_reload_conf();
解除锁定
超过时间间隔自动解除用户封锁。 用户可由具有 ALTER USER 权限的用户通过 SQL 语句进行手动解锁,解锁后用户登录的信息自动删除。
\c - sso
ALTER USER username WITH LOGIN;