V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
aljun
V2EX  ›  程序员

Kaniko VS docker build 的安全问题

  •  
  •   aljun · 2023-06-17 16:25:01 +08:00 · 1063 次点击
    这是一个创建于 554 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想请教一下,如果执行是在 kata 或者 firecracker 这种相对安全的执行方式下

    docker build 和 kaniko 是不是在安全层面上差不多了?

    我是在自己的 k8s 里通过 job ,让 docker 去 build 任意定制的 Dockerfile

    同时允许用 RUN 执行任意 bash 脚本的话呢?

    想问问 build 过程中会存在安全问题么?如果是 Docker in Docker 的方式的话?

    docker build 的过程中到底有多沙盒,主要想请教这个问题

    6 条回复    2023-06-18 14:02:51 +08:00
    yinmin
        1
    yinmin  
       2023-06-17 22:16:34 +08:00
    docker build 是在容器里 build 的,相对比较安全。
    aljun
        2
    aljun  
    OP
       2023-06-18 03:16:00 +08:00
    @yinmin 会存在 hack 的情况吗?如果可以执行任意 bash 脚本的话?
    lrh3321
        3
    lrh3321  
       2023-06-18 08:32:32 +08:00   ❤️ 1
    Docker in Docker , 一般是把 Host 的 docker.socket 挂载给容器里,容器里跑 docker build 的时候,实际还是 Host 上的 dockerd 在执行任务。

    安全性肯定是没 kata 这些在用虚拟机做沙箱的高,内核还是 Host 的内核,如果隔离机制有漏洞还是有机会攻击内核的,很多提权的漏洞可能也适用
    yinmin
        4
    yinmin  
       2023-06-18 11:01:42 +08:00 via iPhone
    docker build 过程是先根据 dockerfile 的 from 创建一个容器,然后在这个容器里运行 dockerfile 的指令,最后将容器导出成镜像。

    docker build 的安全性应该和 docker run 的安全性相同。在不考虑 0day bug 的情况下,dockerfile 的指令是无法在主机上运行的。但是由于 build 容器是联网的,在 build 时 dockerfile 里的指令是可以攻击局域网上的其他机器的。
    aljun
        5
    aljun  
    OP
       2023-06-18 14:02:36 +08:00
    @lrh3321 那类似 kaniko 这种 build 方式有帮助吗?
    aljun
        6
    aljun  
    OP
       2023-06-18 14:02:51 +08:00
    @yinmin 那类似 kaniko 这种 rootless 的方式有帮助吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   887 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:55 · PVG 03:55 · LAX 11:55 · JFK 14:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.