SELinux的Docker安全性
原文译自:http://opensource.com/business/14/7/docker-security-selinux
这篇文章基于我今年在DockerCon一个讲座,它将讨论我们当前听到的Docker容器的安全问题.
容器并不"包容"
我听到也读到很多假定Docker容器是应用沙盒的观点--这意味着他们能够在他们的系统上使用有根权限的Docker来执行随意的程序. 他们相信Docker容器将会保护他们的主机系统.
- 我听到人们说Docker容器就像在VMs/KVM执行程序一样安全
- 我知道人们在随意的下载Docker镜像然后在他们的主机上执行
- 我甚至看到PaaSserver(不是OpenShift)同意用户上传他们自己的镜像执行在多租户系统上
- 我有一个同事说道: Docker就是从网上下载随意的代码并以root模式执行
你在乎吗?
- 尽快的减少特权
- 尽可能以非root模式执行你的服务
- 将容器里的root模式视为容器外的root模式
不要在你的系统里执行随意的Docker镜像,我从很多方面看到Docker容器革命类似于1999年的Linux革命,那时当一个管理员听到一个新的非常酷的Linux服务时,他们会:
- 去rpmfind.net和其它一些站点上去搜索包
- 下载这些包
- 通过RPM或make install来安装
- 以管理者模式运行
会出什么问题?
两周后管理员听到一个zlib的脆弱性问题并不得不指出( 他们希望并祈祷不是), 软件是不安全的!
这就是Red Hat发行版和其它一些值得信赖的第三方介入并解救他们的时刻, Red Hat的企业版Linux给管理员提供了:
- 一个提供下载的安全的repository
- 安全的升级来修复问题
- 发现问题并修复的团队
- 管理/维护/安全增强的project师团队
- 通用的认证标准来检查OS的安全性问题
所以问题是什么? 为什么容器并不"包容"?
当你执行在一个容器里时,你就已经直接能够和主机的内核打交道了.
没有被当成命名空间的基本的内核子系统如:
- SELinux
- Cgroups
- /sys下的文件系统
- /proc/sys, /proc/sysrq-trigger, /proc/irq, /proc/bus
- /dev/mem
- /dev/sd* 文件系统设备
- 内核模块
假设通过一个特权进程对以上的某个模块通信或攻击的话,你就拥有了整个系统.
SELinux的Docker安全性的更多相关文章
- selinux导致docker启动失败
1. 问题描述:一向运行正常的一群容器,突然有一天挂掉了,再也起不来,报错如下 Error response from daemon: devmapper: Error mounting '/dev/ ...
- docker 安全性问题
最近项目组成员要在k8s中引入类似于docker --privileged 的功能.显示通过api查询在container和pod层面做了securityContext的设置. 但是没有起到效果.于是 ...
- 在CentOS上为Docker开启SELinux
a { color: #4183C4; text-decoration: none } a:hover { text-decoration: underline } ul,ol { padding-l ...
- 8.docker的安全性
在查看Docker安全性时,有四个主要方面需要考虑: 内核的内在安全性及其对命名空间和cgroup的支持; Docker守护进程本身的攻击面; 容器配置配置文件中的漏洞,默认情况下或用户自定义时. 内 ...
- Docker入门教程(五)Docker安全
Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通 ...
- Docker 基础 (一)
为什么要使用 Docker? 作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势.首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多. 其次,Doc ...
- docker命名空间、控制组及联合文件系统概念
基本架构 命名空间 控制组 联合文件系统 docker底层依赖的核心技术主要包括操作系统的命名空间(Namespace).控制组(Control Groups).联合文件系统(Union File S ...
- 操作系统-容器-引擎容器-百科:Docker
ylbtech-操作系统-容器-引擎容器-百科:Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上 ...
- 浅谈 Docker 安全合规建设
通过阅读网上帖子及浏览相关信息,大家可能会产生一种错觉:Docker 安全性不足,对 Docker 导入生产环境持保守态度.不过实际情况是,虽然我们需要对容器的安全性高度关注,但只要使用得当,完全可以 ...
随机推荐
- javaScript构造函数、原型、面向对象编程
js最重要也是最核心的东西就是对象了,入行这么长时间,一直对面向对象一知半解.网上有很多介绍对象对象的内容,这里也做了很多借鉴, 尤其是阮一峰老师的文章.我这里写的大多例子都是阮一峰老师文章的例子,但 ...
- .NET 4.0中使用sqlite
原文发布时间为:2011-12-10 -- 来源于本人的百度文章 [由搬家工具导入] http://www.csharpcity.com/sqlite-ado-net-c-4-0/ Getting S ...
- struts2中的文件上传和文件下载
单文件文件上传 1.
- HDU 5245 Joyful(概率题求期望)
D - Joyful Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit S ...
- 借教室(NOIP2012)
原题传送门 其实就是求能满足多少个订单.. 然后搞上差分, 又因为如果前n个能够满足,那么前m个一定能满足(m<n) 所以可以二分(重点!) 然后乱搞..就AC了(其实也挺麻烦的...233~) ...
- MFC数据类型转换 _itoa atoi、atof、itoa、itow _itoa_s
_itoa 功能:把一整数转换为字符串 用法:char * _itoa(int value, char *string, int radix); 详细解释: _itoa是英文integer to ar ...
- 华为上机测试题(水仙花数升级版-java)
PS:这题满分100,没有做对,大家帮忙看看问题在哪 /* * 题目:水仙花数升级版 * 描述: 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1 ...
- python笔记-用python解决小学生数学题【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python/ 前几天有人在群里给小编出了个数学题: 假设你有无限数量的邮票,面值分别为 ...
- Codeforces Round #109 (Div. 2) A. I_love_%username%【打擂台算法/满足当前数字在已经出现的数字的最大值和最小值之间的个数】
A. I_love_%username% time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- PMBOK及PMP考试精要
PROJECT MANAGEMENT KNOWLEDGE AREAS项目管理知识体系 2 PROJECT LIFE CYCLE / PROJECT MANAGEMENT PROCESS GROUPS项 ...