Docker容器技术兴起的初期,对于许多企业而言,容器安全问题一直是他们在生产环境中采用Docker的一大障碍。然而,在过去的一年中,许多开源项目、初创公司、云供应商甚至是Docker公司自己,已经开始打造用于强化Docker环境的新解决方案,关于容器安全的担忧及挑战正在被逐渐解决。如今,许多容器安全工具可以满足容器整个生命周期的各方面需求。

 

Docker 的安全工具可以分为以下几类:


l  内核安全工具:这些工具源于Linux开源社区,它们已经被docker等容器系统吸纳成为内核级别的基础安全工具。

l  镜像扫描工具:Docker Hub是最受欢迎的容器镜像仓库,但除Docker Hub之外也有很多其他镜像仓库可供选择的。大多数镜像仓库现在都有针对已知漏洞扫描容器镜像的解决方案。

l  编排安全工具:Kubernetes和Docker Swarm 是两个被普遍使用的编排工具。并且它们的安全功能在过去一年已经得到加强。

l  网络安全工具:在容器驱动的分布式系统中,网络比以往更为重要。基于策略的网络安全在基于外围的防火墙上的重要性越来越突出。

l  安全基准测试工具:互联网安全中心(CIS)为容器安全提供了指导方针,这一方针已被Docker Bench和类似的安全基准工具所采用。

l  CaaS平台的安全性AWS ECS、GKE和其他CaaS平台通常是基于其母公司的laaS平台来构建其安全功能。然后添加容器专用功能或者借用DockerKubernetes的安全功能。

l  容器专用安全工具:对于容器安全来说,这是一个最优选择。其中,机器学习是中心阶段,因为这类工具能够为容器安全构建智能的解决方案。

 

以下是根据Docker堆栈工具安全部分,列出的可用的Docker安全工具备忘清单。

 

 

内核安全工具

 

  • 命名空间(Namespaces

该工具隔离了相邻的进程,并且限制了容器所能看到的内容,因此可以防止攻击的蔓延。

 

  • cgroups  

该工具限制了容器使用的资源,限制容器可以使用的内容,从而防止受感染的容器占用所有的资源。

 

  • SeLinux 

该工具为内核提供访问控制。它强制执行“强制访问控制(MAC)”,依据策略控制了容器访问内核的方式。

 

  • AppArmor

该工具可以启用进程访问控制,可设置强制执行策略,亦可设置为仅在违反策略时发出报告。

 

  • Seccomp

该工具允许进程以“安全”状态与内核进行交互,“安全”状态下仅可执行数量有限的一些命令。如果超出命令,那么进程将被终止。

 

镜像扫描工具

 

  • Docker Hub安全扫描

该工具根据常见漏洞和暴露列表(CVEs)扫描从Docker Hub下载的镜像。

 

  • Docker Content Trust     

该工具可以根据作者验证从第三方文件库下载的镜像,作者可是个人或组织。

 

  • Quay Security Scanner    

该工具由CoreOS Clair提供支持。这是Quay Docker安全扫描版本,它可以扫描容器镜像漏洞。

 

  • AWS ECR 

作为AWS ECS的一部分,ECRS3中静态加密图像,并通过HTTPS传输。它使用AWS IAM控制对镜像仓库的访问。

 

编排安全工具

 

  • Docker Swarm机密管理                 

该工具提供一种使用Docker Swarm的安全方式来存储密码、token以及其他机密数据。

 

  • Kubernetes Security Context   

保证在Kubernetes集群中容器和pod的安全,并提供访问控制及 SELinux AppArmorLinux内核安全模块。

 

网络安全工具

 

  • Project Calico 

通过提供基于策略的安全保障来保护容器网络,并确保服务只能访问其所需要的服务和资源。

 

  • Weave     

该工具为容器网络强制实施基于策略的安全保障,并且为每个容器而非整个环境提供防火墙。

 

  • Canal 

集成了Project Calico的安全功能和Flannel的连接功能,为容器提供了全面的网络解决方案。

 

安全基准测试工具

 

  • Docker Bench

这是一个根据互联网安全中心(CIS)创建的基准清单,来检查生产环境中的容器的安全状况的脚本。

 

  • Inspec

这是一个由Chef构建的测试框架,它将合规性和安全性视为代码。此外,它可以扫描镜像并拥有自己的一个Docker Bench版本。

 

CaaS平台的安全性

 

  • AWS ECS

AWS ECS中,容器是运行在虚拟机内的,这就为容器提供了第一层安全保护。同时ECS也添加了AWS的安全功能,如IAM、安全组以及网络ACLs等。

 

  • Azure容器服务 

Azure容器服务有自己的容器镜像仓库来扫描镜像,同时还可充分利用Azure的默认安全功能,如IAM

 

  • GKE 

GKE采纳了Kubernetes的安全功能并且添加了一些自己谷歌云的安全功能,如IAMRBAC

 

容器专用安全工具

 

  • Twistlock 

这是一个端到端的容器安全平台。它利用机器学习来自动分析应用程序。

 

  • Aqua Security

一个端到端的容器平台,提供了易于扩展的成熟API

 

  • Anchore

该工具可以扫描容器镜像并为容器平台强制运行安全策略。同时它用Jenkins整合了CI/CD的工作流程。

 

  • NeuVector       

该工具通过执行服务策略来保护容器运行安全。并且能够基于自动化白名单自动开始或停止容器运行。

 

  • Deepfence       

该工具是CI / CD集成安全工具,可防止已知的攻击。

 

  • StackRox          

该容器安全工具可以利用机器学习提供“自适应威胁保护”

 

  • Tenable  

这是一个可以扫描容器镜像的托管安全解决方案,它甚至可以允许企业在它们的环境内执行安全策略。

 

  • Cavirin   

这是一个持续的安全评估工具,可以根据CIS基准测试漏洞。

 

感受Docker安全工具的魅力

 

 

本文是一个十分全面的Docker安全工具清单。通过这份清单,我们可以清楚地知道,保证Docker的安全需要多种工具的共同合作。因为每个工具都有其优势以及所专注的领域。有针对容器堆栈的内核、镜像仓库、网络、编排工具以及CaaS平台的每一层提供解决方案。最棒的是,大部分工具或者至少是大部分容器工作负载中的常用工具都非常适合彼此集成。

 

充分了解每个安全工具的功能及其特性之后,您可以为企业级生产工作负载打造固若金汤的安全的容器环境。这一直是Docker的承诺,而容器安全工具把这一承诺变成了现实。