在这个Stack Exchange上,有许多答案认为容器本质上是不安全的,人们不应该在容器中运行不受信任的代码,更不要说运行完全由其他人构建的容器了。
然而,目前有许多公司提供AWS风格的VPS服务,使用容器而不是虚拟化。
当然,除非您使用武装警卫运行您自己的私人数据中心,并且不将其连接到互联网,否则没有VPS或租用的服务器是完全安全的。为了使容器具有相关性,攻击的可能性不需要为零,它只需要与替代服务的攻击向量相比足够小。
所以问题是:容器到底能有多安全?是否有容器系统(如果是的话,哪些系统)目前没有已知的漏洞,哪些系统的利用可能相当困难?
问题的一个具体方面是:在最坏的情况下,是否有任何容器系统可以认为运行不受信任的容器与以非特权用户的身份运行非容器代码一样安全?
发布于 2016-06-21 16:54:03
孤立地讨论容器化安全性是相当困难的,因为提供的隔离特性本质上是Linux内核的函数(假设我们在这里讨论的是像LXD、Docker和Rkt这样的项目)。
可以公平地说,主机上容器中的应用程序不可能比在同一主机上运行在容器外部的同一个应用程序安全。
我建议,与未包含的进程相比,配置良好的容器可以为整个解决方案增加相当大的安全性。
Linux名称空间、cgroup、功能、syscall过滤和强制访问控制系统(如AppArmor或SELinux)等特性都可以用来帮助保护容器中运行的进程。
在很多情况下,这取决于操作员愿意在配置容器安全性方面付出多少努力。这些项目的缺陷倾向于确保大多数应用程序似乎都能正常工作,而不是专注于绝对安全,因此有相当大的改进余地。
https://security.stackexchange.com/questions/122322
复制相似问题