让 apparmor 在 docker 容器上工作
Get apparmor working on docker container
我在 Ubuntu 16.04 上玩 apparmor 和 docker,我可以在容器上 运行...有时
Docker 版本 18.03.0-ce,内部版本 0520e24
$ docker run -it ubuntu bash
结果在 docker 容器中 运行ning ubuntu 16.04 符合预期
$ sudo aa-status
显示 docker-default 在容器上处于活动状态
and 运行ning $ cat /proc/sysrq-trigger
inside the container via bash returns 预测的 "permission denied" 因为默认是阻塞的-docker根据以下指南的 apparmor 配置文件:https://cloud.google.com/container-optimized-os/docs/how-to/secure-apparmor#creating_a_custom_security_profile
接着
$ docker run -it --security-opt apparmor=unconfined ubuntu bash
returns $ sudo aa-status
和 $ cat /proc/sysrq-trigger
returns 的预期结果
cat: /proc/sysrq-trigger: Input/output error
到目前为止一切都很好,但现在如果我 运行 容器处于分离模式,apparmor 配置文件将停止工作(参考:https://docs.docker.com/engine/security/apparmor/#resources-for-writing-profiles)
我能够构建 apparmor 配置文件并查看它 运行 aa-status 但是当我执行到容器中时,没有任何东西被阻止。它不适用于 nginx 容器,我已经尝试过其他容器。但是,如果我 运行 处于分离状态 $ docker run -d ubuntu tail -f /dev/null
,无论我如何应用 --security-opt.
,它都不会阻止任何内容
谁能解释一下 apparmor 如何与 docker 一起工作以及为什么会这样?
谢谢!
我发现 apparmor 可以与 docker 1.13.1 一起使用,并且计划在下一个版本中修复错误:docker 18.03.1
我在 Ubuntu 16.04 上玩 apparmor 和 docker,我可以在容器上 运行...有时
Docker 版本 18.03.0-ce,内部版本 0520e24
$ docker run -it ubuntu bash
结果在 docker 容器中 运行ning ubuntu 16.04 符合预期
$ sudo aa-status
显示 docker-default 在容器上处于活动状态
and 运行ning $ cat /proc/sysrq-trigger
inside the container via bash returns 预测的 "permission denied" 因为默认是阻塞的-docker根据以下指南的 apparmor 配置文件:https://cloud.google.com/container-optimized-os/docs/how-to/secure-apparmor#creating_a_custom_security_profile
接着
$ docker run -it --security-opt apparmor=unconfined ubuntu bash
returns $ sudo aa-status
和 $ cat /proc/sysrq-trigger
returns 的预期结果
cat: /proc/sysrq-trigger: Input/output error
到目前为止一切都很好,但现在如果我 运行 容器处于分离模式,apparmor 配置文件将停止工作(参考:https://docs.docker.com/engine/security/apparmor/#resources-for-writing-profiles)
我能够构建 apparmor 配置文件并查看它 运行 aa-status 但是当我执行到容器中时,没有任何东西被阻止。它不适用于 nginx 容器,我已经尝试过其他容器。但是,如果我 运行 处于分离状态 $ docker run -d ubuntu tail -f /dev/null
,无论我如何应用 --security-opt.
谁能解释一下 apparmor 如何与 docker 一起工作以及为什么会这样?
谢谢!
我发现 apparmor 可以与 docker 1.13.1 一起使用,并且计划在下一个版本中修复错误:docker 18.03.1