zoukankan      html  css  js  c++  java
  • Docker selinux

    编辑/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*  文件系统设备
    • 内核模块

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

  • 相关阅读:
    php 编码规范(1)
    ubuntu 引导删除
    http协议详解
    centos 下mysql操作
    php 异常捕获
    php 设置报错等级
    在WINDOWS SERVER 上或远程桌面中使用 MUTEX
    发送WIN+SAPCE键,WINDOWS,空格键
    访问本机的WEB API 报400错误
    php.ini xdebug
  • 原文地址:https://www.cnblogs.com/SZLLQ2000/p/5480908.html
Copyright © 2011-2022 走看看