前言:什么是等保测评`
全称是信息安全等级保护测评,是经公安部认证的具有资质的测评机构,依据国家信息安全等级保护规范规定,受有关单位委托,按照有关管理规范和技术标准,对信息系统安全等级保护状况进行检测评估的活动。
一、数据库基本测试内容
- 数据库密码复杂度
- 数据库登录错误限制
- 数据库闲置链接超时时间
- 数据库基础账号密码修改
- 数据库SSL安全配置
- 数据库审计
- 审计日志转储
二、操作步骤
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=365
password_encryption=scram-sha-256
identity_pwdexp.error_user_connect_times=10
passwordcheck.level = 'true'
identity_pwdexp.error_user_connect_interval = 15
client_idle_timeout=15min
log_min_duration_statement=1000
sso_update_user.sso_update_user_enable = true
sysaudit.enable=on
ssl = on
ssl_ca_file = 'root.crt'
2.配置SSL证书
上传SSL证书包到/home/kingbase目录下(如图) 解压SSL证书包
su kingbase
unzip Cert.zip
得到如下文件 * server.crt,server.key,root.crt 为数据库服务器端证书文件,其余为客户端证书文件
chown -R kingbase.kingbase Cert
chmod -R 700 Cert
cd Cert
cp root.crt server.key server.crt /home/kingbase/cluster/KingbaseCluster/KingbaseCluster/kingbase/data/
cd ..
mv Cert /home/kingbase/.kingbase
如图:
到这里需要重启数据库集群 切换到数据库bin目录下并重启集群
cd /home/kingbase/cluster/KingbaseCluster/KingbaseCluster/kingbase/bin
./sys_monitor.sh restart
如图
修改SYSTEM密码
我们的旧密为123456需修改为kingbase@123.bj
./ksql -U system test
进入数据库后
alter user system with password 'kingbase@123.bj';
\q
如图 把密码进行base64位加密
echo 'kingbase@123.bj' | base64
如图 拷贝密码串后,修改all_nodes_tools.conf的密码串 * 这里注意:所有节点都需修改
cd /home/kingbase/cluster/KingbaseCluster/KingbaseCluster/kingbase/etc
vi all_nodes_tools.conf
如图(修改红色部分): 修改为
修改安全员SSO密码
登录数据库
./ksql -U sso test
进入数据库后修改密码
alter user sso with password 'kingbase@123.zg';
\q
如图
修改审计员SAO密码
./ksql -U sao test
进入数据库后修改密码 * 这里注意: 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'
如图
修改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
如图所示: 最后重启集群让配置生效
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
执行数据库语句
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
验证安全员SSO密码
./ksql -U sso test
验证审计员SAO密码
./ksql -U sao test
查看密码复杂度
登录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;
如图
查看登录失败次数及锁定时间
show identity_pwdexp.error_user_connect_times;
show identity_pwdexp.error_user_connect_interva;
如图
查看闲置连接的断开时间
show client_idle_timeout;
如图
查看用户密码过期时间
show identity_pwdexp.password_change_interval;
如图
验证SSL连接是否开启
登录system用户
./ksql -U system test -h127.0.0.1
验证设计功能是否开启
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;
总结
提示:以上是本次R6集群修改等保的基本内容,后续会更新更多金仓数据库知识,麻烦各位亲点赞或收藏,给予本文作者更多的支持和动力
|