首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >lxc集装箱的安全边界在哪里?

lxc集装箱的安全边界在哪里?
EN

Ask Ubuntu用户
提问于 2013-09-07 00:35:28
回答 1查看 5.8K关注 0票数 8

我的问题是关于LXC容器的安全性。

如果我在我的盒子上运行多个容器,并且给用户一个单独的ssh访问他们自己的容器,那么这些容器中的任何一个能侵入那个盒子上的其他容器或者甚至主机吗?

lxc集装箱的安全边界在哪里?

EN

回答 1

Ask Ubuntu用户

发布于 2013-09-07 01:00:41

正如我在LXC中看到的,它在/var/lib/lxc下存储容器信息和根文件系统(使用默认备份存储)。容器创建模板还倾向于将缓存的分发信息存储在/var/cache/lxc下。

因此,通常只允许访问根文件系统,除非在创建根文件时出现错误使用或配置错误的用户配置文件。

但是Ubuntu开发人员可能已经到了这个地步,他们已经在AppArmor的帮助下提供了一个安全的解决方案。

LXC附带了Apparmor配置文件,目的是防止主机在容器内意外滥用特权。例如,容器将无法写入/proc/sysrq-trigger或大多数/sys文件。

通过运行lxc输入usr.bin.lxc-start配置文件。此配置文件主要防止lxc-从容器根文件系统之外安装新的文件系统开始。在执行容器的init之前,LXC请求切换到容器的配置文件。默认情况下,此配置文件是在/etc/apparmor.d/lxc/lxc-default中定义的lxc容器默认策略。此配置文件防止容器访问许多危险的路径,并无法安装大多数文件系统。

如果您发现lxc-start由于其Apparmor策略拒绝的合法访问而失败,则可以通过以下操作禁用lxc-start配置文件:

代码语言:javascript
运行
复制
sudo apparmor_parser -R /etc/apparmor.d/usr.bin.lxc-start
sudo ln -s /etc/apparmor.d/usr.bin.lxc-start /etc/apparmor.d/disabled/

这将使lxc-start不受限制地运行,但继续限制容器本身。如果还希望禁用容器的限制,那么除了禁用usr.bin.lxc-start配置文件外,还必须添加:

代码语言:javascript
运行
复制
lxc.aa_profile = unconfined

容器的配置文件。如果希望在自定义配置文件中运行容器,可以在/etc/apparmor.d/lxc/下创建新配置文件。它的名称必须以lxc开头,这样lxc才能开始转换到该配置文件。创建策略后,使用以下方法加载该策略:

代码语言:javascript
运行
复制
sudo apparmor_parser -r /etc/apparmor.d/lxc-containers

该配置文件将在重新启动后自动加载,因为它是由文件/etc/apparmor.d/lxc-containers提供的。最后,要使容器CN使用这个新的lxc-CN-profile,请将以下行添加到其配置文件中:

代码语言:javascript
运行
复制
lxc.aa_profile = lxc-CN-profile

lxc-execute不输入Apparmor配置文件,但它生成的容器将被限制。

票数 9
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/342388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档