修改kingbase.conf
1、在操作系统中修改/home/kingbase/v8/data/kingbase.conf配置文件
shared_preload_libraries参数添加passwordcheck,sys_audlog,sysaudit。
#数据库口令复杂度参数
passwordcheck.enable=on #密码复杂度是否开启
passwordcheck.password_length=10 #口令的最小长度
passwordcheck.password_condition_letter=2 #口令至少包含字母个数
passwordcheck.password_condition_digit=2 #口令至少包含数字个数
passwordcheck.password_condition_punct=1 #口令至少包含特殊字符个数
#登录失败处置参数
sys_audlog.error_user_connect_times=5 #允许用户连续登录失败的最大次数
sys_audlog.error_user_connect_interval=30 #用户被锁定时间
#审计
sysaudit.enable = on
#超时登出
client_idle_timeout =600 #最大值1800
2、重启服务加载参数配置
sys_ctl restart -D /home/kingbase/ES/V8/data #改写为现场实际目录
3、登录数据库创建扩展
ksql -Usystem test //登录数据库
create extension passwordcheck; //创建密码策略扩展
create extension sys_audlog; //创建审计日志策略扩展
create extension sysaudit ; //创建审计策略扩展
4.审计
使用sao用户登录security,查看超级用户是否创建审计规则
\c security sao
select * from sysaudit.all_audit_rules;
sso用户查看普通用户是否创建审计规则
\c security sso
select * from sysaudit.all_audit_rules;
参数说明:
audit_type 语句级审计策略,支持 DML、DDL、TCL 语句等。
可以指定审计某一种 SQL 命令。
详见表 13-2 审计策略与 SQL 命令对应表
audit_users 审计的用户名,null 表示审计所有用户。
audit_schema 审计对象的模式名。可以为空,表示审计所有模式下的此类对象。
audit_objs 审计对象的名称,只有 select table、insert table、update table、delete table、
truncate table、drop table 这六种语句支持设置表名。
创建审计示例:(请根据情况修改)
call sysaudit.set_audit_stmt(‘ALL’, ‘smartsys’, null, null);
切换sao用户查看审计日志记录信息
\c security sao
创建模式对象级别审计:
Select sysaudit.set_audit_object(audit_type text,
audit_users text,
audit_schema text,
audit_objs text);
参数说明:
audit_type 审计对象的类型,支持:TABLE、VIEW、MATERIALIZED VIEW、PROCEDURE、FUNCTION,大小写不敏感。
audit_users 审计的用户名,null 表示审计所有用户。
audit_schema 审计对象的模式名。可以为空,表示审计所有模式下的此类对象。
audit_objs 审计对象的名称,比如为表名、视图名、存储过程名。可以为空,表示审计指定模式下的所有此类对象。
创建对象级别审计示例:(请根据现场情况修改)
select sysaudit.set_audit_object(‘table’,‘li’,‘li’,‘t1’);
切换sso用户查看审计日志记录信息
\c security sso