Docker与容器安全

Docker能否大规模用于生产环境,尤其是公有云环境,就在于Docker是否能提供安全的环境。本文将总结《Docker容器与容器云》一书3.9节『Docker与容器安全』的主要内容,包括Docker现有安全机制、存在的安全问题以及Docker安全增强三个方面。

1. Docker的安全机制

1.1 Docker daemon安全

1.2 镜像安全

  • Docker registry镜像库访问控制

    • Docker daemon第一次启动时,通过公网(Amazon CDN)载入official.json包,饮食公共image和用户image的目录以及数字签名信息。
    • official.json在Docker daemon启动时加载到MemoryGraph,MemoryGraph用于存储公钥以及命名之间的授权映射,默认授权节点对授权空间有读写权限。
  • 镜像校验和

    • 镜像校验和用来保证镜像的完整性,以预防可能出现的镜像破环。
    • 目前Docker对于镜像校验和和验证失败不采取任何措施,仅输出警告信息

1.3 内核安全

1.4 容器之间的网络安全

1.5 Docker容器Capability限制

2. Docker安全问题

2.1 磁盘资源限制问题

2.2 容器逃逸问题

2.3 容器DoS攻击与流量限制问题

2.4 超级权限问题

3. Docker安全的解决方案

3.1 SELinux

  • SELinux三种控制方式

    • Type Enforcement: 主要的访问控制机制。
    • Role-Based Access Control(RBAC):基于SELinux用户的权限控制手段。
    • Multi-Level Security(MLS): 多级分类安全,指定level标签。
  • 为什么要在Docker中使用SELinux
    • SELinux将所有进程和文件打上标签,而容器以进程方式运行,所以控制进程如何访问资源,也就是限制容器如何去访问资源。
    • SELinux策略是全局的,它不是针对具体用户设定,而是强制整个系统遵循。
    • 减少提权攻击风险。

3.2 user namespace

3.3 磁盘限额

3.4 容器流量限制

3.5 GRSecurity内核安全增强工具

3.6 fork炸弹

4. 总结

Docker自身已经提供了不少安全机制,但Docker目前仍然只适于运行可信应用程序(内部使用),如果需要运行任意代码,安全很难得到保证。在日常应用中,还可以通过SELinux、GRSecurity、seccomp等工具来增强容器安全。

Docker与容器安全相关推荐

  1. docker 镜像容器导入导出、查看日志、拷贝文件命令

    1. 本地文件拷贝到docker 容器中,参考 docker cp /root/pcl-pcl-1.8.1.tar.gz 7ff95b333e12:/docker cp /root/lib64_a 7 ...

  2. Docker将容器制作成镜像并提交到远程仓库

    Docker将容器制作成镜像并提交到远程仓库 步骤如下 先在dockerhub上创建一个自己的用户https://hub.docker.com/.或者在阿里云也可以. 2. 然后先创建一个空的镜像名. ...

  3. docker server 容器连接sql_Docker使用指南

    一.Docker安装 在Ubuntu系统下安装: apt-get install docker 在Fedora/CentOS系统下安装: yum install docker dnf install ...

  4. Docker 多容器编排Swarm(六)

    docker swarm简介 Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose 是一个在单个服务器或主机 ...

  5. docker mysql容器 修改时区

    目录 mysql时区介绍 方法一: 临时修改 方法二: 启动时加参数(推荐) mysql时区介绍 先来校验下数据库是否真的时区不对. 进入MySQL数据库, 运行语句: SELECT NOW(); 会 ...

  6. linux docker 限制容器可用的 cpu

    默认情况下容器可以使用的主机 CPU 资源是不受限制的.和内存资源的使用一样,如果不对容器可以使用的 CPU 资源进行限制,一旦发生容器内程序异常使用 CPU 的情况,很可能把整个主机的 CPU 资源 ...

  7. 镜像和linux关系,Docker中容器和镜像的关系【通俗易懂】

    docker中容器和镜像的关系是什么? 最近学习了docker,大多人感觉容器和镜像学的有点模糊. 特别是镜像和容器,感觉完全分不开,所以在此学习,然后总结了一下,便于后面的学习. 这是我总结的镜像总 ...

  8. docker 删除容器_Docker (二) Windows10专业版安装教程

    前言 本文将基于 windows10专业版 来安装docker 1.开启Hyper-V 温馨小提示:之前小编是windows10企业版没有Hyper-V这个功能,于是通过DockerToolbox安装 ...

  9. 跟我一起学docker(四)--容器的基本操作

    1.创建容器 Docker的容器十分轻量级,用户可以随时创建或删除容器. 新建容器:docker create Example:docker create –ti ubuntu 说明:使用docker ...

  10. Docker批量操作容器

    Docker批量操作容器 原文:Docker批量操作容器 1.停止所有容器 docker stop $(docker ps -q) 2.删除所有停止容器 docker rm $(docker ps - ...

最新文章

  1. linux下 DNS配置过程『罗斌原创』
  2. Opencv中cvCopy() 和cvCloneImage()的区别
  3. learning中的数学
  4. 下载android4.4.2源代码全过程(附已下载的源代码)
  5. WebAPI(part6)--自定义属性操作
  6. 如何让Windows任务栏显示多个不同时区的时钟
  7. c++11多线程之packaged_task<>介绍与实例
  8. 全民营销时代,让私域流量变成业务增量需要几步?
  9. python 除数总是提示为0_Python错误的处理方法
  10. linux 用vi命令的使用以及vi编辑后的后续保存退出等相关命令的使用
  11. render vue 添加类_详解vue 动态加载并注册组件且通过 render动态创建该组件
  12. 少儿编程、软硬编程课件、创意Scratch的项目小游戏,可单独上一节课
  13. pm runtime
  14. 计算机桌面的文件拒绝访问,win10系统桌面文件无法重命名提示访问被拒绝的设置办法...
  15. MCU简单控制DAC芯片应用(以DAC8550为例)
  16. AlphaBeta剪枝算法
  17. uniapp 即时通讯_uni-App 仿微信 App 即时通讯|vue+uniapp 聊天
  18. UE5全身动作捕捉和VR技术即将上架
  19. 盘点 AI 在娱乐行业最佳应用场景
  20. 【Swift 60秒】25 - The ternary operator

热门文章

  1. Mysql Grant 用户权限总结(详细编)
  2. 前端性能优化——http首部
  3. c++11 lambda(匿名函数)
  4. 与继承相关的一些重构(一)
  5. 堪比“震网”:罗克韦尔PLC严重漏洞可导致攻击者在系统中植入恶意代码
  6. DDoS booter滥用 DTLS 服务器放大攻击
  7. 立即更新!SonicWall 公司再次发布SMA 100 0day 固件更新
  8. CVE-2020-0601漏洞详细分析
  9. exp-小写字母表导出问题?
  10. 使用audit工具常规命令监控系统访问文件