如题,之前有想过这个问题,今天无意中有想到了,现在很多配置数据库账户密码的明文都存放在项目代码中,这种有没有什么加密措施,总是感觉这样很不妥,各位大佬怎么说?
1
nicevar 2020-08-17 10:51:59 +08:00
如果进行安全配置了没有什么不妥,这些东西都需要 root 权限才能看到,你都让人拿到 root 权限了,还在乎这个密码被人看到?
|
2
2kCS5c0b0ITXE5k2 2020-08-17 10:56:10 +08:00 via iPhone
担心那么多 你要加密肯定要解密吧 解密不还要密钥 你密钥不也要放机子上? 难道你还要再开一个机子获取密钥吗 那密钥传输安全吗 那又要上 tls 加密传输密钥 那还要防中间人
|
3
coolcoffee 2020-08-17 11:03:01 +08:00 2
如果我有你服务器文件任意读写权限,我直接把你程序代码引入的地方加个 log 不就可以看到了。
正确的做法应该是敏感信息用环境变量,然后启动的时候把环境变量参数传进去。 这样开发人员就无法知晓生产环境的配置 |
4
xdbytes1 2020-08-17 11:28:35 +08:00
把密码写在系统环境变量中,代码运行时候自动读取系统变量中的密码就可以了
|
5
37Y37 2020-08-17 11:32:46 +08:00 1
配置文件中都加密,我们的方案 https://blog.ops-coffee.cn/s/dpgqiel4wcmgdqh1aeg4gw
|
7
594duck 2020-08-17 11:46:24 +08:00 1
JAVA 最简单的是引用以下这个,Jenkins 各环境打包的时候直接就把加密好的值 打进去就好,启动的时候把盐给输一下。
http://www.jasypt.org/ 权限隔离,人员隔离就好。运维不用去管 DBA 和其它第三方 API 的 KEY 是什么,只管根据人家给的加密后的配置打包就好。 |
8
594duck 2020-08-17 11:47:37 +08:00
还有就是用像携程的阿波罗那样的中心统一配置中心
|
9
learningman 2020-08-17 12:06:28 +08:00
只要有个 xx git 传错地方,你们就该炸了。。。
|
10
crclz 2020-08-17 16:00:26 +08:00
放在环境变量里面,因为不想让代码储存服务提供商、构建服务提供商知道你的数据库密码。
|
11
Eirxxx69 2020-08-17 17:13:44 +08:00
我们公司是将项目里的配置文件放在单独的项目上,开发最多只能看到测试环境的配置文件,线上的配置文件没权限看的
|
12
zjsxwc 2020-08-17 17:24:57 +08:00 via Android
从系统环境变量里获取密码,代码和项目都不需要密码,只有运维知道密码。
|
13
dallaslu 2020-08-17 17:54:19 +08:00
代码里不应该有关键密码呀,都放在外部配置文件里呗
|
14
wangritian 2020-08-17 18:04:46 +08:00
代码仓库放开发用配置,开发环境的数据库 /免费额度的 apikey/开发用证书,全暴露也没损失,线上环境用环境变量或文件替换掉,比如 k8s 的 configMap
|
15
x86 2020-08-17 18:07:25 +08:00
服务器地址写的 localhost 咋啦
|
16
walkfish 2020-08-17 18:12:01 +08:00 1
我们是采用阿波罗配置中心来解决这个问题
|
17
Cookieeeeee 2020-08-17 19:48:08 +08:00
环境变量
|
18
LokiSharp 2020-08-17 20:51:56 +08:00 via iPhone
不是配在 env 里么
|
19
24bit 2020-08-17 20:54:40 +08:00
写在环境变量里面或者放到配置中心读取
|
20
Jooooooooo 2020-08-17 22:59:52 +08:00
你需要 kms
|
21
yingfengi 2020-08-18 00:11:20 +08:00
localhost
账号密码空 |
22
abc612008 2020-08-18 07:19:15 +08:00
@coolcoffee /proc/self/environ 了解一下
|
23
sadfQED2 2020-08-18 12:25:25 +08:00 via Android
密码一般放在环境变量、etcd 、阿波罗
|
24
stevenkang 2020-08-18 15:42:25 +08:00
物理隔离,环境不互通
|
25
intmax2147483647 2020-08-18 23:09:29 +08:00
AWS 的 KMS😎
|