想请教一下,如果执行是在 kata 或者 firecracker 这种相对安全的执行方式下
docker build 和 kaniko 是不是在安全层面上差不多了?
我是在自己的 k8s 里通过 job ,让 docker 去 build 任意定制的 Dockerfile
同时允许用 RUN 执行任意 bash 脚本的话呢?
想问问 build 过程中会存在安全问题么?如果是 Docker in Docker 的方式的话?
docker build 的过程中到底有多沙盒,主要想请教这个问题
1
yinmin 2023-06-17 22:16:34 +08:00
docker build 是在容器里 build 的,相对比较安全。
|
3
lrh3321 2023-06-18 08:32:32 +08:00 1
Docker in Docker , 一般是把 Host 的 docker.socket 挂载给容器里,容器里跑 docker build 的时候,实际还是 Host 上的 dockerd 在执行任务。
安全性肯定是没 kata 这些在用虚拟机做沙箱的高,内核还是 Host 的内核,如果隔离机制有漏洞还是有机会攻击内核的,很多提权的漏洞可能也适用 |
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 里的指令是可以攻击局域网上的其他机器的。 |