【发布时间】:2017-02-02 23:28:14
【问题描述】:
当我以普通用户身份运行容器时,我可以在我的主机文件系统上映射 和修改 root 拥有的目录。这似乎是一个很大的安全漏洞。例如,我可以执行以下操作:
$ docker run -it --rm -v /bin:/tmp/a debian
root@14da9657acc7:/# cd /tmp/a
root@f2547c755c14:/tmp/a# mv df df.orig
root@f2547c755c14:/tmp/a# cp ls df
root@f2547c755c14:/tmp/a# exit
现在我的 host 文件系统将在输入df 时执行ls 命令(大部分是无害的示例)。我不敢相信这是理想的行为,但它正在我的系统中发生(debian 拉伸)。 docker 命令具有正常权限(755,不是 setuid)。
我错过了什么?
也许再澄清一点是件好事。目前我对容器本身的功能或功能不感兴趣,也不关心容器内的根访问权限。
相反,我注意到我系统上任何可以运行 docker 容器的人都可以使用它来获得对我的 主机 系统的 root 访问权限,并以 root 身份读/写他们想要的任何内容:有效地为所有用户提供 root使用权。这显然不是我想要的。如何预防?
【问题讨论】:
标签: docker