一、docker安全加固

1、利用LXCFS增强docker容器隔离性和资源可见性 (proc容器与宿主机之间是共享的 没有进行隔离)

  此rpm包在真机桌面q目录中  需先传到虚拟机/root/下 在进行安装

  把宿主机 /var/lib/lxcfs/proc/目录下生成的6个文件挂接到容器内 底层用cgroup来做资源控制,通过lxcfs实现隔离 给内存256M 此时我们看到的宿主机内存也是256M

2、 设置特权级运行的容器:--privileged=true

  有的时候我们需要容器具备更多的权限,比如操作内核模块,控制swap交换分区,挂载USB磁盘,修改MAC地址等。

  root用户在容器内不能宕掉某个设备 权限受限是因为安全原因在容器内降低了root用户的权限

  加上--privileged=true 就会在容器内执行root用户的权限 就可以宕掉或开启某个设备 ( 权限全开,近乎root)

3、设置容器白名单:--cap-add

  --privileged=true 的权限非常大,接近于宿主机的权限,为了防止用户的滥用,需要增加限制,只提供给容器必须的权限。此时Docker 提供了权限白名单的机制,使用--cap-add添加必要的权限。

  capabilities手册地址:

  http://man7.org/linux/man-pages/man7/capabilities.7.html

  # docker run -it --cap-add=NET_ADMIN --name vm1 ubuntu

  # docker inspect -f {{.HostConfig.Privileged}} vm1 false

  # docker inspect -f {{.HostConfig.CapAdd}} vm1 {[NET_ADMIN]}

  如果设置特权级运行的容器:--privileged=true 可以查到磁盘设备

安全加固的思路

保证镜像的安全

使用安全的基础镜像

删除镜像中的setuid和setgid权限

启用Docker的内容信任(镜像签名)

最小安装原则 对镜像进行安全漏洞扫描,镜像安全扫描器:Clair

容器使用非root用户运行(尽量用普通用户运行)

保证容器的安全

对docker宿主机进行安全加固

限制容器之间的网络流量

配置Docker守护程序的TLS身份验证

启用用户命名空间支持(userns-remap)

限制容器的内存使用量

适当设置容器CPU优先级

docker安全的遗留问题

主要的内核子系统都没有命名空间,如:

SELinux

cgroup

在/sys下的文件系统

/proc/sys, /proc/sysrq-trigger, /proc/irq, /proc/bus

设备没有命名空间:

/dev/mem

/dev/sd*文件系统设备

内核模块

Docker 安全加固的更多相关文章

  1. 开发漫谈:千万别说你不了解Docker!

    1dotCloud到Docker:低调奢华有内涵   写在前面:放在两年前,你不认识Docker情有可原.但如果现在你还这么说,不好意思,我只能说你OUT了.你最好马上get起来,因为有可能你们公司很 ...

  2. docker好文收藏

    深入浅出Docker(一):Docker核心技术预览 2. 核心技术预览 Docker核心是一个操作系统级虚拟化方法, 理解起来可能并不像VM那样直观.我们从虚拟化方法的四个方面:隔离性.可配额/可度 ...

  3. 程序猿,千万别说你不了解Docker!

    放在两年前,你不认识Docker情有可原.但如果现在你还这么说,不好意思,我只能说你OUT了.你最好马上get起来,因为有可能你们公司很快就会引入Docker. 今天就和大家讨论讨论这个备受好评的应用 ...

  4. 深入浅出Docker(一):Docker核心技术预览

    Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源.Docker提供了一种在安全.可 ...

  5. Docker生产环境实践指南

    技术栈:1. 构建系统2. 镜像仓库3. 宿主机管理4. 配置管理5. 部署6. 编排7. 日志8. 监控 镜像:1. 如果用户像往常一样运行包安装命令,这些永远也用不上的缓存包文件将会永远地成为镜像 ...

  6. Docker Architecture、Docker Usage

    目录 . 引言 - 为什么要有Docker技术 . Docker简介 . Docker安装.部署.使用 . Docker安全 . Docker底层实现 . Docker网络配置 . Dockerfil ...

  7. Docker其它安全特性

    除了能力机制之外,还可以利用一些现有的安全机制来增强使用 Docker 的安全性,例如 TOMOYO, AppArmor, SELinux, GRSEC 等. Docker 当前默认只启用了能力机制. ...

  8. 从一到万的运维之路,说一说VM/Docker/Kubernetes/ServiceMesh

    摘要:本文从单机真机运营的历史讲起,逐步介绍虚拟化.容器化.Docker.Kubernetes.ServiceMesh的发展历程.并重点介绍了容器化阶段之后,各项重点技术的安装.使用.运维知识.可以说 ...

  9. docker 安全

    由于容器运行在主机上,且与主机共用一套内核,因此在容器的安全使用上会涉及到容器本身以及主机的安全加固,如针对系统调用,系统资源,远程访问等都需要进行安全方面的考量. docker官网给出了简单的一些建 ...

  10. Docker 快速验证 HTML 导出 PDF 高效方案

    需求分析 项目中用到了 Echarts,想要把图文混排,当然包括 echarts 生成的 Canvas 图也导出 PDF. 设计和实现时,分析了 POI.iText.freemaker.world 的 ...

随机推荐

  1. youtube-dl下载太慢了,我选yt-dlp

    前言 最近过年嘛,过年前照例来下载一些贺岁歌曲,现在国内没啥人做贺岁专辑,这方面还得看马来西亚华人,他们每年都有出专辑,质量很不错! 国内平台自然是没有(或者不全的),需要在YouTube下载~ 之前 ...

  2. TCP通信的概述(上)-TCP通信的概述(下)

    TCP通信的概述(上) TCP通信的概述(下)

  3. java入门与进阶-P1.5+P1.6

    输入 Scanner输入语句介绍 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 下面是创建 Scanner 对象的基本语法: Sca ...

  4. Casbin: 连续3年参加Google Summer of Code的开源授权技术领导者

    Casbin是一个开源的授权解决方案,很自豪的宣布它已经连续三年参加Google Summer of Code(GSoC)项目.Casbin是实现访问控制和授权管理的最受欢迎的开源项目之一.该项目广泛 ...

  5. 线上排查:内存异常使用导致full gc频繁

    线上排查:内存异常使用导致full gc频繁 问题系统 日常巡检发现,应用线上出现频繁full gc 现象 应用线上出现频繁full gc 排查过程 分析dump 拉dump文件:小插曲:dump时如 ...

  6. RocketMQ - 生产者原理

    https://rocketmq.apache.org/ Apache RocketMQ是一款开源的.分布式的消息投递与流数据平台.出生自阿里巴巴,在阿里巴巴内部经历了3个版本后,作为Apache 顶 ...

  7. Vue3

    VUE.3 1.前端工程化: 小白视角 会写HTML. css.JavaScript就会前端开发 需要美化页面的样式,就拽一个bootstrap来 需要操作DOM或者发起Ajax请求,就再拽一个Jqu ...

  8. python 中常用可视化工具库

    python 中常用可视化工具库 a.Numpy常用属性及方法 为什么用它:它可以方便的使用数组,矩阵进行计算,包含线性代数.傅里叶变换.随机数生成等大量函数(处理数值型的数组) import num ...

  9. JZOJ 3167.查税

    \(\text{Solution}\) 记 \(k\) 这个办公室相关属性有 \(t,z,s\) 对于以后的某一天 \(T\),其账户余额为 \((T-t)z+s\) 要最大化这东西,不妨另 \(b= ...

  10. 关于php imagettftext 函数错误解决问题

    imagettftext 这个函数是给图片添加水印的,但是不知道为什么我用不起,直到在网上找到了答案: 是因为字体文件路径原因,相对路径可能我位置不对,该成绝对路径就没问题了! 把'Facon-2.t ...