docker安全性
- 容器资源控制
- CPU限额
- 内存限制
- block io限制
- docker安全加固
- 使用lxcfs增强docker容器隔离性和资源可见性
- 设置特权级运行的容器
- 设置容器白名单
- 评估docker的安全性时,主要考虑以下几个方面:
linux内核的命名空间机制提供的容器隔离安全
linux控制组机制对硬件资源的控制能力安全(c group)
linux内核的能力机制所带来的操作权限安全(黑白名单)
docker程序(特别是服务端)本身的抗攻击性
其他安全增强机制对容器安全性的影响
容器资源控制
linux cgroups是限制一个进程能够使用的资源上限,包括cpu,内存,磁盘,网络带宽等;对进程优先级控制并审计,以及将进程挂起和恢复等操作
linux cgroups给用户暴露出来的操作接口是文件系统:
它以文件和目录的方式组织在操作系统的/sys/fs/cgroup路径下;
执行命令查看mount -t cgroup
拉满cpu占用:dd if=/dev/zero of=/dev/null
拉满mem占用:dd if=/devzero of=bigfile bs=1M count=100
修改占用:/sys/fs/cgroup/cpu/docker
CPU限额
–cpu-period 需要与 --cpu-quota 组合使用
用于限制进程在长度为cpu_period的一段时间内,只能被分配到总量是cpu_quota的CPU时间,下面表示设置20%的CPU时间
内存限制
block io限制
docker安全加固
使用lxcfs增强docker容器隔离性和资源可见性
设置特权级运行的容器
–privileged
设置容器白名单
–cap-add