Microsoft Docs提到容器提供隔离和安全性。考虑一个应用程序接受用户代码并在服务器上运行它的情况。因此,如果我们将应用程序托管在Windows服务器上的hyper-v容器上,那么我们可以放心,无论用户编写什么内容,它都不会影响我们的应用程序以及托管它的容器。
上周,我已经阅读了有关容器的Microsoft文档,但尚未找到此查询的直接答案。到目前为止,我已经知道我们的主机操作系统不会受到影响。而且,该应用程序所做的所有修改都将被捕获到沙箱中,因此我们的主机操作系统几乎没有任何风险。
最佳答案
容器使用内核名称间距隔离应用程序。这意味着应用程序将共享同一内核,并且在容器内运行的内核级漏洞可能会使该容器逃脱并影响主机的其余部分。 Docker允许使用各种选项将主机的某些部分暴露给容器,因此这取决于您如何运行容器。开箱即用, docker 没有使用限制,因此您可以通过不受信任的应用程序进行DoS。
与在同一主机上在容器外部运行所有内容相比,容器确实提供了更高的安全性,但与每个应用程序启动一个完全独立的VM相比,容器提供的安全性更低。您需要确定要在安全级别上处于什么位置,以及锁定内核和容器环境所需的时间和经验。
关于windows - 在Windows Hyper-V容器中运行不受信任的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46040393/