写点什么

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

评论

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

Flink实例:电商用户行为实时分析

TiAmo

数据分析 电商 flink 实战 6 月 优质更文活动

From Java To Kotlin 2:Kotlin 类型系统与泛型终于懂了

Seachal

Java android kotlin 泛型 类型

Github 上最值得学习的 Springboot核心笔记,硬核简直了

Java spring Spring Boot 框架

学习MyBatis的异常处理机制

Java mybatis

建立互联网可靠性工程体系框架的思路

阿泽🧸

可靠性工程 6 月 优质更文活动

百度推出高考搜索指数,最有“钱”景的专业你绝对想不到

科技热闻

GitHub星标20k+的Java指南,号称"Star收割机"

Java java面试 Java八股文 Java面试题 Java面试八股文

百度APP iOS端包体积50M优化实践(三) 资源优化

百度Geek说

ios 开发语言 Object-c 企业号 6 月 PK 榜 6 月 优质更文活动

分析初识vue小案例

张三丰无极

6 月 优质更文活动

京城传喜报:汨江源喜获2023第25届北京高端油博会“金奖”

科技热闻

什么是死锁?它是如何产生的?

javacn.site

NineData x 华为云正式上线

NineData

数据库 华为云 企业动态 语言 & 开发 NineData

原来kafka也有事务啊,再也不担心消息不一致了

JAVA旭阳

kafka

DevOps| 研发效能团队和PMO团队如何合作共赢?

laofo

DevOps cicd 研发效能 持续交付 PMO

WHATWG vs W3C

MonkeyZz

对线面试官-线程池(三)

派大星

Java 面试

BH1750 传感器实战教学 —— 硬件设计篇

矜辰所致

传感器 硬件设计实战 光照传感器 6 月 优质更文活动

对比才知差距!海尔“精华洗”用实验告诉用户

脑极体

海尔

C语言编程语法—输入与输出

芯动大师

函数 输入输出 6 月 优质更文活动

K8S | 核心原理分析

Java Docker 架构 Kubernetes k8s

关于前端,你都会什么?

MonkeyZz

前端

快手严厉打击直播下收割麦行为:自媒体蹭热度不可违背公序良俗

石头IT视角

Docker技术架构概述

穿过生命散发芬芳

Docker 6 月 优质更文活动

架构实战营模块 1 作业

銀色流星

架构实战营

基于STM32+NBIOT+华为云IOT设计的智能井盖

DS小龙哥

6 月 优质更文活动

从Docker和Kubernetes看Containerd

鲸品堂

Docker 容器 Containerd 企业号 6 月 PK 榜

什么是OSPF被动接口?如何配置?华为、思科、瞻博网络三厂商命令来了

wljslmz

OSPF 6 月 优质更文活动

如何轻松应对复杂的分布式系统日志收集和分析

xfgg

ELK 日志收集架构 6 月 优质更文活动

太赞了!阿里技术团队《Java 面试官手册》突击版对外开放!

Java java面试 Java八股文 Java面试题 Java面试八股文

阿里Java调优笔记爆火,7大模块优化实战,请查收

Java 性能优化 性能调优

电动车厂家会生产制造共享电动车吗?

共享电单车厂家

共享电动车厂家 共享电单车生产 本铯电动车厂家 电动车生产厂家

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