Kaniko VS docker build 的安全问题

2023-06-17 16:25:01 +08:00
 aljun

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

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

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

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

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

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

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

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

docker build 的安全性应该和 docker run 的安全性相同。在不考虑 0day bug 的情况下,dockerfile 的指令是无法在主机上运行的。但是由于 build 容器是联网的,在 build 时 dockerfile 里的指令是可以攻击局域网上的其他机器的。
aljun
2023-06-18 14:02:36 +08:00
@lrh3321 那类似 kaniko 这种 build 方式有帮助吗?
aljun
2023-06-18 14:02:51 +08:00
@yinmin 那类似 kaniko 这种 rootless 的方式有帮助吗?

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

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

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

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

© 2021 V2EX