我正在阅读有关 LXC 与 OpenVZ 的文章,想知道这个问题是否已在最近的更新中得到解决:
OpenVZ 在这方面做得很好,但 LXC 在这方面仍然存在问题。即使启用了 AppArmor,在 Ubuntu 中,您仍然可以从来宾访问 dmesg,并且仍然可以访问 /proc/kcore 和 /proc/sysrq-trigger,因此来宾 VM 中的 root 用户可以轻松地重新启动主机。 Ubuntu 13.04 版计划进行改进。
答案1
通过使用,echo 1 > /proc/sys/kernel/dmesg_restrict
您可以限制dmesg
对主机 root 用户的访问。其他用户(包括 LXC 中的 root 用户)则无权访问。
答案2
要禁用对 /proc/kcore 的访问:
lxc.cap.drop = sys_rawio
要禁用对 dmesg 的访问,请使用以下lxc.seccomp
选项加载以下文件:
2 黑名单 [全部] 系统日志错误号 1
在 LXC-1.0.6、内核 4.3.0 上运行良好。