Naf*_*Kay 11 apparmor lxc docker
我有一个运行 MySQL 的 Docker 容器 (LXC)。由于 Docker 背后的想法通常是“每个容器运行一个进程”,如果我定义针对 MySQL 二进制文件的 AppArmor 配置文件,它们会被强制执行吗?有没有办法让我对此进行测试?
首先,cgroup 不用于将应用程序与系统上的其他应用程序隔离。它们用于管理资源使用和设备访问。是各种命名空间(PID、UTS、mount、user...)提供了一些(有限的)隔离。
此外,在 Docker 容器内启动的进程可能无法管理它正在运行的 AppArmor 配置文件。当前采用的方法是在启动容器之前设置特定的 AppArmor 配置文件。
看起来 Docker 中的 libcontainer 执行驱动程序支持为容器设置 AppArmor 配置文件,但我在文档中找不到任何示例或参考。
显然,Ubuntu 中的 LXC也支持 AppArmor 。
您应该为您的应用程序编写一个 AppArmor 配置文件,并确保 LXC/libcontainer/Docker/... 在启动容器内的进程之前加载它。
应该强制使用这种方式使用的配置文件,为了测试它,您应该尝试非法访问并确保它失败。
在这种情况下,二进制文件和实际执行的配置文件之间没有链接。您必须明确告诉 Docker/LXC 将此配置文件用于您的容器。为 MySQL 二进制文件编写配置文件只会在主机上强制执行,而不是在容器中。
归档时间: |
|
查看次数: |
6209 次 |
最近记录: |