多租户容器间安全隔离的思考
|
运维分配使用这些资源?那么容器云中什么是资源?资源该由谁来管理?如何分配?谁来运维这些资源?谁来使用这些资源?这也是我写本篇文章的目的,本文包含了我对一般多租户安全容器协调器的详细安全考虑。我会通过具体示例来讲解如何在隔离状态下,安全的运行第三方代码,详细介绍请点此。 测试环境的配置 1.用于运行Docker镜像的API,使每个进程完全与其他进程隔离; 2.滥用行为可以立即终止; 3.代理应该是可自动更新的,以便在出现安全问题时处理它们; 4.能够将整个syscall接口用于正在运行的进程; 配置性能要求 1.禁止并删除任何挖矿工具所使用的基础设施及追踪器; 2.防火墙可以关闭任何现有网络端点; 3.防火墙可以将运行该进程的容器与它相关联的所有本地链接和任何可访问的内部IP隔离开来; 4.如果一层多租户容器间安全隔离受到破坏,则另一层隔离需要马上跟上。如果两层安全隔离同时受到破坏,那么还会有隔离机制用于保护; 5.主机操作系统要是安全的; 测试过程 我们要求每个容器按照如下条件运行: 1.Block/io cgroups,以便磁盘没有噪声干扰。Cgroups是control groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。最初由google的工程师提出,后来被整合进Linux内核。 2.CPU限制; 3.内存限制; 4.网络或带宽限制; 5.有一个与测试主机的其他网络相隔离的网络(bpf或iptables); 主机操作系统 主机操作系统应该是一个简化的操作系统,具备最简单的功能即可,即尽可能与容器内使用的操作系统共享许多功能。这是为了将主机环境中的运行漏洞降到很低。 这些操作系统的示例包括: 1.配备 CoreOS的 Container Linux ; 2. Container Optimized OS; 3.Intel Clear Linux, 英特尔推出Clear Linux项目的目标是让用户可以充分利用虚拟机的隔离技术以及容器的部署优势; 4.LinuxKit, linuxkit这个工具可以理解为是用多个docker镜像来组成一个最小化、定制化的操作系统,定制化后的系统只有几十兆; 主机操作系统的特征 CoreOS Container Linux和Container Optimized OS都具有以下功能: 1.验证启动; 2.只读或 usr: 2.1Container Optimized OS会将根文件系统(/)挂载为只读,并将其某些部分重新挂载为可写; 2.2/tmp, /run, /media, /mnt/disks 和 /var/lib/cloud都是使用tmpfs挂载的,虽然它们是可写的,但它们的内容在重新启动之后是不会保留的;
2.3目录/mnt/stateful/partition, /var和/ home是从有状态的磁 (编辑:揭阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


