Docker的内存配额及其安全

Docker的内存配额及其安全

  • 一、理解Docker安全
    • 1.命名空间隔离的安全
    • 2.控制组资源控制的安全
    • 3.内核能力机制
    • 4.Docker服务端防护
    • 5.其他安全特性
  • 二、容器资源配置
    • 1.CPU限额
    • 2.内存限制
  • 三.docker安全加固
    • 1.设置特权级运行的容器
    • 2.设置容器白名单

一、理解Docker安全

Docker的内存配额及其安全_第1张图片

Docker容器的安全性,很大程度上依赖于Linux系统自身,评估Docker的安全性时,主要考虑以下几个方面:

Docker的内存配额及其安全_第2张图片

1.命名空间隔离的安全

请添加图片描述

请添加图片描述

请添加图片描述

2.控制组资源控制的安全

请添加图片描述
请添加图片描述

3.内核能力机制

Docker的内存配额及其安全_第3张图片

4.Docker服务端防护

请添加图片描述

5.其他安全特性

Docker的内存配额及其安全_第4张图片

二、容器资源配置

1.CPU限额

请添加图片描述请添加图片描述
请添加图片描述
cpu_period 和 cpu_quota 这两个参数需要组合使用,用来限制进程在长度为 cpu_period 的一段时间内,只能被分配到总量为 cpu_quota 的 CPU 时间
请添加图片描述

请添加图片描述再添加一个CPU
请添加图片描述

Docker的内存配额及其安全_第5张图片

测试两个cpu的争抢问题

如果你是两个cpu的话首先先关掉一个cpu
请添加图片描述

Docker的内存配额及其安全_第6张图片
退出刚才第二次启用的交互,下面我们可以加一个限制cpu的参数,重新进去,再次查看top中cpu占用情况
Docker的内存配额及其安全_第7张图片
请添加图片描述
Docker的内存配额及其安全_第8张图片

2.内存限制

容器可用内存包括两个部分:

物理内存和swap交换分区。

docker run -it --memory 200M --memory-swap=200M ubuntu
–memory设置内存使用限额
–memory-swap设置swap交换分区限额

请添加图片描述
下载libcgroup-tools工具
请添加图片描述
请添加图片描述
创建一个用来测试内存的目录x1:
请添加图片描述
我们可以发现,创建好的目录x1里面拥有很多配置文件
因为它直接继承上级目录下的所有文件!
Docker的内存配额及其安全_第9张图片
请添加图片描述
限制上传的内存最大为200M

请添加图片描述
请添加图片描述

建指定大小的空间,但是我们发现前面已经设置了最大内存为200M,但是创建300M的空间也并不会报错!!

请添加图片描述
Docker的内存配额及其安全_第10张图片那是因为它占用了我们的swap分区的大小!
我们每次创建一定大小空间之后,用free -m查看一下内存情况就明白了!
我们的mem空间并没有使用有效空间都是1432如下图,但是swap空间使用多了100M,这下刚才的疑惑就解决了!!
Docker的内存配额及其安全_第11张图片关闭swap分区,再添加300M就会直接报错
请添加图片描述

Docker的内存配额及其安全_第12张图片报错!!!!
请添加图片描述

三.docker安全加固

利用LXCFS增强docker容器隔离性和资源可见性

请添加图片描述
请添加图片描述
Docker的内存配额及其安全_第13张图片
Docker的内存配额及其安全_第14张图片
Docker的内存配额及其安全_第15张图片

1.设置特权级运行的容器

请添加图片描述
Docker的内存配额及其安全_第16张图片

2.设置容器白名单

–cap-add
*–privileged=true 的权限非常大,接近于宿主机的权限,为了防止用户的滥用,需要增加限制,只提供给容器必须的权限
此时Docker 提供了权限白名单的机制,使用–cap-add添加必要的权限。

Docker的内存配额及其安全_第17张图片
请添加图片描述
Docker的内存配额及其安全_第18张图片

删除ip:
Docker的内存配额及其安全_第19张图片

你可能感兴趣的:(docker,企业实战)