本文主要是介绍Solr8如何加密Solr的DataInputHandler(DIH)使用的数据库密码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题背景:
最近有个之前的项目在做等保,漏扫发现solr数据导入配置文件中会暴露数据库密码,很不安全,要求整改,需要将配置文件中的数据库密码加密,于是调查了一下解决方案,发现官方提供了解决方案。
官方解决方案地址:文档地址
具体步骤如下图所示:
解释一下:
第一步:此步分为三小步
1.创建文件/var/solr/data/dih-encryptionkey,用于存放加密秘钥
2.授权有且仅有solr用户可以访问
3.设置文件权限,表示只有文件的所有者具有读写权限,而其他用户没有任何权限。
第二步:将数据库密码加密,加密信息会显示在控制台中,复制保存即可
第三步:将配置文件中的数据库密码换成上一步中加密后的密码,并添加encryptKeyFile参数,用于告知solr秘钥位置
常见问题:如果数据库密码中包含特殊字符如:$ ,linux系统默认忽略,导致加密后的密码是错误的,无法正常导入数据,此时加密时密码应使用单引号包裹,如下所示
echo -n 'abuafausg$123@456' | openssl enc -aes-128-cbc -a -salt -md md5 -pass file:/var/solr/data/dih-encryptionkey
这篇关于Solr8如何加密Solr的DataInputHandler(DIH)使用的数据库密码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!