GMTC全球大前端技术大会(北京站)门票9折特惠截至本周五,点击立减¥480 了解详情
写点什么

InfoQ 访谈:Docker 生态系统的安全形势及最佳实践

2019 年 5 月 13 日

InfoQ访谈:Docker生态系统的安全形势及最佳实践

作为其开源安全现状年度报告的一部分,安全公司Snyk发布了一份特别针对Docker安全报告,该报告显示容器镜像中的漏洞广泛存在。Snyk 的报告显示,DockerHub 中的 10 大官方 Docker 镜像(包括 node、httpd、postgres、nignx 等在内)每个至少有 30 个漏洞,其中有 500 多个漏洞的 node 镜像是顶级攻击者。Docker 表示,该问题甚至涉及 Docker 认证镜像,而这些镜像必须符合最佳实践并通过某些基线测试。


Snyk 提供的绝对数字确实令人担忧,但是,它们可能不代表该问题最困难的部分。在很多情况下,修复 Docer 镜像中的漏洞很容易,使用其依赖项的非易受攻击版本重建镜像就可以了。Snyk 表示,多达 44%的 Docker 镜像包含较新版本基础镜像中已删除的漏洞。更令人担忧的是,开发人员普遍缺乏安全的自主意识,他们往往没有意识到自身角色的重要性。Snyk 的调查显示,80%的开发人员在开发过程中不会测试他们的镜像,而 50%的开发人员根本没有扫描他们的镜像是否存在漏洞。


Snyk 表示,处理 Docker 镜像漏洞的最佳方法取决于三个关键实践。首先,作为一项卫生规则,对于给定的目的,开始的时候,选择使用最小的 Docker 镜像是非常便利的,不要添加任何不必要的包。其次,在开发和生产过程中都应该定期扫描镜像。最后,应该把镜像作为 CI/CD 管道的一部分加以重建,并且首选多阶段构建,因为它们有助于优化镜像。


Snyk 的开源安全现状报告的范围比 Docker 生态系统更广。基于对 500 多位开源开发人员和维护人员的调查,以及来自公共应用程序注册表、库数据集和 GitHub 存储库的数据最终完成了该报告。


InfoQ 就此问题采访了 Snyk 开发人员倡导者 Liran Tal 以获得更多信息。


InfoQ:Snyk 的报告显示,最近几年,开源库中发现的漏洞数量急剧增加。您是否能谈谈您是如何得到这个结论的?


Liran Tal:根据 Snyk 从cvedetails收集的信息,Snyk 追踪了在一些最流行的 Linux 发行版上公开的安全状态披露信息。Snyk 发现,红帽企业版 Linux、Ubuntu 和 Debian 中的安全漏洞在 2018 年增长了 3 倍。没错,没有漏掉小数点,增长了近 3.5 倍。

由于 Snyk 根据严重程度查看漏洞的细分,我们发现, 2017 年和 2018 年继续呈现了这个趋势,暴露的严重漏洞数量在增加。


InfoQ:提到 Docker,底层操作系统和系统库的安全是至关重要的。您能否对该报告提出的问题发表一下评论吗?


Liran Tal:Docker 镜像几乎总是会带有已知的漏洞,这也伴随着巨大的价值。系统库当然是操作系统中常见的工件,是构建 Docker 镜像的基础。随着越来越多的系统库和工具绑定在 Docker 镜像中,在镜像中发现安全漏洞的风险也随之增加。

大多数漏洞来自我们不显式使用的库。在大多数生态系统中,75%或更多的依赖项不是直接引入的,是通过我们使用的库隐式拉入的,Snyk 发现,所追踪的总体漏洞的 78%来自间接依赖项。

随着 2019 年容器持续在 IT 领域中的爆发性投入使用,容器安全威胁不断上升,现在,组织比以往更加重视把确保镜像安全放在首要位置。


Snyk 的开源安全报告有 50 页之多,包含了很多本文中没有提及的细节。如果您对软件安全及如何改进它感兴趣,请务必阅读该报告。


阅读英文原文Security Landscape of the Docker Ecosystem and Best Practices


2019 年 5 月 13 日 08:005124
用户头像

发布了 199 篇内容, 共 67.4 次阅读, 收获喜欢 276 次。

关注

评论

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

用例2

z

(28DW-S8-Day9) 区块链如何对坏节点容错:拜占庭将军问题

mtfelix

28天写作 拜占庭容错 拜占庭将军

区块链架构下的智慧城市发展加速

CECBC区块链专委会

信息安全

秒杀系统的难点在哪?如何突破?

跳蚤

递归的人生哲学

Nick

数据结构 算法 递归

产品经理训练营知识汇总

SilentMacUser

产品经理 产品经理训练营 邱岳

MySQL连接超时关闭问题解决

flyer0126

MySQL MySQL优化

Elasticsearch Query Phase

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

不写代码可以写爬虫程序吗?老师说可以,无编码学爬虫之一。

梦想橡皮擦

Python 28天写作 2月春节不断更

SwiftUI数据流之State&Binding

kingnight_pig

ios swift SwiftUI

SwiftUI数据流之StateObject& ObservedObject探讨

kingnight_pig

ios swift SwiftUI

区块链与数字货币的发展到底有什么意义

CECBC区块链专委会

数字货币

第十三周作业&总结

胡益

join为啥会阻塞主线程?

叫练

join

架构师训练营 4 期 第9周

引花眠

架构师训练营 4 期

SQL Server 多表数据增量获取和发布 1

happlyfox

学习 28天写作 2月春节不断更

作业 - 第四章 业务流程与产品文档 (二)

hao hao

区块链一文知

秋呈

区块链+

数字经济发展的时代特色

CECBC区块链专委会

数字经济

浅谈JVM 垃圾回收原理

跳蚤

为何要构建团队契约

Bruce Talk

敏捷 Agile

Java 中 Vector 和 SynchronizedList 的区别

看山

Java 线程安全 vector SynchronizedList

「架构师训练营 4 期」 第八周 - 001&2

凯迪

架构师训练营 4 期

优化JAVA代码总结

跳蚤

数据库规范设计说明书 整理

edd

翻译:《实用的Python编程》03_01_Script

codists

Python

【管理笔记16】行销的获利性分析

俊毅

28天写作

架构师训练营第八周作业 - 命题作业

阿德儿

第9周作业

cafebaby

并发与并行

ES_her0

28天写作

APP启动流程图

林亚超

InfoQ访谈:Docker生态系统的安全形势及最佳实践-InfoQ