以root用户身份运行的Docker的安全性
Docker 博客文章指出:
默认情况下,Docker容器是相当安全的。特别是如果您要以非特权用户(即非root用户)的身份在容器内运行进程。”
那么,如果我以root用户身份在docker下运行,安全问题是什么?我的意思是,如果我以非特权用户身份处理我的进程,这是非常安全的,那么,以root用户身份托管在容器中怎么会对我有害?我只是想让它理解它,如果以root身份运行时它不安全,那么如何隔离它呢?哪些系统调用可以公开主机系统呢?
回答:
当您以root身份运行时,可以访问范围更广的内核服务。例如,您可以:
- 操纵网络接口,路由表,netfilter规则;
- 创建原始套接字(通常来说,是“外来”套接字,使用比良好的旧TCP和UDP受到更少审查的代码);
- 挂载/卸载/重新挂载文件系统;
- 更改文件所有权,权限,扩展属性,覆盖常规权限(即,使用略有不同的代码路径);
- 等等
(有趣的是,所有这些示例均受功能保护。)
关键是,以root身份,您可以练习更多的内核代码。如果该代码中存在漏洞,则可以以root用户身份(而非普通用户)触发它。
此外,如果有人找到了突破容器的方法,那么如果您以root身份突破,显然比普通用户造成的损失要大得多。
以上是 以root用户身份运行的Docker的安全性 的全部内容, 来源链接: utcz.com/qa/429786.html