一、相关背景了解
容器可以不是安全的,它也是可以被入侵的。对于容器本身的一些配置安全问题本身也可能成为黑客利用用来做攻击的一些工具。
同时,除了docker本身以外,还有像类似k8s这样编排工具,它里面存在的一些配置问题,比如说用apiserver开启了匿名访问,那么会导致未授权用户获取k8s的核心数据。就这样的一些配置安全问题也能成为黑客的入侵工具。
黑客 webshell(反弹shell)-> 获取容器控制权,如果root权限运行容器或者特权容器,当黑客入侵到容器里,几乎可以做主机上可以做的一切,同时它可以去控制更多的容器。
二、容器安全问题总述
2.1 不安全的镜像源
2.2 容器相关安全漏洞
Docker应用本身
编排应用存在的安全漏洞
宿主机上的应用安全漏洞
2.3 不安全的环境配置
容器配置不当引起的安全问题
编排应用配置不当引发的安全问题
宿主机配置不当引起的安全问题
(容器配置不当和编排配置不当不是一个概念)
2.4 Docker架构引发的安全问题
从容器逃逸到宿主机
三、容器安全漏洞
3.1
简要了解:k8s一个特权提升漏洞:实现提升k8s普通用户到k8s api server的权限(默认就是最高权限)。一旦获取了k8s api server的权限,就相当于获取了整个k8s集群的所有的权限。
3.2 Docker架构引发的安全问题
容器实例==,共享宿主机的资源==,也就是底层的cpu、内存和磁盘等资源 由主机操作系统进行统一的调度和分配。如果不对每个容器的可用资源进行有效的限制和管理,就会造成容器之间资源使用不均衡,严重时可能导致主机和集群资源耗尽!!!造成拒绝服务。
比如:在一个容器里用脚本疯狂写文件–> 一段时间后提示 no space left on device ,在宿主机上用df -iH命令查看Inode使用100%,于是所有的Inode资源被消耗完!!