QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

从安全视角来看 LXD 容器管理程序

  • 2016-10-24
  • 本文字数:955 字

    阅读完需:约 3 分钟

上个月在 Linux 安全峰会上的演讲,介绍了LXD 在容器安全方便存在的问题。LXD 是Canonical 基于Linux 容器(LXC)开发的容器管理程序。 Stéphane Graber 和 Tycho Andersen 的议题讨论了一些问题的细节。

LXD 不是一种新的虚拟化技术,而是一个利用 LXC 特性的工具。LXC 使用由内核提供的名字空间(namespace)和控制组(control groups, cgroups)特性来实现。因此,它使用名字空间API 提供的安全功能。

LXD 中广泛使用了 cgroups 来实施资源配额,对容器的 CPU、内存交换、磁盘和网络流量进行限制。这也使得任何因为共享内核资源引起的问题,会影响到所有运行中的容器。其中一个示例是用于追踪文件系统变动的 inotify 句柄。该资源的全局限制是每个用户 512 个,这意味着主机上所有运行的容器最多能使用 512 个句柄。这对于像 systemd 这样的应用程序来说是远远不够的。当 systemd 因为 inotify 句柄不足退而使用轮训文件系统时,对系统影响会更大。其他类似的资源还包括网络表(例如用于保存路由项)和 ulimit。

对于上述问题中的一部分,建议的解决方案是虚拟化存在限制的环境,例如将限制绑定到名字空间,使其成为容器的局部属性。然而,对于类似 ulimit 这样的属性,目前还不完全清楚哪个名字空间比较适合。

LXD 以 root 特权的守护进程运行,这意味它比 LXC 拥有更多的特权。LXD 确实从其容器中移除了一些功能,例如加载 / 卸载内核模块,但是保留了大部分功能,因为它无法提前预知容器中运行的应用程序需要哪些功能。

Linux 安全模块(Linux Security Modules, LSM)是一个 Linux 框架,它允许插入一个安全模块的实现,在不依赖特定模型的情况下来执行访问控制。LSM 的实现有 AppArmor 和 SELinux。LXC 同时支持 AppArmor 和 SELinux,而 LXD 目前只支持 AppArmor。LXD 容器的首选隔离方案是名字空间,但是也安装了一个 AppArmor 配置文件以避免跨容器访问资源(例如文件)。

演讲的第二部分覆盖了容器的检查点和恢复功能。检查点和恢复进程保存运行中的容器内存状态,并允许在将来的某个时间点恢复回来。检查点 / 恢复功能的技术涉及到通过类似 ptrace 系统调用来深入获取进程的状态。然而,类似 seccomp 这样的安全措施可能会阻止类似的系统调用,因此检查点功能需要特别的处理。

查看英文原文: Security Insights into the LXD Container Hypervisor

2016-10-24 19:001363

评论

发布
暂无评论
发现更多内容

中华财险60%研发人员用通义灵码全面提效,“越用越上瘾”

阿里巴巴云原生

阿里云 云原生 通义灵码

BEVFormer 开源算法逐行解析(二):Decoder 和 Det 部分

地平线开发者

自动驾驶 算法

CAMA | 以视觉为中心的静态地图元素标注方法

地平线开发者

自动驾驶 算法

直面女性心理健康现状,数业智能心大陆助你应对情绪困扰

心大陆多智能体

智能体 AI大模型 心理健康 数字心理

一文教会你如何用好通义灵码,让这款 AI 编码工具帮你做更多工作,更高效

阿里巴巴云原生

阿里云 云原生 通义灵码

手把手教你利用算法工具链训练、量化、编译、可视化 征程 6 参考算法 BEVFormer征程 6E/M 快速上手实战 Sample-IPC

地平线开发者

自动驾驶 算法 ipc

天工开物 | 征程6 启航新章:量化流程 PTQ 篇

地平线开发者

自动驾驶 算法

大模型推理框架RTP-LLM架构解析

阿里技术

阿里巴巴 框架 推理 大模型 LLM

中华财险60%研发人员用通义灵码全面提效,“越用越上瘾”

阿里云云效

阿里云 云原生 通义灵码

BEVFormer 开源算法逐行解析(一):Encoder 部分

地平线开发者

自动驾驶 算法

征程 6E/M 底软开发 Sample-IPC

地平线开发者

自动驾驶 算法

Java类和对象 小白版

快乐非自愿限量之名

Java

低代码赋能:JNPF打造企业数智化转型的高效路径

EquatorCoco

低代码 数智化

依托自研力量,给共享集群存储服务一个优选

YashanDB

高可用 yashandb 共享集群 崖山数据库

浅谈 Occupancy

地平线开发者

自动驾驶 算法

抢先看:2024云栖大会体验攻略

阿里云CloudImagine

云计算 音视频 视频云 云栖大会

一直让 PHP 程序员懵逼的同步阻塞异步非阻塞,终于搞明白了

EquatorCoco

php 开发语言

高并发代理IP有哪些优势?

IPIDEA全球HTTP

企业分享 - 益丰大药房监控升级之路

巴辉特

可观测性 运维监控 益丰大药房

天工开物 | 征程6启航新章:仿真篇

地平线开发者

自动驾驶 算法 仿真

聚焦新能源未来,望繁信科技邀您共赴CNDS 2024中国新能源产业数智峰会

望繁信科技

数字化转型 流程挖掘 流程智能 望繁信科技 新能源产业

浅谈DevOps在inBuilder低代码中的应用

inBuilder低代码平台

DevOps 低代码平台

面试官:说说Lambda表达式底层原理?

王磊

直面女性心理健康现状,数业智能心大陆助你应对情绪困扰

心大陆多智能体

智能体 AI大模型 心理健康 数字心理

公链节点搭建技术规则解析

V\TG【ch3nguang】

Python面向对象编程:类和对象以及和Java的对比

不在线第一只蜗牛

Python

从安全视角来看LXD容器管理程序_Linux_Hrishikesh Barua_InfoQ精选文章