产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

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

评论

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

LinkedHashMap

wzh

Java 集合 LRU 数据结构与算法 LinkedHashMap

Redis入门四:数据持久化

打工人!

redis redis持久化 6月日更

数组与链表

wzh

Java 数组 链表 ArrayList 数据结构与算法

常见Java容器对比

wzh

Java collection hashmap set map

react源码解析18事件系统

全栈潇晨

React

迷惘的六月份

卢卡多多

生活状态 6月日更

微信小程序开发(七)—— 版本管理的使用

空城机

微信小程序 大前端 6月日更

ARTS - 日常打卡 6

pjw

JAVA 面向对象 (十)--接口和抽象类

加百利

Java 后端 笔记 6月日更

什么是OneData?阿里数据中台实施方法论解读

云祁

数据中台 数据仓库 OneData 维度建模

业务架构训练营第 0 期模块五作业

菠萝吹雪—Code

架构实战营

【21-15】PowerShell条件判断

耳东@Erdong

PowerShell 6月日更

Linux之rmdir命令

入门小站

Linux

Redis:我是如何与客户端进行通信的

码农参上

redis Redis 协议

推荐算法概述(十五)

Databri_AI

算法 倒排索引 推荐系统

HashMap源码总结

wzh

Java map 数据结构与算法 HashMap底层原理 散列表

线性排序

wzh

Java 排序算法 计数排序 基数排序 桶排序

简单好用一键恢复丢失办公文档

淋雨

EasyRecovery 文件恢复 免费恢复软件 硬盘数据恢复

做好项目管理,项目经理需要具备哪些优秀品质?

万事ONES

项目管理 研发管理 研发管理工具 ONES

十年一剑智能眼镜的中场战事

脑极体

Reactive Spring实战 -- 响应式Kafka交互

binecy

kafka spring

领域驱动设计101 - 领域服务

luojiahu

领域驱动设计 DDD

在线HTML标签清除工具

入门小站

工具

软件复杂度

海拉鲁

读书笔记 软件工程 软件设计

Kubernetes手记(19)- 容器资源限制

雪雷

k8s 6月日更

微服务架构下的静态数据通用缓存机制

xcbeyond

缓存 微服务 6月日更

在线PS(PhotoShop),打开PSD文件,图像处理

入门小站

PhotoShop ps

网络抓包实战01——互联⽹:客户端请求是如何到达服务器的

青春不可负,生活不可欺

Wireshark TCP/IP tcpdump 网络抓包 tcpcopy

软件开发项目中,产品经理和程序员谁更累?

万事ONES

产品经理 研发管理 ONES 项目经理

Elastic Job简单使用

赵镇

Elastic-job

OpenCV-Python+Moviepy结合进行视频特效处理

老猿Python

Python 音视频 Video PPT 引航计划

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