阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

Clair 助力 Docker 镜像安全

  • 2016-01-03
  • 本文字数:1661 字

    阅读完需:约 5 分钟

Clair CoreOS 最近发布的一款开源容器漏洞扫描工具。该工具可以交叉检查Docker 镜像的操作系统以及上面安装的任何包是否与任何已知不安全的包版本相匹配。漏洞是从特定操作系统的通用漏洞披露( CVE )数据库获取。该工具当前支持的操作系统包括 Red Hat Ubuntu Debian

通过从镜像文件系统中抽取静态信息以及维护一个组成镜像的不同层之间的差异列表,可以大大减少分析时间,而且不需要实际运行可能存在漏洞的容器。如果镜像所依赖的一个靠下的层存在漏洞,那么该镜像就会被识别为有漏洞,而且,通过使用图存储,可以避免重新分析镜像。

CoreOS使用Clair 分析用户上传到 Quay.io (一个类似 DockerHub 的容器注册中心)的 Docker 镜像。现已发现, Quay 上的大多数镜像都存在漏洞,甚至是像 Heartbleed(80%)或 Ghost(67%)这样的著名漏洞。2015 年初,一份有关 DockerHub 的报告推断,至少有30% 的官方镜像和多达40% 的用户上传镜像包含高级漏洞。期间,在 DockerCon 2015 欧洲大会上,除了其他安全相关的特性外,Docker 还宣布了他们自己的镜像扫描和漏洞检测项目 Nautilus 。Nautilus 并不开源,而且只能运行在 Docker Hub 上。

市场上还有其他容器漏洞检测工具,比如 IBM 的 Vulnerability Advisor FlawCheck 。它们的主要不同之处在于它们是专有的,在 IBM 的场景中,仅应用于托管在 Bluemix 云产品上的镜像。IBM 的解决方案还支持基本的安全策略(比如,“密码使用期限应该为90 天”),会以同静态代码分析工具类似的方式生成警告。

当然,这些工具可以确定是否存在可能有漏洞的包,但不能验证它们实际上是否已被利用。另外,它们也无法检测运行实例中的动态行为,比如在运行时安装有漏洞的包版本。

Clair 提供了一个 JSON API ,并且可以在本地运行以检查容器镜像,例如,作为持续集成或持续交付管道的一部分。

下面的代码片段初始化(默认配置)并启动了一个 Clair 本地服务:

复制代码
$ git clone https://github.com/coreos/clair.git
# 从 Github 克隆 Clair 库
$ cp clair/config.example.yaml clair/config/config.yaml
# 使用默认设置创建一个初始配置文件
$ docker pull quay.io/coreos/clair:latest
# 下载一个安装了 Clair 的 CoreOS 容器镜像
$ docker run -p 6060:6060 -p 6061:6061 -v clair:$PWD/clair/config:ro quay.io/coreos/clair:latest --config=/config/config.yaml
# 启动服务——务必等待获取初始漏洞列表(消息 “升级器:升级完成”)

如果管道生成了可以部署的不可变Docker 镜像,那么漏洞扫描就可以在某个阶段成为安全测试的一部分,这可能会中断管道。例如,下面的代码分析一个名为“tmpimage”的Docker 镜像

复制代码
$ go get -u github.com/coreos/clair/contrib/analyze-local-images
# 需要安装 go
$ $GOPATH/bin/analyze-local-images tmpimage
# analyze-local-images 是一个包装器脚本,分析镜像中的所有层

上述代码片段查找镜像中任意层上的高级或严重漏洞。通过抽取每个层然后单个提交给 Clair 的 API ,可以指定其他的严重性等级。

单个层的完整漏洞列表(任意严重性等级,从可忽略到严重)可以通过稍后的分析生成,例如通过运行下面的代码:

复制代码
$ curl -s -H "Content-Type: application/json" -X POST -d \
'{
"ID": "39bb80489af75406073b5364c9c326134015140e1f7976a370a8bd446889e6f8",
"Path": "/tmp/docker/layers/39bb80489af75406073b5364c9c326134015140e1f7976a370a8bd446889e6f8.tar"
}' \
127.0.0.1:6060/v1/layers
# 向 Clair 提交层,分析并存储在 DB 中
$ curl -s "127.0.0.1:6060/v1/layers/39bb80489af75406073b5364c9c326134015140e1f7976a370a8bd446889e6f8/vulnerabilities?minimumPriority=Negligible" | python -m json.tool > all_vulnerabilities.json
# 获取在层里找到的所有漏洞

此外,CoreOS 最近还宣布了 Tectonic CoreOS 的容器即服务产品)中的分布式信任计算(DTC)能力。DTC 在整个栈上建立了一个受信任的加密链,从应用程序层到容器、操作系统,再到硬件。

查看英文原文: Clair Helps Secure Docker Images

2016-01-03 18:004234
用户头像

发布了 1008 篇内容, 共 374.3 次阅读, 收获喜欢 341 次。

关注

评论

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

阿里云 EMAS & 魔笔:5月产品动态

移动研发平台EMAS

阿里云 DevOps 消息推送 低代码平台

2023年数智人力管理不容错过的2大神器

用友BIP

人力资源 数智人力

Postman 前后端都适用吗?

Liam

前端 后端 开发 Postman API

Mybatis的parameterType造成线程阻塞问题分析 | 京东云技术团队

京东科技开发者

mybatis CPU告警 企业号 6 月 PK 榜 线程阻塞

世界500强潍柴动力携手用友BIP全球司库打造资金管理系统,正式启动!

用友BIP

全球司库

祝贺!Databend 入选 ICT 中国可信云优秀云原生创新案例

Databend

详解驱动开发中内核PE结构VA与FOA转换

华为云开发者联盟

开发 华为云 驱动开发 华为云开发者联盟 企业号 6 月 PK 榜

SpringBoot 升级所踩过的坑 (二)

技术小生

6 月 优质更文活动

黑盒不黑:跨端 C/C++ 库一键源码调试方案

阿里技术

调试

最强攻略 | 1分钟带你了解内测,成为BUG小能手!

百度Geek说

百度 测试 企业号 6 月 PK 榜 6 月 优质更文活动

不愧是阿里P8出手的并发编程笔记!颠覆了我以往"正确"的认知

程序知音

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

NFTScan 成为 CMC 官方 NFT 数据合作伙伴

NFT Research

crypto NFT

【Clickhouse】ReplaceingMergeTree引擎final实现合并去重探索 | 京东云技术团队

京东科技开发者

OLAP final clickhosue 企业号 6 月 PK 榜 合并去重

“站在后天看明天”:华为给金融广厦架起数字栋梁

脑极体

金融 数字化 智能化

this 之谜揭底:从浅入深理解 JavaScript 中的 this 关键字(一)

控心つcrazy

JavaScript this指针 this

服务型企业为什么要做财务共享中心?

用友BIP

主动发现系统稳定性缺陷:混沌工程 | 京东云技术团队

京东科技开发者

混沌工程 系统 系统工程 混沌工程实践 企业号 6 月 PK 榜

Kubernetes 集群管理:Kurator or Kubespray

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

中国银行开启数智人力管理新征途

用友BIP

人力资源 数智人力

软件测试 | Web自动化测试

测吧(北京)科技有限公司

测试

软件测试 | Selenium验证页面元素

测吧(北京)科技有限公司

测试

苹果MR Vision Pro将会带动哪些零部件出货?

元器件秋姐

苹果 AR 交互 vr MR

揭秘阿里云Flink智能诊断利器——Fllink Job Advisor

阿里云大数据AI技术

大数据 flink 企业号 6 月 PK 榜

金融集团企业资金管理难度加倍,用友BIP如何破解这个难题?

用友BIP

资金管理

横空出世!京东技术专家狂推的Redis笔记,实战和原理两开花

程序知音

Java 数据库 redis Java进阶 后端技术

2022 中国开源创新大赛,时序数据库 TDengine 榜上有名

爱倒腾的程序员

涛思数据 时序数据库 ​TDengine

理论+示例,详解GaussDB(DWS)资源管理

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

AI老师的作者:17岁的高中生,可能是你想要孩子成为的样子

无人之路

AI 教育 ChatGPT

GreptimeDB v0.3 正式发布|分布式能力全面提升

Greptime 格睿科技

数据库 rust 云原生 分布式数据库 时序数据库

技术赋能-混流编排功能,助力京东618直播重保 | 京东云技术团队

京东科技开发者

监控 直播技术 直播推流 企业号 6 月 PK 榜 重保

TiDB 7.1 LTS 发版:为关键业务提供业务稳定性和多租户场景支持

编程猫

TiDB pingCAP

Clair助力Docker镜像安全_DevOps & 平台工程_Manuel Pais_InfoQ精选文章