关键字:

安全;来源限制;黑白名单;人大金仓;KingbaseES

概述

所谓黑白名单,是来源限制的另一种叫法。本次经验分享与上次对来源限制的概述和插件介绍不同,以实际用例来解释黑白名单这个特性。

特性实际操作

        1. 成功安装kingbase数据库并为当前安装用户授予可执行权限
        2. 修改kingbase.conf文件,加载插件shared_preload_libraries = ‘src_restrict’
        3. 重新启动数据库,建立ksql连接

./ksql test -U system -p 54321 回车输入正确密码,其中-p根据实际情况调整

  1. 环境

Server端ip:10.11.1.31

客户端ip:10.11.0.2

2. 创建用户testu1

./ksql test -U system -p51291 -h 127.0.0.1

Create user testu1 with password ‘12345678ab’;

3. sso登录开启黑白名单开关

./ksql test -U sso -p51291 -h 127.0.0.1

alter system set src_restrict.enable=on;

select sys_reload_conf();

—黑名单

4. 通过sso用户执行设置黑名单:限制用户testu1不能从ip10.11.0.2上登录数据库

select src_restrict.add_rules(1,’testu1′,’10.11.0.2′,”);

select sys_reload_conf();

5. testu1在ip10.11.0.2登录10.11.1.31的server报错

./ksql test -U testu1 -W -h 10.11.1.31 -p51291

6. Server端通过sso用户执行删除黑名单:客户端testu1正常登录数据库

./ksql test -U sso -p51291 -h 127.0.0.1

select src_restrict.remove_rules(1,’testu1′,’10.11.0.2′);

select sys_reload_conf();

—白名单

7. sso用户设置白名单,删掉all信息,再设置testu1在客户端可远程操作server端

./ksql test -U sso -p51291 -h 127.0.0.1

select src_restrict.remove_rules(0,’all’,’*.*.*.*’);

select src_restrict.add_rules(0,’testu1′,’10.11.0.2′,”);

select sys_reload_conf();

8、testu1在客户端可远程操作server端,system用户不可在客户端远程操作server端

./ksql test -U system -W -h 10.11.1.31 -p51291

./ksql test -U testu1 -W -h 10.11.1.31 -p51291

9、还原环境

Sso设置all信息,删除testu1白名单

select src_restrict.add_rules(0,’all’,’*.*.*.*’,”);

select src_restrict.remove_rules(0,’testu1′,’10.11.0.2′);

select sys_reload_conf();

使用经验及注意事项

本特性在搜索相关信息时,可以搜索来源限制,也可以搜索黑白名单,需要提前开启插件方可按照用例使用,在做多机器交互的特性时,可以考虑此特性的影响。

价值评价

可以通过此特性,限制一些不允许访问的ip,或者是一些风险或者不可信的ip,这比黑名单级别更高,可以优先的防止其进行连接,提高了安全性。

参考资料

《KingbaseES 安全指南》