语境

语境

语境

在我的“追求”中让 LXC 在 Raspbian 上运行我可能被迫禁用加载安全计算容器启动时的配置,通过将其注释掉/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

仅作为 (atm)容器启动(否则会引发错误)..

在某种程度上,关闭与容器化/沙箱密切相关的基本安全设置违背了 LXC 的目的。从安全/稳定性的角度来看,我非常希望在运行 LXC 容器时将大多数系统调用列入黑名单(如 LXC 默认值所示/usr/share/lxc/config/common.seccomp):

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 规则”产量:

  1. 重要的* 安全问题?
  2. 任何其他技术的(应用或稳定性)问题?

*假设我是唯一一个使用“mother”系统及其 LXC 容器的人(否则就很明显了..)

答案1

那么,seccomp 规则会阻止容器修改主机内核。如果没有它们,容器中的 UID 0 可以使用 kexec(如果它甚至适用于 Raspbian,我不确定)来加载新内核(显然不是启动它)和insmod/rmmod加载/卸载模块以及其他这些系统调用没有正确考虑用户名称空间。

这是否是一个重要的安全问题取决于您 - 您只需要记住,现在容器中的 UID 0 可以有效地成为容器外部的 UID 0,即 root 可以通过加载精心设计的模块来逃离容器例如。

相关内容