Apparmor保护容器,但不保护主机

问题描述

我正在尝试创建一个轻量级且安全的主机平台来运行容器。我要防御的一个威胁是具有root特权的零日容器逃逸。由于我是为各种内部客户创建的,因此我必须假设一些将需要以root用户身份运行。我想使用强制访问控制来防止特权容器转义能够对主机执行任何恶意操作。我之所以开始使用Apparmor是因为我认为它比SELinux简单得多,而简单性通常意味着可以通过减少配置错误来提高安全性。

我在使用Docker 19.03.6的18.04主机上运行以下测试容器:

>$ docker container run --rm -it -v /:/host/root ubuntu bash

然后我从容器内部运行以下测试命令,这些命令通过已安装的根文件系统在容器内部和主机上击中相同的proc资源。 内部容器:

>$ cat /proc/sysrq-trigger

通过容器内已安装的根FS进行主机处理:

>$ cat /host/root/proc/sysrq-trigger

一个命令在容器内部被阻止,但在主机上未被阻止。我正在使用docker-default配置文件。如果是路径问题,我本来希望主机路径被阻止,因为Apparmor应该在认情况下被阻止,并且仅在经过专门配置后才允许。我想念什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...