容器有很多优势,但它们是否安全?

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

容器被誉为是将应用程序部署到服务器上的非常有效的手段。容器(例如基于Docker开源标准的容器)比虚拟机消耗更少的资源,并且容器的设计更容易,且实例化和提供更快。

007b10b62b68108078f784f75c3b0c782edca42d

然而,与虚拟机不同,容器并不是100%与底层主机操作系统(通常是Linux或Window Server)或服务器上的驱动程序或其他应用程序隔离的。

虚拟机是一个完整的虚拟化服务器,通过被称为虚拟机管理程序的软件分配磁盘空间、处理器周期和I/O资源。在虚拟机中可以找到真实服务器上的所有内容:操作系统、设备驱动程序、应用程序、配置文件和网络连接。

换句话说,从底层起,是裸机、服务器的主机操作系统、管理程序,然后是一个或多个虚拟机,每个虚拟机都有自己的操作系统、驱动程序和应用程序。

相比之下,容器中的所有内容都共享底层主机操作系统、设备驱动程序和一些配置文件。例如Docker,它提供一个或多个容器,而不是管理程序。每个容器只保存应用程序。这些应用程序依赖于主机操作系统和驱动程序,它也与在同一台服务器上运行的其他容器共享。

容器的好处是:开销更小

如果在Linux服务器上有20台Linux虚拟机,则需要使用内存和CPU资源运行21个Linux实例,其中20个是虚拟机,另一个运行主机。启动所有这些Linux实例需要一定的时间,并且开销很大。

另一方面,所有这些Linux虚拟机都是相互隔离的,事实上,它们甚至可能是不同版本的Linux。在VM模型中,这完全没问题。

相反,如果在Linux服务器上有20个容器,则只需要一个Linux副本运行。启动一个容器非常快,并且消耗的资源要少得多,只有一个Linux内核和一组共享库。

但是,一个容器中的出现安全问题可能会泄漏并影响其他容器或其应用程序。

虚拟机的好处:更强的隔离

现代微处理器、主机操作系统(Linux和Windows)以及虚拟机管理程序(VMware ESX,Citrix XenServer和Microsoft Hyper-V)中的技术可在每个虚拟机之间提供基于硬件的隔离。这种保护是同心环:每个环都受到较高编号的环的保护,其中0环位于中心,与应用隔离。

在虚拟机系统中,主机操作系统的内核在0环中运行,这意味着什么都无法达到。管理程序在环1中运行。而单个虚拟机在环2中运行,因此无法访问环1内的管理程序或操作系统。

更重要的是,管理程序可以使用它的环1权限来执行规则,防止一个VM访问另一个VM的内存、应用程序或资源。

由于Docker Daemon不是环1管理程序,而是简单的环2应用程序,所以在容器中事物并不是同样安全的。因此,硬件中没有任何东西可以完全阻止一个容器对底层服务器进行更改,或者访问其他容器的内存、存储或设置。虽然有软件保护,但它们并非难以穿透。

如何保护容器

基于容器的服务器的安全性应视为适合“friends and family”:我们应该了解并信任在该服务器上运行的所有应用程序。

但是我们不需要知道或信任在服务器上运行的其他虚拟机上的应用程序,这就是为什么云托管公司使用虚拟机而不是容器来隔离客户的软件和数据的原因。

保护容器不易受到伤害,可以归结为以下几种常见方法。首先,最小化容器化软件的攻击面,以便在受到攻击时,将数据泄漏的危险性降到最小。

另一个是严格控制对容器的访问,并且如果有必要,需要在自己的服务器上隔离特别敏感的容器。

一定要研究使用的容器系统以及底层主机操作系统。例如,那些在Red Hat Linux上运行的容器应该查看公司的“十层容器安全”文档。其他必读内容是Docker的“容器安全入门”和Microsoft的“在Azure容器服务中确保Docker容器安全”。

容器是将应用程序部署到云中的最快、最有效的方式,并且比虚拟机的资源效率更高。目前的问题是容器不像虚拟机那样安全。但只要在使用容器的时候考虑到这一点,你将能够得到更好的体验。


原文发布时间为:2018-06-22

本文作者:文摘菌

本文来自云栖社区合作伙伴“SDNLAB”,了解相关信息可以关注“SDNLAB”。

相关文章
|
2月前
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
|
3月前
|
安全 虚拟化 异构计算
GPU安全容器面临的问题和挑战
本次分享由阿里云智能集团弹性计算高级技术专家李亮主讲,聚焦GPU安全容器面临的问题与挑战。内容分为五个部分:首先介绍GPU安全容器的背景及其优势;其次从安全、成本和性能三个维度探讨实践中遇到的问题及应对方案;最后分享GPU安全容器带状态迁移的技术路径与应用场景。在安全方面,重点解决GPU MMIO攻击问题;在成本上,优化虚拟化引入的内存开销;在性能上,提升P2P通信和GPU Direct的效率。带状态迁移则探讨了CRIU、Hibernate及VM迁移等技术的应用前景。
|
3月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
4月前
|
安全 持续交付 云计算
揭秘云计算中的容器化技术及其优势
揭秘云计算中的容器化技术及其优势
178 1
|
4月前
|
存储 运维 数据中心
使用Docker容器化应用程序的优势与挑战
使用Docker容器化应用程序的优势与挑战
52 0
|
6月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
针对软件供应链的攻击事件在以每年三位数的速度激增,其中三方或开源软件已经成为攻击者关注的重要目标,其攻击方式和技术也在不断演进。通过供应链的传播,一个底层软件包的漏洞的影响范围可以波及世界。企业亟需更加标准和完善的供应链风险洞察和防护机制。本文将结合最佳实践的形式,面向容器应用完整的生命周期展示如何基于容器服务ACK/ACR/ASM助力企业构建云原生软件供应链安全。
|
6月前
|
云安全 安全 Serverless
Serverless 安全新杀器:云安全中心护航容器安全
Serverless 安全防护能力除了支持目前既定的等保合规(漏洞扫描、入侵检测、基线检测等)、安全隔离的能力外还支持 WAF 防火墙、支持通信加密、操作审计、权限管控等能力,也正是有了这些能力的加持,SAE 才能很好的服务了金融、政企、医疗等行业的客户;Serverless(SAE)未来还计划规划更多安全能力为企业保驾护航,包括:代码安全扫描、加密、堡垒机、最小权限、身份与访问管理、以及更多的攻击防护等能力的建设。
|
7月前
|
安全 算法 Java
【Java集合类面试二】、 Java中的容器,线程安全和线程不安全的分别有哪些?
这篇文章讨论了Java集合类的线程安全性,列举了线程不安全的集合类(如HashSet、ArrayList、HashMap)和线程安全的集合类(如Vector、Hashtable),同时介绍了Java 5之后提供的java.util.concurrent包中的高效并发集合类,如ConcurrentHashMap和CopyOnWriteArrayList。
【Java集合类面试二】、 Java中的容器,线程安全和线程不安全的分别有哪些?
|
8月前
|
弹性计算 运维 应用服务中间件
容器的优势,在Docker中运行Tomcat
摘要:了解Docker与虚拟机的区别:虚拟机使用Hypervisor创建完整操作系统,而容器通过namespace和cgroup实现轻量级隔离,共享主机内核。Docker启动快、资源利用率高,适合快速部署和跨平台移植。但安全性相对较低。示例介绍了如何通过Docker搜索、拉取官方Tomcat镜像并运行容器,最后验证Tomcat服务的正常运行。
|
7月前
|
移动开发 小程序 前端开发
跨端技术演进问题之Web容器方案在跨端开发中的优势和不足如何解决
跨端技术演进问题之Web容器方案在跨端开发中的优势和不足如何解决