Security 安全性:在虚拟机或裸机上运行Docker更好?
严格从安全的角度来看——有以下问题:Security 安全性:在虚拟机或裸机上运行Docker更好?,security,docker,Security,Docker,严格从安全的角度来看——有以下问题: 在虚拟机上运行Docker,还是在实际机器上运行Docker,哪个更好 在虚拟机上运行时是否存在在实际硬件上运行时不存在的安全风险 虚拟机的操作系统或实际硬件是否与此问题有关 我假设Docker 1.12+ 在安全方面,虚拟化为您提供了更多的分离。当您使用虚拟机时,开销很小,但您具有虚拟化的优点,如更易于管理、更好地利用资源、快照、HA等 不是。虚拟化是一项古老的技术,现在每个人都在使用它。你只需要遵循最佳实践 您需要使用更新的流行linux发行版,并使其保
虚拟化的优点,如更易于管理、更好地利用资源、快照、HA等
虚拟化是一项古老的技术,现在每个人都在使用它。你只需要遵循最佳实践
debian
,Jessie
,您可以加入安全邮件列表
,了解CVE及其相应的补丁程序。但是可以随意使用Ubuntu
,Centos
,RHEL
,SUSE
看起来很有关联,但事实上,一般情况下是不正确的。如果docker实例的分离很重要,那么在单独的VM中运行实例有很大的优势。即使攻击者破坏docker提供的逻辑分离,如果不同的实例或实例组在单独的VM中运行,攻击者也可能会破坏虚拟机监控程序以获得访问权限。这可能是一个显著的区别。所谓实例,您指的是驻留在docker主机上的容器。如果攻击者破坏VM,他可能会破坏物理等价性。相同的linux发行版,具有相同的更新。现在,如果攻击者可以破坏您的虚拟机监控程序,他完全可以控制,但在更新的商业虚拟机监控程序(如
ESXi
)上,甚至在顶级开源虚拟机监控程序(如KVM
)上,这样做应该非常困难。是的,我指的是容器,对不起。我想我们谈论的是同一件事。对于攻击者来说,破坏容器(Docker本身,它只是内核中的一个逻辑分离)可能比破坏虚拟机监控程序更容易。因此,如果您有两个不同的虚拟机,每个虚拟机都有一个Docker主机,并且每个主机都有多个容器,那么攻击者在破坏另一个虚拟机中的一个容器后,要想破坏另一个虚拟机中的容器将非常困难。这个设置将提供更多的分离。我同意,但让我明确一点,如果攻击者破坏虚拟机,他已经完全控制了该虚拟机上的容器。他可以执行命令,访问文件和一切。同意,但这就是重点。他仍然无法控制另一个VM,并且可能很难破坏虚拟机监控程序并获得对另一个VM的访问权。