如何保护配置文件中的敏感信息,比如数据库密码

2022-02-28 16:28:25 +08:00
 cppc

我们产品部署在甲方数据中心,同事(以下简称 A,算是项目经理)反馈甲方要求不得保存明文敏感信息:

我提出方案有

  1. 数据加密: 配置文件中的敏感信息加密保存,解密密钥保存在配置文件中。A 的意见:加密密钥也属于密码、密钥。
  2. 用管分离: 使用密码库,配置中心之类的基础设施,我们拉取配置信息。A 的意见: 连接配置中心需要用户名 /口令,也是密码;配置中心连数据库需要数据密码,也是密码。

我不确定是 A 自己没有理解需求,还是甲方确实这么提出,这不就无限套娃么。

我们的客户是金融行业,请问这方面有无具体的技术规范?如果我的方案可行,要怎么样才具有说服力呢?

PS: A 坚持认为自己已经跟甲方沟通好了,不愿意再去询问具体要求

8496 次点击
所在节点    信息安全
76 条回复
tonzeng
2022-03-01 10:29:33 +08:00
UKey 不是銀監會要求的嗎。。。
kcross
2022-03-01 12:31:25 +08:00
还不如做好权限管理 敏感操作做验证
OldCarMan
2022-03-01 13:09:52 +08:00
哈哈,看到你这问题和这几天发生的事情,突然想到一个有点不相关的事情,北方某大国或者西方某大国,关键时候都是某种密码箱随身带,这是不是侧面说明了,想完全去密码很难,不断的加密和解密,个人觉得某种意义上只是套娃,相对于这些,提供一个尽量安全的生产环境和严格的 IT 管理举措才是重点。(纯属联想和个人拙见,逃🐶)
RickyC
2022-03-01 13:35:45 +08:00
@xuanbg 密码本身就不安全;你能保证使用者自己不泄露吗?
mpi2018
2022-03-01 13:36:23 +08:00
客户金融行业,这种需求就是为了合规,密钥写死在代码里就行了
wsgfz000
2022-03-01 15:17:09 +08:00
之前线上环境我是写到对应机器的环境变量里的,写代码里因为 git 每个本地也会存代码,还是有比较大的风险。

放线上机器(内网,无公网 IP )里,假设的是如果他都 hack 进内网的机器了,那他啥事干不了?
zhujq
2022-03-01 15:54:58 +08:00
@swulling 大哥过来人,我们之前也是这样搞的😄
Jooooooooo
2022-03-01 15:56:31 +08:00
搜 kms
SSang
2022-03-01 17:01:02 +08:00
用环境变量传呗(用 export ),只有部署时候需要用到,启动时候读完就写进内存,然后环境变量就失效了,但要是挂了就还得再手动部署
tabris17
2022-03-01 17:02:07 +08:00
存环境变量
SSang
2022-03-01 17:07:42 +08:00
而且我有个问题,楼上说的,解密密钥写代码,配置文件存密文,这不是一样没用吗
我好像不需要知道你怎么解密的,我只要知道密文然后传给你就好了
这不是和加盐,做 md5 、哈希什么的一样吗
可靠的加密应该只能是非对称加密吧,但这要求必须有权威认证机构
SSang
2022-03-01 17:09:43 +08:00
其实写死在环境变量也行,只要客户不知道怎么查环境变量,你就说,看文件里面没有,忽悠他就好了
CapNemo
2022-03-01 20:29:32 +08:00
kenvix
2022-03-01 21:25:16 +08:00
这个需求就适合用 TPM 啊
dotw2x
2022-03-29 13:00:03 +08:00
Azure Key Vault 之类的服务好像比较适合这种场景,支持使用软件密钥加密,也支持 HSM 。
aaniao002
2022-04-22 08:07:16 +08:00
给你个建议,并不要纠结有没有意义,因为我甲也纠结了好久,规定就是这样的,你找个谁都别说的双向加解密算法,只要存密码文件是独立的,打开是没有明文密码的,加密算法是别人看不懂的就行。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/836944

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX