写点什么

值得推荐的 Docker 安全开源工具

  • 2020-01-01
  • 本文字数:4679 字

    阅读完需:约 15 分钟

值得推荐的 Docker 安全开源工具

在容器安全方面,有很多使用开源工具阻止安全灾难的故事,例如前不久发生的特斯拉 Kubernetes 集群入侵事件。容器的安全性一直是一件很棘手的事情,因此如何巧妙使用开源工具就成为一件重要的事情。


如果你已经花了大量精力找到了最佳的应用程序安全性测试工具,并确保你的应用程序尽可能安全,那么你肯定不希望运行它的容器是不够安全的。幸运的是,有一些商业版的容器安全产品可供选择,但是有许多开源项目也很不错。其中有许多项目侧重于审计、跟踪公共漏洞和通用披露数据库(CVE)以及由 CIS 网络安全智能系统、国家漏洞数据库和其他机构建立的安全基准。这些工具会对容器镜像进行扫描,并将扫描后的结果与这些已知的漏洞清单进行交叉比对。


通过使用自动化容器审计或者容器安全流程,可以帮助团队在项目早期捕获问题,从而为企业带来巨大的好处。


目前有很多开源容器安全工具,这里列出了一些最好的、最成熟的、拥有广大用户群体的工具。

Docker Bench for Security(Docker 安全工作台)

Docker Bench 是一个根据安全基准对 Docker 容器进行审计的脚本。


该工具面向的是使用 Docker 社区版本进行容器管理的开发者,Docker Bench for Security 是一个根据通用的安全最佳实践设计的开源脚本,用于对 Docker 容器进行安全审计。


Docker Bench 的测试基于行业的 CIS 基准,可以自动完成繁琐的手工漏洞测试过程。


Docker 安全主管 Diogo Mónica 将其描述为“一个测试容器的容器”。你可以按照如下操作对容器进行初始化:


docker run -it --net host --pid host --userns host --cap-add audit_control \ -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \ -v /var/lib:/var/lib \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/lib/systemd:/usr/lib/systemd \ -v /etc:/etc --label docker_bench_security \ docker/docker-bench-security
复制代码


运行结果会将每个安全配置基准的日志分为普通信息、警告信息以及通过信息。你可以直接在 Docker 容器中运行这个工具,也可以通过 Docker Compose 来克隆或者直接在你的 Docker 宿主机上运行这个脚本。


这个工具有一个缺点,它的输出结果在机器可读性上有所欠缺。社区有许多工具包实现了对 Docker Bench 的改进,比如,Docker Bench Test、drydock 以及 Actuary。

Clair

Clair 是一个 API 驱动的基于庞大的 CVE 数据库的静态容器安全分析工具。


Clair 是由 CoreOS 开发的静态容器漏洞分析工具。在 Quay.io 上也可以使用这个工具,Quay.io 是一个公共容器注册中心,是 Docker Hub 的一个 替代品。


Clair 从许多漏洞数据源获取信息,比如 Debian 安全漏洞跟踪库、Ubuntu CVE 跟踪库以及 Red Hat 安全数据库。由于 Clair 涵盖了大量的 CVE 数据库,所以它的审计是非常全面的。


Clair 首先会为容器镜像中的特性列表建立索引。然后通过 Clair API,开发人员可以查询与特定镜像相关的漏洞数据库。


你可以通过 Clair 入门文档来开始使用 Clair。在 Kubernetes 集群上部署也是很简单的:


git clone https://github.com/coreos/clair cd clair/contrib/helm cp clair/values.yaml ~/my_custom_values.yaml vi ~/my_custom_values.yaml helm dependency update clair helm install clair -f ~/my_custom_values.yaml
复制代码


Clair 的一大特性就是它的灵活性。它允许你为一些行为添加自己的驱动。此外,通过单独的 API 调用来审计特定的容器镜像是一种漂亮的、机器驱动的替代方法,可以代替对大量的日志报告进行搜索的方法。

Cilium

Cilium 是一个内核层的 API 感知网络和安全工具。


Cilium 专注于解决安全网络连接,与 Docker、Kubernetes 等 Linux 容器平台有良好的兼容性,它增加了安全可视化以及控制逻辑。


它基于 Linux 内核技术 BPF(以前被称为 Berkeley packet filter)。其功能在底层进行实现的有趣之处在于,你可以直接应用和更新 Cilium 安全策略,无需更改应用程序代码或容器配置。CoreOS 开发 Cilium 的目的是为了响应现代微服务开发和快速容器部署的易变生命周期。它可以与 Kubernetes 直接进行集成,你可以使用下面的命令进行部署:


$ kubectl create -f ./cilium.yaml clusterrole "cilium" created serviceaccount "cilium" created clusterrolebinding "cilium" created configmap "cilium-config" created secret "cilium-etcd-secrets" created daemonset "cilium" created $ kubectl get ds --namespace kube-system NAME DESIRED CURRENT READY NODE-SELECTOR AGE cilium 1 1 1 <none> 2m
复制代码


Cilium 的周边支持和开发社区非常棒。你能找到大量的指南和文档、一个 Slack 频道,甚至还有每周与项目维护者的聚会。

Anchore

Anchhore 是一个使用 CVE 数据库和用户定义策略检查容器安全性的工具。


Anchore Engine 是一个分析容器镜像的工具。不仅仅加入了 CVE 的安全漏洞报告,Anchore 引擎还可以使用自定义策略来对 Docker 镜像进行评估。


不同策略会导致通过或失败的结果。策略可以基于白名单/黑名单、安全凭证、文件内容、配置类型或其他用户提示。


Anchore 打包成 Docker 容器镜像后,既可以独立运行,也可以在 Kubernetes 这样的容器编排平台上运行。它也可以集成 Jenkins 和 GitLab 实现 CI/CD。


使用 Anchore 命令行工具(CLI)是操作 Anchore 引擎的好方法。例如,你可以使用如下命令来查看镜像内容的详细信息:


anchore-cli image content INPUT_IMAGE CONTENT_TYPE
复制代码


再例如,你可以使用如下命令来对一个镜像进行漏洞扫描:


anchore-cli image vuln docker.io/library/debian:latest os
复制代码


Anchore 能够输出漏洞细节、威胁级别、CVE 标识符和其他相关信息的列表。由于用户定义的规则是通过 Anchore 云服务图形用户界面(GUI)创建的,所以它的操作类似于 SaaS。

OpenSCAP Workbench

OpenSCAP Workbench 是一个为各种平台创建和维护安全策略的环境。


OpenSCAP 是一个 IT 管理员和安全审计员的生态系统,其中包括许多开放的安全基准指南、安全配置基准和开源工具。


使用 Fedora、Red Hat Enterprise Linux、CentOS 或 Scientific Linux 的用户可以将 OpenSCAP 工作台安装为 GUI 的形式,以便在虚拟机、容器和容器镜像上运行扫描。你可以使用如下命令安装 OpenSCAP 工作台:


# yum install scap-workbench
复制代码


如果要根据 SCAP 策略指南和 CVE 来评估容器,请使用 OpenSCAP 附带的 oscap-docker 程序。


OpenSCAP 以 NIST 认证的安全内容自动化协议(SCAP)为核心,提供了许多机器可读的安全策略。OpenSCAP 安全指南指出,该项目的目标是允许多个组织通过避免冗余来有效地开发安全内容。


由于 OpenSCAP 比列表中的其他工具应用范围更广泛,所以对于希望为整个平台创建安全策略的团队来说,OpenSCAP 是一个很好的选择。

Dagda

Dagda 是一个扫描 Docker 容器中漏洞、木马、病毒和恶意软件的工具。


Dagda 是又一个用于容器安全性静态分析的工具。它的 CVE 来源包括 OWASP 依赖项检查、Red Hat Oval 以及 Offensive Security 数据库。


要使用 Dagda 扫描 Docker 容器,首先要建立一个包含漏洞数据的 Mongo 数据库。之后,执行此命令来分析单个 Docker 镜像:


python3 dagda.py check --docker_image jboss/wildfly
复制代码


你可以在远程运行它,或者不断地调用它来监视活动的 Docker 容器。结果输出能够显示出漏洞的数量、严重性级别以及其他细节,可以帮助开发者进行安全修复。


Dagda 的优势之一是它广泛覆盖了各种漏洞数据。这意味着你可以直接访问大量最新的、全面的漏洞数据。同时,它也很灵活,你可以通过 CLI 命令行工具以及 REST API 来控制它。

Notary

Notary 是一个增强容器安全性的框架。


Notary 实际上是一个 Docker 的镜像签名框架,现在开源用于其他实现。Docker 开发了它,然后在 2017 年将其捐赠给了云原生计算基金会。


Notary 主要是用于职责分离的。使用 Notary,开发人员可以委派角色并在容器之间定义职责。该工具提供了服务端工具和客户端工具,提供了一种内容发布和验证的加密安全方法。


如果要在本地部署 Notary,你需要先把代码仓库克隆到本地。之后使用 Docker Compose 来部署一个本地配置项:


$ docker-compose build $ docker-compose up -d $ mkdir -p ~/.notary && cp cmd/notary/config.json cmd/notary/root-ca.crt ~/.notary
复制代码


它依赖于 The Update Framework 以及 Go 语言,可以验证容器应用程序镜像的加密完整性。

Grafaes

Grafaes 是一个用于帮助管理内部安全策略的元数据 API。


Grafaes 可以帮助你创建自己的容器安全扫描项目。该容器安全工具是由 IBM 和谷歌于 2017 年底发布的。


开发人员可以使用 Grafaes 组件元数据 API 来定义虚拟机和容器的元数据。IBM 的 Vulnerability Advisor 也集成到了该项目中。


如果需要参考一个可靠的案例研究,请参见 Shopify 是如何使用 Grafaes 管理 500,000 个容器镜像的元数据的。与 Kritis 合作,该团队对使用 Grafeas 元数据的 Kubernetes 集群实施安全策略管理。


Grafaes 能够快速获取容器元数据,这有助于加快补救安全问题,减少漏洞被暴露以及被利用的窗口期。虽然 Grafaes 是开源的,但它是由大型软件供应商维护的,这对工具的长期支持是有好处的。

Sysdig Falco

Sysdig Falco 是一个可以提供深度容器可见性的行为活动监视工具。


Falco 是一个 Kubernetes 感知安全审计工具,它是由 Sysdig 开发的,强调对容器、主机和网络活动的行为监视。使用 Falco,开发人员可以对其基础设施进行持续检查、异常检测,并为任何类型的 Linux 系统调用设置警报通知。


Falco 文档建议用户将 Falco 作为 Docker 容器运行。你可以使用这些命令安装它。安装完成后,Falco 警报标准输出如下所示:


stdout_output: enabled: true 10:20:05.408091526: Warning Sensitive file opened for reading by non-trusted program
复制代码


通过 Falco 可以监视 shell 何时在容器中运行、容器在哪里挂载、对敏感文件的意外读取、出站网络尝试以及其他可疑调用。Sysdig 提供了更多的容器故障排查资料。

Banyanops Collector

Banyanops Collector 是一个 Docker 容器镜像静态分析框架。


Collector 是一个 Banyanops 提供支持的开源实用程序,它可以用来查看 Docker 容器中的镜像文件。开发人员可以使用 Collector 收集容器数据,执行安全策略等等。


首先,Banyanops 既支持私有容器注册中心,也可以作为 Docker Hub 上的容器运行。Banyanops 还提供 SaaS 产品,可以提供更深入的数据分析,因此,如果遇到功能受限的情况,你可能需要购买其服务。

其他优秀开源工具

  • Dockerscan:一个 Git 提交次数不多的安全漏洞扫描器。

  • Batten:一个类似于 Docker Bench 的审计工具包,但是他们提供的支持并不活跃。

  • BlackDuck Docker security:一个以 Web 服务形式构建的容器镜像安全扫描工具。遗憾的是,目前不建议以 Web 的形式使用该产品。

  • Inspec:一个具有 Docker 容器测试功能的审核、测试框架。

具体情况,具体分析

由于容器化已经发展成为一种流行的部署方式,因此最重要的是需要使用适当的安全控制来增强这些容器。值得庆幸的是,你会发现一个强大的开源安全解决方案生态系统,这些解决方案是为许多不同的环境定制的。


这些工具的整体强度取决于检查的深度。有效性还取决于 CVE 数据库和基准本身是否及时进行漏洞更新并发布新的最佳实践。值得庆幸的是,各种工具现在正在努力减少零日漏洞的利用以及容器漏洞被利用的窗口期。


开发人员也会被那些具有更好体验的工具所吸引,这些体验更好的工具能够减少无效日志以及重复数据。这类偏好只能通过反复试验和试错来确定,这取决于你的构建活动和个人偏好。


原文链接:


https://techbeacon.com/security/10-top-open-source-tools-docker-security


2020-01-01 12:456276

评论

发布
暂无评论
发现更多内容

原生Mac视频下载器Downie4许可证下载v4.6.17

Rose

Mac 视频下载工具 Downie 4 下载 Downie4许可证 Downie 4 Mac版 Downie 4中文版

Exposure X7 Bundle下载|专业的照片处理插件套装

Rose

滤镜插件 Exposure X7 Bundle下载 Exposure X7中文版

Mac强大音频采样器Kontakt 7 激活版

Rose

mac音频采样器 Kontakt 7激活版 Native Instruments Kontakt 7 mac下载

真香!阿里最新出品Java面试核心讲(终极版),Github已星标50K

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

太爆了!阿里最新出品2023版JDK源码学习指南,Github三天已万赞

Java你猿哥

Java 源码 jdk 多线程 jdk源码

阿里P8整理的《百亿级并发系统设计》实战手册,实在是太香了

程序知音

Java 高并发 java架构 Java进阶 后端技术

深入理解 ThreadLocal:原理及源码解读

Java你猿哥

Java 源码 多线程 ssm ThreadLocal

魔兽争霸3冰封王座中文下载_冰封王座 mac下载_解除8M地图限制

Rose

魔兽争霸3 冰封王座 Warcraft III Mac游戏下载

2023最新版互联网Java高级工程师面试八股文出炉!面面俱到,太全了

架构师之道

编程 java面试

互联网广告全国精准投放合作 全媒体广告平台代理加盟 利润80%

互联网创业践行者

创业 互联网广告 互联网创业

弯道超车!阿里高工新产Java面试速成指南,面试骚操作都在里面了

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

卷起来了!阿里最新出品“微服务全阶笔记”,涵盖微服务全部操作

做梦都在改BUG

Java 架构 微服务 Spring Cloud spring cloud alibaba

PoseiSwap以2500万美元估值,再获新一轮融资

EOSdreamer111

神界原罪2游戏下载|DLC终极版|Mac游戏专区

Rose

神界:原罪2 神界原罪 Mac游戏 神界原罪 破解版下载

华东手机银行用户经营洞察2023

易观分析

金融 手机银行

PoseiSwap以2500万美元估值,再获新一轮融资

西柚子

肝完阿里最新Java并发编程全优笔记,我成功晋升公司架构组

做梦都在改BUG

Java 并发编程

小白白也能学会的 PyQt 教程 —— 图像类及图像相关基础类介绍

繁依Fanyi

Python PyQt

Java 创建一个大文件

HoneyMoose

Mac平台上的条形码生成工具分享~

真大的脸盆

Mac Mac 软件 条形码生成工具 条形码软件

JDK源码怎么学?看这篇文章就够了!

Java永远的神

Java 程序员 多线程 jdk源码 架构师

由斯坦福、Nautilus Chain等联合主办的 Hackathon 活动,现已接受报名

石头财经

从源码分析可重入锁(ReentrantLock)

做梦都在改BUG

Java 源码 多线程 ReentrantLock

PoseiSwap以2500万美元估值,再获新一轮融资

股市老人

2023最新最全的Java面试八股文小抄开源!带你摸熟 20+ 互联网公司面试考点

采菊东篱下

Java 面试

HashMap 底层是如何实现的?

做梦都在改BUG

Java hashmap

OKX和UniSat联手革新比特币区块链上的BRC-20

币离海

JVM调优神器,运用 Arthas 释放 Java应用性能的全部潜力

做梦都在改BUG

Java JVM 性能调优 Arthas

2023世亚数字经济博览会|世亚数博会

AIOTE智博会

数博会 世亚数博会 数字经济展 数字经济博览会 数字经济展会

内部消息!阿里首次10亿级并发系统设计文档,Github都为之低头?

Java你猿哥

架构 ssm 高并发 并发系统设计 并发系统

5个编写高效Makefile文件的最佳实践

小万哥

c++ Linux 程序员 面试 后端

  • 扫码加入 InfoQ 开发者交流群
值得推荐的 Docker 安全开源工具_容器_Bill Doerrfeld_InfoQ精选文章