编辑/etc/sysconfig/docker文件,把OPTIONS='--selinux-enabled'的--selinux-enabled注释掉,也可以通过这个错误.

最大的问题就是Linux的一切都不是命名空间 (namespaced). 现在, Docker使用5个命名空间来改变系统的进程: 进程, 网络, Mount, 主机名,共享内存.

虽然有给用户一定的安全级别, 但无法像KVM实施全面的安全保护. 在KVM环境下进程不直接和主机的内核交互.它们也不访问内核的文件系统如/sys和/sys/fs, /proc/*

设备结点是用于和VMs 内核交互的,而不是主机.因此, 想要越过VM来扩展特权级别, 进程要去攻击VM内核,找到HyperVisor的弱点,打破SELinux的控制(sVirt),最终攻击主机的内核.

当你运行在一个容器里时,你就已经直接可以和主机的内核打交道了.

没有被当成命名空间的主要的内核子系统如:

  • SELinux
  • Cgroups
  • /sys下的文件系统
  • /proc/sys ,  /proc/sysrq-trigger ,  /proc/irq ,  /proc/bus

没有被当成命名空间的设备:

  • /dev/mem
  • /dev/sd*  文件系统设备
  • 内核模块

如果通过一个特权进程对以上的某个模块通信或攻击的话,你就拥有了整个系统.

Docker selinux的更多相关文章

  1. nsenter into docker. selinux(semanage,restorecon)

    Docker容器运行后,如何进入容器进行操作呢?起初我是用SSH.如果只启动一个容器,用SSH还能应付,只需要将容器的22端口映射到本机的一个端口即可.当我启动了五个容器后,每个容器默认是没有配置SS ...

  2. [转帖]如何获得一个RAC Oracle数据库(从Github - oracle/docker-images) - 本地版 ---暂时未做实验.

    如何获得一个RAC Oracle数据库(从Github - oracle/docker-images) - 本地版 2019-11-09 16:35:30 dingdingfish 阅读数 32更多 ...

  3. selinux导致docker启动失败

    1. 问题描述:一向运行正常的一群容器,突然有一天挂掉了,再也起不来,报错如下 Error response from daemon: devmapper: Error mounting '/dev/ ...

  4. 在CentOS上为Docker开启SELinux

    a { color: #4183C4; text-decoration: none } a:hover { text-decoration: underline } ul,ol { padding-l ...

  5. SELinux导致的docker启动失败

    安装docker yum install -y docker 启动docker systemctl start docker 报错 Job for docker.service failed beca ...

  6. SELinux 引起的 Docker 启动失败

    问题描述 Linux OS 版本 CentOS Linux release 7.2.1511 (Core) 启动Docker service docker start 启动失败信息 原因分析 Erro ...

  7. SELinux的Docker安全性

    原文译自:http://opensource.com/business/14/7/docker-security-selinux 这篇文章基于我今年在DockerCon一个讲座,它将讨论我们当前听到的 ...

  8. docker对数据卷进行还原操作

    转载请注明出处 数据卷容器备份数据后,备份数据查看 http://www.cnblogs.com/zhuxiaojie/p/5947138.html   我们可能要把这个备份的数据,还原到另一台的do ...

  9. docker对数据卷容器进行备份

    转载请注明出处 官网的数据以及各大博客都没有对这个的具体说明,本人也是理解了好久. 我们使用docker的过程中,使用共享的数据卷是经常的,那么.我们要怎么进行备份呢?   首先,我们得了解下面4个命 ...

随机推荐

  1. iOS活体人脸识别的Demo和一些思路

    代码地址如下:http://www.demodashi.com/demo/12011.html 之前公司项目需要,研究了一下人脸识别和活体识别,并运用免费的讯飞人脸识别,在其基础上做了二次开发,添加了 ...

  2. Linux下使用Fastboot给手机刷ROM

    前言 一直在刷机.失败.刷机.失败中,还好今天有个任务能够使用fastboot刷机.好开心,最终不用切换系统了.(话说好久没有写代码了,身为一个互联网程序猿,不写代码我easy紧张). 开发环境 Ub ...

  3. nodejs 命令行获取入参

    安装:npm install yargs --save-dev Example index.js const argv = yargs.alias('n', 'name').alias('p', 'p ...

  4. Atitit.java swing打印功能 api  attilax总结

    Atitit.java swing打印功能 api  attilax总结 1. 打印方式有三种:2 1.1. 一是不经过任何修改,直接调用javascript中的window.print()打印.2 ...

  5. java - day12 - ShapeTest

    抽象类的定义及使用 抽象类不能实例化,但抽象类名的数组类型可以,见案例 package com.example; public class ShapeTest { public static void ...

  6. 如何在GitHub上删除某个文件夹?

    步骤: (以删除.idea文件夹为例) git rm -r --cached .idea #--cached不会把本地的.idea删除 git commit -m 'delete .idea dir' ...

  7. RabbitMQ(一):Windows下RabbitMQ安装

    1.Windows下安装RabbitMQ需要以下几个步骤 (1):下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang. ...

  8. Android_Exception_Solution Lib

    1) Q: java.lang.ClassNotFoundException: Didn't find class "com.google.common.collect.Maps" ...

  9. PRINTDLG 打印对话框操作

    typedef struct tagPD { DWORD lStructSize; HWND hwndOwner; HGLOBAL hDevMode; HGLOBAL hDevNames; HDC h ...

  10. 扩展mysql - 手把手教你写udf

    1 MySQL简介 MySQL是最流行的开放源码SQL数据库管理系统,相对于Oracle,DB2等大型数据库系统,MySQL由于其开源性.易用性.稳定性等特点,受到个人使用者.中小型企业甚至一些大型企 ...