镜像内有 ssl 证书之类的文件,不希望宿主机能够通过 docker exec 进入容器访问这些文件。
看文档已知有 Swarm 通过 docker secret 去管理,但是需要配置宿主机做主从。
请问在宿主机不可控的情况下有办法能避免宿主机随意访问容器内文件吗?
1
ch2 2021-12-19 12:42:31 +08:00
你的镜像只要被拿到了,文件一解压啥都能看见,根本不需要 exec
|
2
MrGba2z 2021-12-19 12:50:29 +08:00
你要的这个似乎可以用 aws 的 nitro enclaves 实现 docker 行不行就不知道了
|
3
NilChan 2021-12-19 12:53:29 +08:00 via Android
宿主 root 用户不是什么都能看到吗?容器又不是 vm 。
|
4
kerro1990 2021-12-19 13:02:26 +08:00 1
容器不过是个 chroot 环境,母鸡随时可以查看
|
5
documentzhangx66 2021-12-19 15:45:25 +08:00 1
防君子,搞点 OS 加密与磁盘分区加密。
但没有 TPM 、SecureBoot 等技术的加持,第三方掌握 OS 或物理硬件后,还能使用诸如内存提取、驱动注入等技术进行破解,虽然门槛不低。 |
6
Tianao 2021-12-19 16:12:18 +08:00
没用的,多租户环境下服务提供商连 ADC 设备物理安全模块( HSM )中的数据都可以访问。
|
7
Mithril 2021-12-19 16:22:02 +08:00 2
物理不可控就视为已经被破解就可以了,就不要考虑保护了。
除非你像游戏厂商用的那些专业的防破解程序,但就算是它们,也没法顶得住破解。 破解与自我保护从来就是个成本问题 |
8
dingwen07 2021-12-19 16:37:44 +08:00 3
既然你用着 GNU/Linux ,建议你看看 GNU 对“可信计算”的看法:
https://www.gnu.org/philosophy/can-you-trust.html |
9
Tink 2021-12-19 16:44:17 +08:00 via Android
没有办法
|
10
wangtuyi 2021-12-19 19:49:18 +08:00 1
from scratch
然后添加自己的一个程序,资源文件存放在程序里 |
11
gzlock 2021-12-19 21:45:31 +08:00
可以在容器内的使用 run 命令启动程序后联网下载或者加密解压这些文件也算是个方案吧
|
12
ETiV 2021-12-19 21:52:11 +08:00
业务逻辑从远端直接读进内存?
|
13
feather12315 2021-12-19 22:54:47 +08:00 via Android
理论上只有同态加密可以搞定这玩意
|
14
yidinghe 2021-12-20 08:06:17 +08:00 via Android
容器内文件分为操作系统使用的和应用使用的,前者不需要加密,后者才有可能需要。对文件内容加密的技术不用多说,但密钥放哪呢,又不能直接放容器里,那就只能在应用启动时从网络下载了。
|
15
nvkou 2021-12-20 09:29:59 +08:00 via iPhone
运行时签发?
|
17
Rheinmetal 2021-12-20 10:19:10 +08:00
转发明文流量到自己控制的机器上做 ssl
|
18
meiyoumingzi6 2021-12-20 14:46:50 +08:00
没办法的, 文件本身就在宿主机上啊
|