Docker 博客文章指出:
默认情况下,Docker容器是相当安全的。特别是如果您要以非特权用户(即非root用户)的身份在容器内运行进程。”
那么,如果我以root用户身份在docker下运行,安全问题是什么?我的意思是,如果我以非特权用户身份处理我的进程,这是非常安全的,那么,以root用户身份托管在容器中怎么会对我有害?我只是想让它理解它,如果以root身份运行时它不安全,那么如何隔离它呢?哪些系统调用可以公开主机系统呢?
当您以root身份运行时,可以访问范围更广的内核服务。例如,您可以:
(有趣的是,所有这些示例均受功能保护。)
关键是,以root身份,您可以练习更多的内核代码。如果该代码中存在漏洞,则可以以root用户身份(而非普通用户)触发它。
此外,如果有人找到了突破容器的方法,那么如果您以root身份突破,显然比普通用户造成的损失要大得多。