Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 安全性:在虚拟机或裸机上运行Docker更好?_Security_Docker - Fatal编程技术网

Security 安全性:在虚拟机或裸机上运行Docker更好?

Security 安全性:在虚拟机或裸机上运行Docker更好?,security,docker,Security,Docker,严格从安全的角度来看——有以下问题: 在虚拟机上运行Docker,还是在实际机器上运行Docker,哪个更好 在虚拟机上运行时是否存在在实际硬件上运行时不存在的安全风险 虚拟机的操作系统或实际硬件是否与此问题有关 我假设Docker 1.12+ 在安全方面,虚拟化为您提供了更多的分离。当您使用虚拟机时,开销很小,但您具有虚拟化的优点,如更易于管理、更好地利用资源、快照、HA等 不是。虚拟化是一项古老的技术,现在每个人都在使用它。你只需要遵循最佳实践 您需要使用更新的流行linux发行版,并使其保

严格从安全的角度来看——有以下问题:

  • 在虚拟机上运行Docker,还是在实际机器上运行Docker,哪个更好
  • 在虚拟机上运行时是否存在在实际硬件上运行时不存在的安全风险
  • 虚拟机的操作系统或实际硬件是否与此问题有关
  • 我假设Docker 1.12+

  • 在安全方面,虚拟化为您提供了更多的分离。当您使用虚拟机时,开销很小,但您具有
    虚拟化的优点,如更易于管理、更好地利用资源、快照、HA等
  • 不是。
    虚拟化是一项古老的技术,现在每个人都在使用它。你只需要遵循最佳实践
  • 您需要使用更新的流行linux发行版,并使其保持最新。在撰写本文时,我个人的偏好是
    debian
    Jessie
    ,您可以加入安全
    邮件列表
    ,了解CVE及其相应的补丁程序。但是可以随意使用
    Ubuntu
    Centos
    RHEL
    SUSE

  • 看起来很有关联,但事实上,一般情况下是不正确的。如果docker实例的分离很重要,那么在单独的VM中运行实例有很大的优势。即使攻击者破坏docker提供的逻辑分离,如果不同的实例或实例组在单独的VM中运行,攻击者也可能会破坏虚拟机监控程序以获得访问权限。这可能是一个显著的区别。所谓实例,您指的是驻留在docker主机上的容器。如果攻击者破坏VM,他可能会破坏物理等价性。相同的linux发行版,具有相同的更新。现在,如果攻击者可以破坏您的虚拟机监控程序,他完全可以控制,但在更新的商业虚拟机监控程序(如
    ESXi
    )上,甚至在顶级开源虚拟机监控程序(如
    KVM
    )上,这样做应该非常困难。是的,我指的是容器,对不起。我想我们谈论的是同一件事。对于攻击者来说,破坏容器(Docker本身,它只是内核中的一个逻辑分离)可能比破坏虚拟机监控程序更容易。因此,如果您有两个不同的虚拟机,每个虚拟机都有一个Docker主机,并且每个主机都有多个容器,那么攻击者在破坏另一个虚拟机中的一个容器后,要想破坏另一个虚拟机中的容器将非常困难。这个设置将提供更多的分离。我同意,但让我明确一点,如果攻击者破坏虚拟机,他已经完全控制了该虚拟机上的容器。他可以执行命令,访问文件和一切。同意,但这就是重点。他仍然无法控制另一个VM,并且可能很难破坏虚拟机监控程序并获得对另一个VM的访问权。