阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

从安全视角来看 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:001183

评论

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

AI窥人(一):为什么人类热衷“过度投射”?

脑极体

第十一周学习心得

cc

民办二本程序员阿里、百度、平安等五厂面经,5份offer(含真题)

Java 编程 面试

从零开始学Android!15个经典面试问题及回答思路,这原因我服了

欢喜学安卓

android 程序员 面试 移动开发

话题讨论 | 云原生应用应该是什么样子?面临的技术挑战有哪些?

xcbeyond

微服务 云原生 Service Mesh 话题讨论

Java线上故障解决方案

Java 架构

week13-作业二-根据当周学习情况,完成一篇学习总结

未来已来

如何制作和使用自签名证书

soulteary

Docker SSL证书

week12-作业一

未来已来

Springboot+Netty+Websocket实现消息推送实例

Java架构师迁哥

期末大作业二

心在那片海

简金秋:区块链技术构建服装行业全新商业模式

CECBC

区块链 服装行业

基于Docker的大数据开发环境 - HDP Sandbox

大数志

大数据 hadoop spark

《王阳明一切心法》读书随笔

BigYoung

读书笔记 28天写作 2月春节不断更 王阳明

第十一周命题作业

cc

复盘银行的区块链实践:从分布式账本,到产业数字化

CECBC

大数据 银行

反常识的学习思维

小匚

自我思考 成长笔记

week-13-作业一

未来已来

热乎的阿里、百度、平安等大厂面试真题 你要不要?

比伯

Java 编程 架构 面试 计算机

架构师训练营大作业(二)

花果山

架构师训练营第2期

用python提前预测jvm cpu100%自动dump thread

程序员石磊

JVM Thread cpu 100%

从崩溃的选课系统,论为什么更安全的 HTTPS 协议没有被全面采用

飞天小牛肉

Java 程序员 面试 计算机网络 2月春节不断更

week12-根据当周学习情况,完成一篇学习总结

未来已来

话题讨论:公司已经发不出工资了,你会选择坚持还是放弃?

石云升

话题讨论 2月春节不断更

全球区块链与数字经济领军课程

CECBC

数字经济 科技

架构师训练营大作业

菜青虫

使用 Tye 辅助开发 k8s 应用竟如此简单(二)

newbe36524

微服务 k8s dotnet 服务发现

张弛之间,皆是生活

boshi

随笔 七日更

阿里架构师经验分享!写给互联网大厂员工的真心话,最全的BAT大厂面试题整理

欢喜学安卓

android 程序员 面试 移动开发

1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python

梦想橡皮擦

Python python 爬虫 2月春节不断更 python入门 python学习

探寻内部类的奥秘(下)

后台技术汇

2月春节不断更

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