V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xingyue
V2EX  ›  问与答

docker 如何避免宿主机访问容器内部文件

  •  
  •   xingyue · 2021-12-19 12:40:02 +08:00 · 3206 次点击
    这是一个创建于 1102 天前的主题,其中的信息可能已经有所发展或是发生改变。

    镜像内有 ssl 证书之类的文件,不希望宿主机能够通过 docker exec 进入容器访问这些文件。

    看文档已知有 Swarm 通过 docker secret 去管理,但是需要配置宿主机做主从。

    请问在宿主机不可控的情况下有办法能避免宿主机随意访问容器内文件吗?

    第 1 条附言  ·  2021-12-20 10:43:01 +08:00
    谢谢各位的回复,仔细想了下,我这不是想去"小偷"家装防盗门么。。。。。

    ps: ssl 证书只是举个例子,比如很多程序的配置文件这些都是不希望被看到的,从网络下载直接塞到内存里需要修改源程序逻辑,工作量太大也不太现实~

    结帖:老老实实信官方文档,没有魔法~
    18 条回复    2021-12-20 14:46:50 +08:00
    ch2
        1
    ch2  
       2021-12-19 12:42:31 +08:00
    你的镜像只要被拿到了,文件一解压啥都能看见,根本不需要 exec
    MrGba2z
        2
    MrGba2z  
       2021-12-19 12:50:29 +08:00
    你要的这个似乎可以用 aws 的 nitro enclaves 实现 docker 行不行就不知道了
    NilChan
        3
    NilChan  
       2021-12-19 12:53:29 +08:00 via Android
    宿主 root 用户不是什么都能看到吗?容器又不是 vm 。
    kerro1990
        4
    kerro1990  
       2021-12-19 13:02:26 +08:00   ❤️ 1
    容器不过是个 chroot 环境,母鸡随时可以查看
    documentzhangx66
        5
    documentzhangx66  
       2021-12-19 15:45:25 +08:00   ❤️ 1
    防君子,搞点 OS 加密与磁盘分区加密。

    但没有 TPM 、SecureBoot 等技术的加持,第三方掌握 OS 或物理硬件后,还能使用诸如内存提取、驱动注入等技术进行破解,虽然门槛不低。
    Tianao
        6
    Tianao  
       2021-12-19 16:12:18 +08:00
    没用的,多租户环境下服务提供商连 ADC 设备物理安全模块( HSM )中的数据都可以访问。
    Mithril
        7
    Mithril  
       2021-12-19 16:22:02 +08:00   ❤️ 2
    物理不可控就视为已经被破解就可以了,就不要考虑保护了。
    除非你像游戏厂商用的那些专业的防破解程序,但就算是它们,也没法顶得住破解。
    破解与自我保护从来就是个成本问题
    dingwen07
        8
    dingwen07  
       2021-12-19 16:37:44 +08:00   ❤️ 3
    既然你用着 GNU/Linux ,建议你看看 GNU 对“可信计算”的看法:
    https://www.gnu.org/philosophy/can-you-trust.html
    Tink
        9
    Tink  
       2021-12-19 16:44:17 +08:00 via Android
    没有办法
    wangtuyi
        10
    wangtuyi  
       2021-12-19 19:49:18 +08:00   ❤️ 1
    from scratch
    然后添加自己的一个程序,资源文件存放在程序里
    gzlock
        11
    gzlock  
       2021-12-19 21:45:31 +08:00
    可以在容器内的使用 run 命令启动程序后联网下载或者加密解压这些文件也算是个方案吧
    ETiV
        12
    ETiV  
       2021-12-19 21:52:11 +08:00
    业务逻辑从远端直接读进内存?
    feather12315
        13
    feather12315  
       2021-12-19 22:54:47 +08:00 via Android
    理论上只有同态加密可以搞定这玩意
    yidinghe
        14
    yidinghe  
       2021-12-20 08:06:17 +08:00 via Android
    容器内文件分为操作系统使用的和应用使用的,前者不需要加密,后者才有可能需要。对文件内容加密的技术不用多说,但密钥放哪呢,又不能直接放容器里,那就只能在应用启动时从网络下载了。
    nvkou
        15
    nvkou  
       2021-12-20 09:29:59 +08:00 via iPhone
    运行时签发?
    xingyue
        16
    xingyue  
    OP
       2021-12-20 09:56:21 +08:00
    @nvkou #15
    @gzlock #11
    和流程应该是无关的,只要以文件的形式存在了,访问的成本就极低
    Rheinmetal
        17
    Rheinmetal  
       2021-12-20 10:19:10 +08:00
    转发明文流量到自己控制的机器上做 ssl
    meiyoumingzi6
        18
    meiyoumingzi6  
       2021-12-20 14:46:50 +08:00
    没办法的, 文件本身就在宿主机上啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1114 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:44 · PVG 02:44 · LAX 10:44 · JFK 13:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.