Docker
和Snyk
最近建立了合作伙伴关系,以提供容器漏洞扫描。这对您意味着什么?Snyk
现在与Docker Hub
集成在一起,可以扫描官方镜像。此外,Docker
已将Snyk
扫描直接集成到Docker Desktop
客户端中。
在建立Snyk
合作伙伴关系之前,我们没有简单的方法可以在本地扫描容器漏洞。相反,我们必须构建我们的应用程序,并且将其推送到我们的存储库中才能进行漏洞扫描。
最佳做法是将安全性
推到最左侧。向左推
是什么意思?我第一次听到这个词是在Tanja Janca
(又名SheHacksPurple
)在苏黎世DevOpsDay
的一次演讲中。向左推
的想法是尽可能早地在开发过程中集成安全性。我们越早开始进行安全检查,对组织来说就越便宜,更有效。
Docker Scan
向我们本地开发环境的方向发展。从DevSecOps
的角度来看,这是一项了不起的成就。这样的话,我们可以在推送任何代码之前在本地捕获安全漏洞。
向左推
Docker
在2.3.6.0
或更高版本中包括了一个名为的新命令docker scan
。运行docker scan
命令时,将根据Snyk
安全引擎扫描本地镜像,从而使您可以安全查看本地Dockerfile
和本地镜像。
Snyk
引擎会扫描镜像或Dockerfiles
中的常见漏洞和披露(CVE
),并提供有关CVE
修复的建议。
通过Docker CLI
,我们可以启动漏洞扫描。
确保您已安装Docker 2.3.6.0
或更高版本
Mongo
数据库镜像进行测试 docker pull mongo:latest
Mongo
镜像进行扫描 docker scan mongo:latest
扫描mongo:latest
扫描镜像和扫描镜像并引用Dockerfile
有什么区别?当包括与镜像关联的Dockerfile
时,将提供更详细的结果。
linux_tweet_app
演示应用程序 git clone https://github.com/vegasbrianc/linux_tweet_app.git
docker build -t linux_tweet_app:1.0 .
docker scan linux_twee_app:1.0
docker扫描没有Dockerfile参考
请注意,现在的结果表明Dockerfile
中的哪个层包含哪个漏洞。
关于查看docker
扫描的输出,我们有几个不同的选项。您可以以JSON
格式或依赖关系树的形式查看结果。必须承认,依赖关系树在确定镜像的结构方面很有用。
向左推将帮助您的组织在遇到开发或测试环境漏洞之前就发现它们。如前所述,将安全性向左推的越多,节省组织的时间和金钱就越多。通过下面提供的图表描述了国家标准技术研究错误(这也适用于漏洞),修复这些错误的开发成本$80
左右。相比之下,如果等到后期上线之后再修复这些错误(漏洞)要花费7600
美元。
Docker
扫描可帮助我们更快地向左推,发现和缓解漏洞,从而节省了我们的时间和金钱。
基础设施不足对软件测试的经济影响报告NIST 2002年5月