传统的单体应用的安全边界清晰,安装Agent就可以解决大量的监控木马入侵的问题,但是容器平台的共享内核特性、无状态特性,造成了安全便捷的不清晰,传统的安全产品因为网络的原因也无法对容器内的网络进行监控,所以改造后安全的问题怎么进行解决?是通过三方产品么?
针对安全问题,其实可以考虑商业化的容器云平台解决方案,可以提供多维度安全设计,保证系统数据安全,环境安全,网络安全,运行安全等全面的要求。在容器主机操作系统本身提供的安全措施(Linux 命名空间、安全增强型 Linux (SELinux)、Cgroups、功能和安全计算模式 (seccomp) 等)之外,商业化的容器云解决方案中,还可以在安全层面提供以下措施:
首先容器不是一个操作系统的概念,应该是一个应用的概念。应用确保安全的方法是做代码扫描,相应的容器也可以做镜像扫描。容器运行时,通常对外只有一个服务端口,也无法通过用户名/密码的方式登陆,所以相对传统操作系统,对外暴露的点非常少,网络侵入的难度会非常大。容器安全的威胁有很大一部分来自内部,因此需要通过证书、授权等级制严格限制,只有授权的用户才可以访问容器API,包括登陆容器。同时为了避免有额外用户登录容器后尝试获取宿主机root权限,也需要对容器的权限做一定控制,禁止一些可能引起安全漏洞的高权限命令,比如docker命令。
网络监控方面,在使用overlay网络模型下,集群内容器之间的互访流量(东西向流量)的确不好监控。这种情况下就假定集群内的应用之间都是可以互相信任的。如果一定要做访问控制,就需要使用underlay网络模型,比如Calico。
收起