容器环境,或者叫容器云,其本质是云计算的一种实现方式,容器技术是云原生体系的底层,因而容器安全也是云原生安全的基石。随着容器技术越来越多地被认可,容器安全也逐渐得到了广泛的关注和重视。总体而言,容器层面的安全可以分为以下四个部分。
(一)容器环境基础设施的安全性。
比如主机上的安全配置是否会影响到其上运行的容器,主机上的安全漏洞和恶意进程是否会影响到容器,容器内的进程是否可以利用主机上的安全漏洞。
(二)容器的镜像安全
包括镜像中的软件是否存在安全漏洞,镜像在构建过程中是否存在安全风险,镜像在传输过程中是否被恶意篡改。
(三)容器的运行时安全
比如运行的容器间的隔离是否充分,容器间的通信是否是安全的,容器内的恶意程序是否会影响到主机或者其他容器,容器的资源使用情况是否安全。
(四)整个容器生态的安全性
比如 Docker 自身的安全性如何,Service Mesh/Serverless 对容器安全有什么影响,容器中安全密钥的管理与传统环境有什么不同,容器化后的数据隐私保护与传统的数据隐私保护是否一致。
容器云的整体安全建设思路可遵循云计算安全架构(图 1)。除了物理安全,容器云环境的安全可以粗略分为两个主要方面∶一方面是容器云内部的安全,这包括宿主机安全、虚拟化安全、容器(东西向)网络的安全、管理平台的安全以及数据安全等;另一方面就是容器云内外之间的网络安全,也就是通常讲的南北向网络安全。
图1云计算安全架构
这样,对于容器云的安全方案,可以分别从两个方面进行设计。对于南北向的网络安全,可以通过安全资源池引流的方式,实现相应的安全检测与防护,这也是业界多数云安全解决方案的实现方式。对于容器云内部的安全,可以通过相应的容器安全机制实现。最后将这两部分统一接入云安全集中管理系统,进行统一的安全管理和运营,如图2所示。
图2容器云安全建设思路