GBase 8s 存储加密配置
1. 概述
存储加密一种数据库安全技术, 在数据库主程序启动时加载扩展插件,可以实现:
(1)在数据写入存储介质前将数据进行加密,实现数据的存储加密;
(2)在从存储介质加载数据到内存前进行数据解密,实现数据的解密使用。
GBase 8s使用存储加密必须要数据库初始化之前完成数据库参数及存储加密参数的配置。
本文基于数据库版本为GBase 8s V8.7 2.0.1a2_2,操作系统为CentOS 7.8编写。
2. 配置文件配置
2.1. secswitch.${GBASEDBTSERER}配置文件
数据库实例GBASEDBTSERVER使用secswitch.$GBASEDBTSERVER(该文件以secswitch.std为模板)为名的配置,配置文件位$GBASEDBTDIR/etc目录下。
需要修改的参数包括:
1 2 3 4 5 6 7 8 9 10 11 12 | [switches] #switch for user authentication: #turn off totally : 0 #turn on seperately in bit : ##1 -- first bit means check complexity of the password ##2 -- second bit means check timelimit of the password ##4 -- third bit means check failure counts when logging in SECURITY_AUTHENTICATION=0 #switch for storage encryption: 0(OFF),1(ON) SECURITY_STORAGE_ENCRYPTION=1 # 修改为1 #switch for backup encryption: 0(OFF),1 (ON) SECURITY_BACKUP_RESTORE=1 # 修改为1 |
启用存储加密,备份加密。
2.2. securityconfig.${GBASEDBTSERER} 配置文件
据库实例GBASEDBTSERVER使用securityconfig.$GBASEDBTSERVER(该文件以securityconfig.std为模板)为名的配置,配置文件位于$GBASEDBTDIR/etc目录下。
需要修改的参数包括:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #the configuration for user authentication [authentication] ##the min length of the password PASSWORD_MIN_LENGTH=8 ##the expire days of password PASSWORD_EXPIRE_DAYS=14 #the configuration for storage encryption [storage] ##the type of storage encryption ENCRYPTION_TYPE=SOFT # 修改为SOFT #the configuration for backup encryption [backup] ##the type of backup encryption ENCRYPTION_TYPE=SOFT # 修改为SOFT |
修改存储加密、备份加密的方法为SOFT
2.3. securitylog.${GBASEDBTSERER} 配置文件
据库实例GBASEDBTSERVER使用securitylog.$GBASEDBTSERVER(该文件以securitylog.std为模板)为名的配置,配置文件位于$GBASEDBTDIR/etc目录下。
需要确认的参数包括如下,基本上不需要修改:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #the log path of securiry [logpath] SECURITY_MESSAGE_PATH=/opt/gbase/tmp #the log info of configuration for sercurity log ##turn off totally : 0 ##turn on seperately in bit ###0x1 -- first bit log normal info ###0x2 -- second bit log warning info ###0x4 -- third bit log error info [logset] SECURITY_AUTHENTICATION_PASSWD_COMPLEXITY=6 SECURITY_AUTHENTICATION_PASSWD_DATE=6 SECURITY_AUTHENTICATION_PASSWD_FAILED=6 SECURITY_PASSWORD_TRANSMISSION=6 SECURITY_STORAGE_ENCRYPTION=6 SECURITY_ENCRYPT_FUNCTION=6 SECURITY_DATA_ENCRYPTED_TRANSMISSION=6 |
2.4. seccfg配置文件
seccfg配置文件位于$GBASEDBTDIR/dbssodir目录下,确认内容如下:
1 | IXUSERS=* |
2.5. ONCONFIG配置文件
按实际环境配置ONCONFIG配置文件。
2.6. 初始化数据库
按实际环境初始化数据库,此时数据库使用存储加密。
3. 数据库备份与恢复
由于配置了存储加密,相应的备份和恢复方式也需要适配存储加密功能。
3.1. 数据库备份
备份时使用了存储加密相同的配置文件,直接执行即可。
示例:
1 | ontape -s -L 0 |
3.2. 数据库恢复
数据库恢复时则需要注意:开启存储加密后,会在ROOTPATH相同的目录下创建table_encrypt_key.db 加密密钥文件,因此在恢复时需要确认存在,特别是异机恢复时需要复制该文件,且确认涉及到的配置文件均存在(secswitch/securityconfig/securitylog等)且配置一致,才能正常恢复。
示例:
1 2 3 4 | cd $GBASEDBTDIR /etc && ls -al secswitch* security* # 确认配置文件 onstat -c ROOTPATH # 获取ROOTPATH,假设为/data/gbase/rootchk cd /data/gbase && ls -al table_encrypt_key.db # 确认table_encrypt_key.db ontape -r # 恢复 |
注:本文更新于2024-05-16
- 上一篇: GBase 8s 传输加密SSL配置
- 下一篇: GBase 8s 普通表转换成分片表的方式分析