在我对让LXC在在上运行的“追求”中,我可能被迫在容器启动时禁用加载分段组合配置,方法是在/usr/share/lxc/config/debian.common.conf
中注释掉它:
# Blacklist some syscalls which are not safe in privileged
# containers
# lxc.seccomp = /usr/share/lxc/config/common.seccomp
As (a.t.m.)只有容器启动时(否则会引发错误)。
关闭与容器/沙箱紧密相关的这样一个基本的安全设置,在某种程度上,是违背了LXC的目的。从安全性/稳定性的角度来看,在运行LXC容器时(按照/usr/share/lxc/config/common.seccomp
中的LXC默认值配置),我非常希望继续将大多数系统调用列入黑名单:
2
blacklist
[all]
kexec_load errno 1
open_by_handle_at errno 1
init_module errno 1
finit_module errno 1
delete_module errno 1
不“LXC容器装载seccomp规则”:
*假设我是唯一使用“母亲”系统及其LXC容器的人(否则很明显.)
发布于 2016-08-25 09:00:12
好的,seccomp规则阻止容器修改主机内核。没有它们,容器中的UID 0可以使用kexec(如果这在Raspbian上也能使用,我不确定)来加载一个新内核(显然不是启动它)和insmod
/rmmod
加载/卸载模块等等,因为这些系统没有正确地考虑用户命名空间。
这是否是一个重大的安全问题取决于您--您只需要记住,现在容器中的UID 0实际上可以在容器之外变为UID 0,例如,根用户可以通过加载精心构建的模块来转义容器。
https://unix.stackexchange.com/questions/305630
复制相似问题