在 Docker 容器技术兴起的初期,对于许多企业而言,容器安全问题一直是他们在生产环境中采用 Docker 的一大障碍。然而,在过去的一年中,许多开源项目、初创公司、云供应商甚至是 Docker 公司自己,已经开始打造用于强化 Docker 环境的新解决方案,关于容器安全的担忧及挑战正在被逐渐解决。如今,许多容器安全工具可以满足容器整个生命周期的各方面需求。
Docker 的安全工具可以分为以下几类:
内核安全工具:
这些工具源于 Linux 开源社区,它们已经被 docker 等容器系统吸纳成为内核级别的基础安全工具。
镜像扫描工具:
Docker Hub 是最受欢迎的容器镜像仓库,但除 Docker Hub 之外也有很多其他镜像仓库可供选择。大多数镜像仓库现在都有针对已知漏洞扫描容器镜像的解决方案。
编排安全工具:
Kubernetes 和 Docker Swarm 是两个被普遍使用的编排工具。并且它们的安全功能在过去一年已经得到加强。
网络安全工具:
在容器驱动的分布式系统中,网络比以往更为重要。基于策略的网络安全在基于外围的防火墙上的重要性越来越突出。
安全基准测试工具:
互联网安全中心(CIS)为容器安全提供了指导方针,这一方针已被 Docker Bench 和类似的安全基准工具所采用。
CaaS 平台的安全性:
AWS ECS,、GKE 和其他 CaaS 平台通常是基于其母公司的 laaS 平台来构建其安全功能。然后添加容器专用功能或者借用 Docker、Kubernetes 的安全功能。
容器专用安全工具:
对于容器安全来说,这是一个最优选择。其中,机器学习是中心阶段,因为这类工具能够为容器安全构建智能的解决方案。
以下是根据 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 的一部分,ECR 在 S3 中静态加密图像,并通过 HTTPS 传输。它使用 AWS IAM 控制对镜像仓库的访问。
编排安全工具
Docker Swarm Secrets Management
用安全的方式来使用 Docker Swarm 存储密码、token 以及其他机密数据。
Kubernetes Security Context
保证在 Kubernetes 集群中容器和 pod 的安全,并提供访问控制及 SELinux 和 AppArmor 等 Linux 内核安全模块。
网络安全工具
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 的安全功能并且添加了一些自己谷歌云的安全功能,如 IAM 和 RBAC。
容器专用安全工具
Twistlock
这是一个端到端的容器安全平台。它利用机器学习来自动分析应用程序。
Aqua Security
一个端到端的容器平台,提供了易于扩展的成熟 API。
Anchore
该工具可以扫描容器镜像并为容器平台强制运行安全策略。同时它用 Jenkins 整合了 CI/CD 的工作流程。
NeuVector
该工具通过执行服务策略来保护容器运行安全。并且能够基于自动化白名单自动开始或停止容器运行。
Deepfence
该工具是 CI / CD 集成安全工具,可防止已知的攻击。
StackRox
该容器安全工具可以利用机器学习提供“自适应威胁保护”
Tenable
这是一个可以扫描容器镜像的托管安全解决方案,它甚至可以允许企业在它们的环境内执行安全策略。
Cavirin
这是一个持续的安全评估工具,可以根据 CIS 基准测试漏洞。
感受 Docker 安全工具的魅力
本文是一个十分全面的 Docker 安全工具清单。通过这份清单,我们可以清楚地发现,保证 Docker 的安全需要多种工具的共同合作。因为每个工具都有其优势以及所专注的领域。有针对容器堆栈的内核、镜像仓库、网络、编排工具以及 CaaS 平台的每一层提供解决方案。最棒的是,大部分工具或者至少是大部分容器工作负载中的常用工具都非常适合彼此集成。
充分了解每个安全工具的功能及其特性之后,您可以为企业级生产工作负载打造固若金汤的容器安全环境。这一直是 Docker 的承诺,而容器安全工具把这一承诺变成了现实。
作者简介
Twain 在谷歌开始他的职业生涯,其中,他成为了 AdWords 团队的技术支持。他的工作涉及审查堆栈跟踪,解决影响客户和支持团队的问题以及处理升级问题。后来,他建立了品牌社交媒体应用程序和自动化脚本,来帮助创业公司更好地管理它们的营销业务。今天,他作为一名技术记者,帮助 IT 杂志以及初创公司改变构建和发布应用程序的方式。
评论