如何做好容器安全

栏目: 编程工具 · 发布时间: 4年前

内容简介:【编者的话】保护Docker和容器基础设施安全需要打组合拳,综合运用策略、工具和审慎的应用检查。Gartner将容器安全列为其本年度十大安全顾虑之一,或许是时候进一步审视并找出切实的容器安全实现方案了。虽然容器已面世十年,但其轻量且可重用的代码、灵活的功能和更低的开发成本,令容器的流行程度有增无减。但没有什么工具是万能的。我们不妨再仔细考察一下保护开发环境所需的各种工具、容器自身所用工具和出于监视/审计/合规目的的工具吧。从以下几个基本步骤开始:

【编者的话】保护 Docker 和容器基础设施安全需要打组合拳,综合运用策略、 工具 和审慎的应用检查。

Gartner将容器安全列为其本年度十大安全顾虑之一,或许是时候进一步审视并找出切实的容器安全实现方案了。虽然容器已面世十年,但其轻量且可重用的代码、灵活的功能和更低的开发成本,令容器的流行程度有增无减。但没有什么工具是万能的。我们不妨再仔细考察一下保护开发环境所需的各种工具、容器自身所用工具和出于监视/审计/合规目的的工具吧。

从以下几个基本步骤开始:

熟悉云提供商交付的工具

第一步就是熟悉云提供商的内置安全措施,比如 Azure Security Center、谷歌Kubernetes Engine、谷歌 Cloud Security Command Center和亚马逊Inspector。其中有些是通用安全工具而非容器专用,比如 Azure Security Center。

熟悉原生Docker相关安全功能

包括运用策略防止资源滥用、设置访问控制组和确保清除不必要的root权限。

考虑GitHub开源项目

某些情况下,Bench Security之类检查代码中最佳安全实践的项目,以及类似seccomp的其他 Linux 原生工具,是节省开支的不错选择。

总有很多软件有待学习和理解,但应重点查看几个常用功能,包括为用户及最终生成的应用所设的身份及身份验证措施,以及控制这些访问权限的机制。另外,还需要能够检查并审计日志文件,要能浏览并过滤日志文件以提供有益安全态势的可操作信息。最后,还要有用于保护API密钥和SSL凭证之类秘密的底层基础设施。这些秘密必须以加密形式存储。

是不是有点头晕目眩了?这还才刚刚开始呢。想要保护公司环境中的容器,下面三个领域是你不得不仔细考虑的。

保护开发环境

由于容器对开发人员而言非常有用,所以推进到DevSecOps非常有必要,但要记得在创建容器时即添加安全措施,而不是在项目匆忙上马留下诸多漏洞之后。保证应用安全从来都是最佳实践。在选择正确的安全工具之前,你需要回答以下几个重要问题:

能够自动化哪些工作流以保持应用安全?

有些工具有助于实现该操作,尤其是在编排方面。然而,很多编排工具专注于容器管理和扩展问题,未必考虑到安全细节。找到功能和防护之间的恰当平衡或许没那么容易。

应用和用户访问控制的粒度该设成多细?

这里有必要了解这些控制的实现机制及其局限。比如说,哪些代码段和容器具备root/内核访问权限,是否需要这么高的权限来完成任务。

应该使用运行时应用自防护(RASP)技术吗?

必须的。就像专注应用的RASP常规工具,有些工具专注于容器运行时应用保护,要么有静态扫描,要么利用开发环境持续集成。因为容器代码不停在变,持续集成的形式相当有用;而且拥有持续代码审计也可以在不得不修复或更新时节省大量时间。一款好RASP容器工具应能标记异常行为,缓解潜在威胁,并能够隔离特定事件以供后续进一步取证分析。

防护托管着容器的底层主机

大多数情况下,这意味着运行精简版LInux,只留下必要的服务以减小潜在攻击界面。有些工具就是设计来强化主机自身的。另一个办法是采用上面提到过的Docker控制组,以及隔离名字空间以反映你的安全策略和防止容器间相互感染。有些商店使用来自云提供商的虚拟专用连接来实现该隔离操作。该过程包含应用访问级别和其他机制来隔离工作负载,以及限制每台主机上运行的容器数量。出于这个原因,有些商店甚至一台主机只运行一个容器。

保护容器内容安全

这里讨论的是镜像的软件供应链。这是构建容器的基石,所以一项重要的基本功能就是要能够保证镜像源完整性防护,也就是当员工或提供原始容器镜像的开源项目对镜像做了修改时,你得清楚到底改动了哪些东西。

鉴于很多容器都在互联网上共享的事实,能够扫描容器镜像以确保不受感染是一项很有用的功能。那么,你的扫描频率如何,能不能自动化扫描呢?能从可信源获取镜像固然很好,但每个人都会犯错,意外引入安全问题是不可避免的。

不过,对有些商店,你却不用担心容器里有哪些漏洞。这听起来令人惊讶,但确实有意义——只除了一点:除非你能保证容器边界足够安全,或者你应用程序的实际代码不触及容器代码有漏洞的部分。你对自家安全工具的自信程度,可能是决定漏洞容忍度的最终因素。

典型容器安全产品

好了,现在你对自己的安全状况有所了解了,下面就可以来看看都有哪些典型的容器安全产品了。选择容器安全产品的一个基本决定因素是你对开源工具使用的规划,或者,换句话说,你购买商业产品的预算有多少?

工具发现之旅从Sysdig开始。他们有一系列很棒的教程(当然,用的是他们自己的软件当例子),能带你感受一些常见的安全用例,比如审计运行时代码查找异常行为、执行取证分析和检查漏洞。该公司还提供开源RASP工具Falco和商业工具Monitor及Secure,后者可以执行镜像扫描和漏洞监视功能。

主要开源工具有:

主流商业供应商包括:

  • Alertlogic :管理容器身份和日志分析。
  • AquaSec :RASP、审计、镜像扫描和容器IDS
  • Flawcheck :被Tenable收购并融入其容器镜像扫描器以利用其Nessus安全专业技术。
  • Twistlock :RASP和附加机器学习防护。
  • Threatstack :作为漏洞监视工具融入其云安全平台。

最后我们来说说成本问题。大多数供应商提供有限的评估(周期短则一周,长则持续数月),所以在购买前可以试用。很多此类评估都有注册页面,以便做客户跟踪。由于工具按API调用或其他使用指标计费,大多数工具都有复杂的定价模型,这些定价模型一般不会显示在供应商的网站上。

比如说,Sysdig的定价页面就相当语焉不详,年度计划中每台主机每月30美元起,还有批量折扣什么的。容器防护定价难点之一,是你可能不知道自己容器基础设施的完整规模,而鉴于容器的变动速度,也不太可能预测其总价。所以,在进入商业产品领域前,你可以先试试开源工具。

Gartner本年度十大安全顾虑: https://www.gartner.com/doc/39 ... jects

Sysdig教程: https://dig.sysdig.com/c/pf-us ... ivity

开源RASP工具Falcon: https://sysdig.com/opensource/falco/

Monitor工具: https://sysdig.com/products/monitor/

Secure工具: https://sysdig.com/products/secure/

原文链接: 如何做好容器安全


以上所述就是小编给大家介绍的《如何做好容器安全》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

写给大忙人看的Java SE 8

写给大忙人看的Java SE 8

【美】Cay S. Horstmann(凯.S.霍斯曼) 编 / 张若飞 / 电子工业出版社 / 2014-11 / 59.00元

《写给大忙人看的Java SE 8》向Java开发人员言简意赅地介绍了Java 8 的许多新特性(以及Java 7 中许多未被关注的特性),《写给大忙人看的Java SE 8》延续了《快学Scala》“不废话”的风格。 《写给大忙人看的Java SE 8》共分为9章。第1章讲述了lambda表达式的全部语法;第2章给出了流的完整概述;第3章给出了使用lambda表达式设计库的有效技巧;第4章......一起来看看 《写给大忙人看的Java SE 8》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具