KingbaseES V8R6 账号异常登录锁定案例
数据库版本:
test=> select version();
version
-----------------------------------------------------------------------------------------------------------
KingbaseES V008R006C005B0054 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 row)
官方文档:https://help.kingbase.com.cn/stage-api/profile/document/kes/v8r6/html/safety/safety-guide/safety-identification.html#id9
帐户异常登录锁定
帐户异常登录锁定是指如果用户连续若干次不能正确的登录数据库,那么这个用户的帐户将被系统禁用。系统允许的用户连续错误登录次数由数据库管理员指定。被禁用的帐户可以由安全员利用 SQL 命令使其重新可用或者等待一段时间自动解锁。
KingbaseES通过插件的方式来进行帐户异常登录锁定以及账户登录信息显示。这种方式更为灵活,当数据库的实用场景需要进行帐户异常登录锁定以及账户登录信息显示时,加载插件即可。而不需要该功能时,卸载插件即可。
插件名为sys_audlog,相关参数由数据库安全员负责配置。
3.3.1. 加载插件
修改 kingbase.conf 文件中 shared_preload_libraries 参数。
shared_preload_libraries = 'sys_audlog'
create extension sys_audlog;
3.3.2. 参数配置
- sys_audlog.error_user_connect_times
允许用户连续登录失败的最大次数,用户登录失败的次数大于超过该值,用户自动锁定,取值范围为[0,INT_MAX],缺省为 0。
设置密码连续最大失败次数为 10。
\c test sso
ALTER SYSTEM SET sys_audlog.max_error_user_connect_times = 10;
CALL sys_reload_conf();
- sys_audlog.max_error_user_connect_times
用户登录失败次数的最大值界限,error_user_connect_times的最大取值,取值范围为[0,INT_MAX],缺省为 2147483647。
设置密码连续最大失败次数为 6。
\c test 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 test sso
ALTER SYSTEM SET sys_audlog.error_user_connect_interval = 60;
CALL sys_reload_conf();
3.3.3. 解除锁定
超过时间间隔自动解除用户封锁。
用户可由具有alter user权限的用户通过SQL语句进行手动解锁,解锁后用户登录的信息自动删除。
\c test sso
alter user username with login;
Tip
1.超过时间间隔后自动解锁用户需要登录成功,若达到解锁时间后重新登录且再次失败,用户会继续锁定。
2.登录时若不加-W时会自动进行一次不带密码的登录尝试,因此会多增加一次失败记录,且在解锁用户时使用不加-W的方式登录,会导致再次被锁定,因此在解锁用户时注意加-W参数进行登录尝试。
测试案例:
1、配置kingbase.conf和sys_hba.conf
配置kingbase.conf:(加载extension)
[kingbase@node1 data]$ cat kingbase.conf |grep 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,sys_audlog'

配置sys_hba.conf:
=默认,local(本地)登录,不对用户身份进行认证,使用trust。=
# Allow replication connections from localhost, by a user with the
local all all scram-sha-256
2、重新启动数据库后,sso用户配置相关参数
[kingbase@node1 bin]$ ./ksql -U sso test -p 54322
ksql (V8.0)
Type "help" for help.
test=> show sys_audlog.error_user_connect_interval ;
sys_audlog.error_user_connect_interval
----------------------------------------
0
(1 row)
test=> show sys_audlog.error_user_connect_times;
sys_audlog.error_user_connect_times
-------------------------------------
0
(1 row)
test=> alter system set sys_audlog.error_user_connect_times=5;
ALTER SYSTEM
test=> alter system set sys_audlog.error_user_connect_interval =3;
ALTER SYSTEM
test=> select sys_reload_conf();
sys_reload_conf
-----------------
t
(1 row)
test=> show sys_audlog.error_user_connect_times;
sys_audlog.error_user_connect_times
-------------------------------------
5
(1 row)
test=> show sys_audlog.error_user_connect_interval;
sys_audlog.error_user_connect_interval
----------------------------------------
3
(1 row)
3、创建用户测试
test=# create user tom with password 'tom';
CREATE ROLE
test=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
sao | No inheritance | {}
sso | No inheritance | {}
system | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
tom | | {}
4、用户登录测试
[kingbase@node1 bin]$ ./ksql -U tom -W test -p 54322
Password:
ksql: error: could not connect to server: FATAL: password authentication failed for user "tom"
NOTICE: This is the 1 login failed. There are 4 left.
[kingbase@node1 bin]$ ./ksql -U tom -W test -p 54322
Password:
ksql: error: could not connect to server: FATAL: password authentication failed for user "tom"
NOTICE: This is the 2 login failed. There are 3 left.
[kingbase@node1 bin]$ ./ksql -U tom -W test -p 54322
Password:
ksql: error: could not connect to server: FATAL: password authentication failed for user "tom"
NOTICE: This is the 3 login failed. There are 2 left.
[kingbase@node1 bin]$ ./ksql -U tom -W test -p 54322
Password:
ksql: error: could not connect to server: FATAL: password authentication failed for user "tom"
NOTICE: This is the 4 login failed. There are 1 left.
[kingbase@node1 bin]$ ./ksql -U tom -W test -p 54322
Password:
ksql (V8.0)
Type "help" for help.
4、测试总结:
在KingbaseES V008R006C005B0054测试中,账号锁定符合参数(sys_audlog.error_user_connect_times)既定的策略。
KingbaseES V8R6 账号异常登录锁定案例的更多相关文章
- KingbaseES V8R6单实例外部备份案例
案例说明: 本案例采用sys_backup.sh执行物理备份,备份使用如下逻辑架构:数据库主机采用CentOS 7系统,repo采用kylin V10 Server. 单实例+外部备份服务器 备份逻辑 ...
- kingbaseES V8R6集群备份恢复案例之---备库作为repo主机执行物理备份
案例说明: 此案例是在KingbaseES V8R6集群环境下,当主库磁盘空间不足时,执行sys_rman备份,将集群的备库节点作为repo主机,执行备份,并将备份存储在备库的磁盘空间. 集群架构 ...
- KingbaseES V8R6集群外部备份案例
案例说明: 本案例采用sys_backup.sh执行物理备份,备份使用如下逻辑架构:集群采用CentOS 7系统,repo采用kylin V10 Server. 一主一备+外部备份 此场景为主备双机常 ...
- KingbaseES V8R6集群维护案例之---将securecmdd通讯改为ssh案例
案例说明: 在KingbaseES V8R6的后期版本中,为了解决有的主机之间不允许root用户ssh登录的问题,使用了securecmdd作为集群部署分发和通讯的服务,有生产环境通过漏洞扫描,在88 ...
- KingbaseES V8R6集群部署案例之---Windows环境配置主备流复制(异机复制)
案例说明: 目前KingbaseES V8R6的Windows版本不支持数据库sys_rman的物理备份,可以考虑通过建立主备流复制实现数据库的异机物理备份.本案例详细介绍了,在Windows环境下建 ...
- KingbaseES V8R6集群维护案例之--修改securecmdd工具服务端口
案例说明: 在一些生产环境,为了系统安全,不支持ssh互信,或限制root用户使用ssh登录,KingbaseES V8R6可以使用securecmdd工具支持主机之间的通讯.securecmdd工具 ...
- Python 文件读写,条件循环(三次登录锁定账号实例)
通过文件读写,条件循环相关语法,实现三次登录失败则锁定该账号的功能 需求一 """需求描述: 1.输入正确账号,密码,退出程序 2.登录失败,重新输入账号密码 3.同一账 ...
- 百万年薪python之路 -- 模拟三次账号登录锁定功能
用代码实现三次用户登录及锁定(选做,时间充足建议做一做) 项目分析: 一.首先程序启动,显示下面内容供用户选择: 1.注册 2.登录 a.用户选择登录的时候,首先判断用户名在userinfo.txt表 ...
- KingbaseES V8R6集群维护案例之---停用集群node_export进程
案例说明: 在KingbaseES V8R6集群启动时,会启动node_exporter进程,此进程主要用于向kmonitor监控服务输出节点状态信息.在系统安全漏洞扫描中,提示出现以下安全漏洞: 对 ...
随机推荐
- 高级web网页人脸识别tracking.js
what?你没有看错,强大的JavaScript也可以实现人脸识别功能.小编精心整理了一个人脸识别的JavaScript库(tracking.js),通过这篇文章,你可以了解到如何在网页中实现一个人脸 ...
- 自己封装的tools.js文件
/* * 生成指定范围的随机整数 * @param lower 下限 * @param upper 上限 * @return 返回指定范围的随机整数,上/下限值均可取 */ function rand ...
- SAP APO-供需匹配
供需匹配包含主要功能"匹配能力"(CTM)和一个用于分配库存的附加功能. 在高级计划和优化中,SDM组件为这些应用程序提供跨工厂供应策略- 生产计划和详细计划(PP / DS) 供 ...
- SAP ABAP 快速入门之 开发环境 (Environment)
报表是学习ABAP 原则和工具的很好的 起点.ABAP 报表在许多领域都有使用,本章将介绍简单ABAP 报表的开发. Hello ABAP 让我们以'Hello World' 开始. 每一个abap ...
- SAP 实例- 页签tabsrip
屏幕页签:项目上有一需求,对标准TCODE 一个屏幕增加一个页签.于是做了个例子. 下面屏幕有两个页签. 我们来看一下屏幕结构.100屏幕是主屏幕,101,102是子屏幕,对应页签test1,test ...
- 【Redis 系列】redis 学习十六,redis 字典(map) 及其核心编码结构
redis 是使用 C 语言编写的,但是 C 语言是没有字典这个数据结构的,因此 C 语言自己使用结构体来自定义一个字典结构 typedef struct redisDb src\server.h 中 ...
- Maven + SSM环境搭建
Maven + SSM 之前Maven+SSM都是照着搭建的,自己想写点什么的时候发现搭建的过程不清楚. 于是花了时间边整理思路边搭建,并把搭建过程记录下来. 视频看来终觉浅,还是需要自己动手实践,捋 ...
- Java方法读取文件内容
一.针对文件内容的读取,在平时的工作中想必是避免不了的操作,现在我将自己如何用java方法读取文件中内容总结如下:废话不多说,直接上代码: 1 public static void main(Stri ...
- JDK的下载与安装和环境变量的配置
一.jdk下载打开浏览器在地址栏输入: http://www.oracle.com ,进入Oracle官网主页面,选择 Products-----Java---->Download Java . ...
- 挑战30天写操作系统-day1-从计算机结构到汇编程序入门
先动手操作 软盘映像文件制作:先采用二进制编辑器编辑我们所需要的映像文件helloos.img 二进制编辑器下载链接:Bz - c.mos (vcraft.jp) 制作好之后,可以选择写入软盘,通过软 ...