关闭

应用程序跑在Docker容器中会更安全

标签: docker
328人阅读 评论(0) 收藏 举报
分类:

作者:Nathan McCauley 译者:廖煜

Docker对安全的支持是与生俱来的。作为一个平台,Docker为跑在其中的所有应用程序提供安全保障,不需要在Docker之外,单独部署一套安全解决方案。

目前,Docker Engine支持Linux Kernel中的所有功能。不仅如此,Docker还为用户提供了默认的安全配置,提供一种简单的用户体验。这些默认的安全配置可以为跑在Docker Engine中的应用程序提供更全面的保护,保障跑在容器中的应用程序更安全。当然,管理员可以根据自己的环境,修改和定制这些配置,设计出自己的安全方案。

最近两家第三方独立机构评估了Docker Engine使用默认配置时的安全性,以下是相关报告。

Gartner的分析师Joerg Fritsch最近在他的博客中发布了一篇文章,题目是How to Secure Docker Containers in Operation。其中提到:

“Gartner声称应用程序跑在容器中比直接跑在操作系统中更安全。即使容器崩溃了,造成的危害也是有限的。因为应用程序以容器为单位,被相互隔离开来。一个容器出错,不会影响其他容器中的应用程序,也不会影响宿主机上的应用程序。”

NCC也发布了一份白皮书,题目是Understanding and Hardening Linux Containers,对比了目前各种容器技术的安全性,包括LXC、Docker和CoreOS。测试内容涵盖攻击范围、威胁程度、以及相关的防护功能,并对比了各种容器技术使用的默认配置和推荐配置。该白皮书中提到的一个结论值得注意,在容器中运行应用程序时,添加某些推荐配置会更安全。

“容器技术具有许多优点。从安全方面来说,容器技术创造了一种新的防护方法。通过这种方法可以减少攻击范围,并通过隔离技术,使每个应用程序仅仅暴露需要的组件、接口、函数库和网络连接。”
“技术发展到现在,我相信没有借口不把Linux应用程序跑在容器中。”
– Aaron Grattafiori, NCC Group

下图描述了三种主流容器技术的安全评估结果。其中,Docker Engine的默认配置安全性最强。

img

Docker提出的默认安全概念包括了平台安全、内容安全和访问安全,为企业提供了一套先进的软件支持链,从根本上保证安全。Docker使用Linux的各种隔离技术,建立起一套安全框架。Docker Datacenter也发布了一系列增强功能,包括应用程序扫描、签名、基于角色的访问权限控制(Role Based Access Control)和集群配置安全等,这些功能保证了整个软件生命周期的安全。

一些领先的企业也开始使用Docker Datacenter提供的服务,帮助加强自身容器的安全性,比如世界最大的人力资源、HR业务流程外包解决方案提供商-ADP。这些企业为百万雇主管理他们员工的财务信息,已经使用容器处理支票,管理收益和存储敏感数据等。

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

在 Docker 里跑 Java,趟坑总结

背景:众所周知,当我们执行没有任何调优参数(如“java-jar mypplication-fat.jar”)的 Java 应用程序时,JVM 会自动调整几个参数,以便在执行环境中具有最佳性能。 但...
  • fstars
  • fstars
  • 2017-04-05 10:08
  • 5102

Docker初级——介绍、安装和使用

项目需要使用Docker,所以自学了几天,仅提供给新手…写该博客一是希望能够帮助像我这样刚学习Docker的新人,二是加深自己的印象,如果忘了也可以再看看,有些片段是从其他博客、文档和书籍学习来的,但...
  • zjm9109
  • zjm9109
  • 2016-06-30 16:17
  • 9739

Docker整理之Docker运行容器相关(二)

Docker 安装 docker 的相关安装方法这里不作介绍,具体安装参考官档 Docker 基础用法 在一个容器内运行一个应用程序需要一个命令:docker run。     $ sudo ...
  • u014788227
  • u014788227
  • 2016-10-19 12:49
  • 1234

在Docker容器中实现安全与隔离

随着容器技术的发展,它的安全、隔离和资源控制的功能也在不断进步。本文中,我们将回顾Docker容器如何仅仅使用linux的原始功能来实现安全与隔离,比如namespaces, cgroups, cap...
  • sun754276603
  • sun754276603
  • 2015-11-20 12:06
  • 349

docker容器的时区(timezone)及mvn启动应用程序的时区(timezone)设置

在docker部署程序时,发现应用程序的时间也会发生时区(timezone)的问题,所以以mvn启动jetty为例记录一下心得. 一般遇到的问题是会发现少了八个小时,原因可能是jdk使用的时区有差别,...
  • posse_wang
  • posse_wang
  • 2016-11-02 11:54
  • 346

在Docker容器中实现安全与隔离

利用linux现有功能实现docker的安全与隔离,如namespaces, cgroups, capabilities”!
  • sisiy2015
  • sisiy2015
  • 2015-11-20 11:58
  • 979

在Docker容器中部署Web应用

本文直接讲解如何在Docker容器中实战部署一个Web应用程序,关于Docker相关的概念和如何安装Docker请参考相关资料完成。   第一步:工具准备 演示如何在Docker容器中部署一个Java...
  • nuccch
  • nuccch
  • 2015-02-02 23:20
  • 19179

在Docker容器中进行Flask应用的开发

Docker技术越来越得到广泛的应用。利用Docker可以创建一个隔离的、自包含的程序运行环境,并且非常方便的进行部署。这篇文章将详细介绍,如何在Docker中开发Flask应用以及如何在Docker...
  • liuchunming033
  • liuchunming033
  • 2016-07-25 10:02
  • 4563

Zend Studio使用教程之在Docker容器中调试PHP Web应用(三)

本教程为大家介绍的是一个全面的演示,从Docker Hub中提取合适的镜像、运行一个容器到调试PHP代码。该演示需要使用Zend Studio 13,因为它引入了全新的Docker Tooling...
  • AABBbaby
  • AABBbaby
  • 2016-11-16 09:34
  • 308

Zend Studio使用教程之在Docker容器中调试PHP Web应用(一)

在任何编程语言中调试都是软件开发的基本任务。但不幸的是,在PHP中使用开箱即用的经验进行调试并不是一直奏效的。php.net上的“stock” PHP二进制文件没有配置两个流行的服务器Xdebug和Z...
  • AABBbaby
  • AABBbaby
  • 2016-10-21 09:39
  • 559
    个人资料
    • 访问:20269次
    • 积分:630
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:2篇
    • 译文:24篇
    • 评论:2条
    文章分类