现在讨论Docker安全性的话题颇多,主要集中在对使用容器方式的隔离性、攻击防护性等方面。
往往与虚拟机方式进行比较。
首先,从安全性上看,Docker容器的安全性比不上虚拟机,这点是毋庸置疑的。
容器内的应用可以直接访问到主机系统内核;而虚拟机中的应用首先要访问到虚拟机的操作系统,然后在经过hypervisor层才能访问到外部的系统。
而且,虚拟机方式在生产环境中经过诸多检验,更加成熟一些。
然而,从我的角度看,容器方式确实牺牲掉了部分的安全性,但却换来了高效性和灵活性。
且不说它的快速启动和关闭,以及对系统资源极少的需求。
光从内核机制上看,容器的安全性实际上完全依赖于内核。因此,一旦当内核发生问题时候,无论容器还是虚拟机都会出问题。
这个时候容器的优势就体现出来了,因为容器完全可以在正常运行中的同时,本地主机就可以给内核打上补丁或更换新内核。
另外,Linux的内核在安全性方面已经是十分成熟。下一步随着不必给容器分配root权限这方面的改进,Docker的安全问题将得到极大的缓解。
No comments:
Post a Comment