传统的VM是建立在HYPERVISOR之上的,VM与VM间天然隔离,而容器是建立在操作系统之上的,容器与容器间的安全性只能利用操作系统的命名空间隔离,这种安全隔离对于银行企业来说,顶用吗?还有没有其他安全隔离技术?网络安全技术能否深入运用到容器安全方面?
由于容器是进程级的,所以从进程和内存角度去攻击比较难以防护。但对于一般用户而言,更多是网络角度需要对容器访问有控制。一个解决方案就是用SDN的透传,让NFV的虚拟防火墙能保护到容器,容器内外网络访问受限于防火墙策略,这样一定程度多些保障。
收起个人认为:
容器云的安全发展总体上是比较滞后的。
比如说docker在cgroup和namespace上做了很多工作,一定层面上完成了隔离,但是还有部分资源是容器共享的,比如proc下面的数据等等。
容器编排层面也有类似的问题,针对关键的信息通信很多都没有加密。
传统意义上的安全软件,比如防篡改软件等等目前看还没有跟上容器云发展的脚步,出现了一定的滞后。
我个人的建议是:
1.容器使用非root用户启动,不赋予root账户
2.容器基础镜像可以参照传统运维进行OS层面的安全加固
3.容器所在的宿主机开启SELINUX和iptable
4.容器的运行时资源限制,防止资源竞争
5.容器基础镜像OS的漏洞扫描
6.容器中中间件的安全加固和漏洞扫描
7.应用程序自身的漏洞扫描