文章目录

  • 前言:什么是等保测评`
  • 一、数据库基本测试内容
  • 二、操作步骤
  • 1.修改数据库配置文件
  • 2.配置SSL证书
  • 修改SYSTEM密码
  • 修改安全员SSO密码
  • 修改审计员SAO密码
  • 修改sys_hba文件
  • 配置审计规则
  • 审计转储
  • 验证等保内容
  • 验证SYSTEM密码
  • 验证安全员SSO密码
  • 验证审计员SAO密码
  • 查看密码复杂度
  • 查看登录失败次数及锁定时间
  • 查看闲置连接的断开时间
  • 查看用户密码过期时间
  • 验证SSL连接是否开启
  • 验证设计功能是否开启
  • 查看审计日志
  • 总结



前言:什么是等保测评`

全称是信息安全等级保护测评,是经公安部认证的具有资质的测评机构,依据国家信息安全等级保护规范规定,受有关单位委托,按照有关管理规范和技术标准,对信息系统安全等级保护状况进行检测评估的活动。


一、数据库基本测试内容

  1. 数据库密码复杂度
  2. 数据库登录错误限制
  3. 数据库闲置链接超时时间
  4. 数据库基础账号密码修改
  5. 数据库SSL安全配置
  6. 数据库审计
  7. 审计日志转储

二、操作步骤

1.修改数据库配置文件

切换到kingbase用户下

su kingbase

修改数据库data目录下kiingbase.conf文件,找到

shared_preload_libraries = 'repmgr,liboracle_parser, synonym, plsql, force_view, ,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'

在最后添加参数passwordcheck,identity_pwdexp,sso_update_user,sysaudit,如下所示

shared_preload_libraries = 'repmgr,liboracle_parser, synonym, plsql, force_view, ,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,passwordcheck,identity_pwdexp,sso_update_user,sysaudit'

* 这里注意:一定要修改kingbase.con在es_rep.conf文件中添加无效

修改数据库data目录下es_rep.conf文件
* 这里注意:所有节点都需修改

log_destination='stderr'
logging_collector=on
log_directory='sys_log'
log_filename='kingbase-%w.log'
log_file_mode=0600
log_truncate_on_rotation=on
log_rotation_age=1d
log_rotation_size=1000MB
log_checkpoints=on
log_connections=on
log_disconnections=on
log_line_prefix='%t %d %u %p %x'
log_statement='mod'
lc_messages='C'
passwordcheck.enable=on   #开启密码复杂度验证
passwordcheck.password_length =8  #密码最小长度
passwordcheck.password_condition_letter=2  #至少包含的字母数
passwordcheck.password_condition_digit = 2  #至少包含的数字数
passwordcheck.password_condition_punct = 2   #至少包含的特殊字符数
identity_pwdexp.password_change_interval=30 #数据库用户密码更新周期为30天 
password_encryption=scram-sha-256 #数据库用户密码加密方式 默认值为scram-sha-256 可选值md5
identity_pwdexp.error_user_connect_times=10 #用户登录最大错误次数
passwordcheck.level = 'true' #数据库密码需要特殊字符
identity_pwdexp.error_user_connect_interval = 15 #用户登录失败次数大于最大次数后锁定时间为15分钟
client_idle_timeout=15min #闲置链接15分后自动断开
log_min_duration_statement=1000
sso_update_user.sso_update_user_enable = true #开启三权分立否
sysaudit.enable=on #开启数据库审计
ssl = on	#开启SSL安全链接
ssl_ca_file = 'root.crt' #SSL数据库证书配置 默认读取data目录下

2.配置SSL证书

上传SSL证书包到/home/kingbase目录下(如图)

等保测评查看centos 等保测评查询_database


解压SSL证书包

su kingbase
unzip Cert.zip

得到如下文件

等保测评查看centos 等保测评查询_database_02


* server.crt,server.key,root.crt 为数据库服务器端证书文件,其余为客户端证书文件

chown -R kingbase.kingbase Cert
chmod -R 700 Cert
cd Cert
#配置数据证书文件到data目录
cp root.crt server.key server.crt /home/kingbase/cluster/KingbaseCluster/KingbaseCluster/kingbase/data/
#配置客户端连接证书文件默认读取用户目录下.kingbase目录
cd ..
mv Cert /home/kingbase/.kingbase

如图:

等保测评查看centos 等保测评查询_等保测评查看centos_03

到这里需要重启数据库集群
切换到数据库bin目录下并重启集群

cd /home/kingbase/cluster/KingbaseCluster/KingbaseCluster/kingbase/bin
./sys_monitor.sh restart

如图

等保测评查看centos 等保测评查询_sql_04

修改SYSTEM密码

我们的旧密为123456需修改为kingbase@123.bj

./ksql -U system test

进入数据库后

alter user system with password 'kingbase@123.bj';
\q #退出数据库

如图

等保测评查看centos 等保测评查询_database_05


把密码进行base64位加密

echo 'kingbase@123.bj' | base64

如图

等保测评查看centos 等保测评查询_sql_06


拷贝密码串后,修改all_nodes_tools.conf的密码串

* 这里注意:所有节点都需修改

cd /home/kingbase/cluster/KingbaseCluster/KingbaseCluster/kingbase/etc
vi all_nodes_tools.conf

如图(修改红色部分):

等保测评查看centos 等保测评查询_数据库_07


修改为

等保测评查看centos 等保测评查询_等保测评查看centos_08

修改安全员SSO密码

登录数据库

./ksql -U sso test #默认密码为12345678ab

进入数据库后修改密码

alter user sso with password 'kingbase@123.zg';
\q #退出数据库

如图

等保测评查看centos 等保测评查询_database_09

修改审计员SAO密码

./ksql -U sao test #默认密码为12345678ab

进入数据库后修改密码
* 这里注意: sysaudit.audit_table_password必须修改否则无法记录审计日志

alter user sao with password 'kingbase@123.nn';
alter system set sysaudit.local_sao_password ='kingbase@123.nn';
alter system set sysaudit.audit_table_password ='kingbase@123.nn';
select sys_reload_conf();
\q #退出数据库
./sys_encpwd -H 127.0.0.1 -P 54321 -D security -U sao -W 'kingbase@123.nn'

如图

等保测评查看centos 等保测评查询_postgresql_10


等保测评查看centos 等保测评查询_database_11

修改sys_hba文件

* 这里注意:所有节点都需修改

cd /home/kingbase/cluster/KingbaseCluster/KingbaseCluster/kingbase/data/
vi sys_hba.conf

如图所示
第一行修改为

local   all             all                                     scram-sha-256

第三行修改为

hostssl    all             all             0.0.0.0/0               scram-sha-256 clientcert=1

* 这里注意:两行中scram-sha-256位置为加密方式,保持原样不变
* 这里注意:0.0.0.0/0 为接受所有IP 可以根据要求自行修改放行的IP

如图所示:

等保测评查看centos 等保测评查询_postgresql_12


最后重启集群让配置生效

cd /home/kingbase/cluster/KingbaseCluster/KingbaseCluster/kingbase/bin
./sys_monitor.sh restart

配置审计规则

* 这里注意:开启审计日志会占用更多磁盘IO,内存,CPU预计占比50%,建议能不开启就别开启

cd /home/kingbase/cluster/KingbaseCluster/KingbaseCluster/kingbase/bin
./ksql -U sao test #默认密码为12345678ab

执行数据库语句

select sysaudit.set_audit_stmt('CREATE TABLE','system', null, null);
select  sysaudit.set_audit_stmt('alter table', 'system', null, null);
select  sysaudit.set_audit_object('table', 'system', null, null);

审计转储

* 这里注意:审计转储中auditlog_dump_dir必须是真实的绝对路径

alter system set sysaudit.auditlog_dump_dir = '/home/kingbase/auditlog';
alter system set sysaudit.enable_auto_dump_auditlog = true;
select sys_reload_conf();

审计转储详细攻略


验证等保内容

验证SYSTEM密码

./ksql -U system test

等保测评查看centos 等保测评查询_database_13

验证安全员SSO密码

./ksql -U sso test

等保测评查看centos 等保测评查询_数据库_14

验证审计员SAO密码

./ksql -U sao test

等保测评查看centos 等保测评查询_sql_15

查看密码复杂度

登录system用户

./ksql -U system test

执行

show passwordcheck.enable;
show passwordcheck.password_length;
show passwordcheck.password_condition_letter;
show passwordcheck.password_condition_digit;
show passwordcheck.password_condition_punct;

如图

等保测评查看centos 等保测评查询_数据库_16

查看登录失败次数及锁定时间

show identity_pwdexp.error_user_connect_times;
show identity_pwdexp.error_user_connect_interva;

如图

等保测评查看centos 等保测评查询_sql_17

查看闲置连接的断开时间

show client_idle_timeout;

如图

等保测评查看centos 等保测评查询_sql_18

查看用户密码过期时间

show identity_pwdexp.password_change_interval;

如图

等保测评查看centos 等保测评查询_database_19

验证SSL连接是否开启

登录system用户

./ksql -U system test -h127.0.0.1

等保测评查看centos 等保测评查询_数据库_20

验证设计功能是否开启

show sysaudit.enable;

查看审计日志

登录system用户

./ksql -U system test -h127.0.0.1
create table test_01(id integer);
insert into test_01 select generate_series(1,100);

使用审计员sao用户登录安全库security

./ksql -U sao security -h127.0.0.1

查看审计视图

select * from sysaudit_record_sao;

等保测评查看centos 等保测评查询_database_21

总结

提示:以上是本次R6集群修改等保的基本内容,后续会更新更多金仓数据库知识