你的Docker容器可能充满了安全漏洞​

译文 精选
云计算 云原生 云安全
本文将讨论 Docker Scout 的基本工作流,如何对其配置、以及其他特定功能技巧的演示。同时,你也可以了解到如何将 Docker Scout 集成到自己的 DevOps 工作流中。

译者 | 陈峻

审校 | 重楼

近年来,随着网络威胁的增加,容器化设置中的漏洞逐渐给各类应用程序带来不同程度的安全风险。特别是随着 DevOps 领域的不断发展,各种容器的使用频率也逐步攀升,这让各类安全漏洞也逐渐成为了话题点。

而旨在提高容器安全性的高级工具--Docker Scout,通过支持漏洞检测、软件物料清单( Software Bill of Materials,SBOM生成以及策略实施,从而保护 Docker 容器的生命周期,进而使之更简化和有效。

下面,我和你讨论 Docker Scout 的基本工作流,如何对其配置以及其他特定功能技巧演示。同时,也可以了解到如何将 Docker Scout 集成到自己的 DevOps 工作流中。

了解 Docker Scout

作为一款安全必备工具箱Docker Scout 可以通过与 Docker 的无缝集成协助你进行漏洞分析、依赖关系和合规性研判进而最大限度地提高容器的安全性。

在使用过程中,Docker Scout 可以扫描容器镜像以识别漏洞。同时,它会创建 SBOM并遵循安全策略。借助 Docker Scout监控容器化应用风险变得易于管理简单明了。

Docker Scout 工作流

如图所示, Scout 使用户能够通过跟踪他们的 Docker 镜像以扫清漏洞。同时,它可以被轻松集成到工作流程中实时扫描的方式提供有关目标容器中软件组件的更多详细信息。当然,可以通过生成SBOM来确保不包含任何易受攻击的代码片段进而允许用户跟踪和评估目标应用程序中嵌入的所有组件和依赖项。

此外,由于Docker Scout 的策略实施功能可以验证容器的镜像是否被“锁定(locked-in)”。因此,它可以帮助开发团队遵守行业最佳实践进而轻松主动地保护容器化应用。

Docker Scout 的主要特点

  • 漏洞扫描:Docker Scout 可以检测容器中的已知漏洞。
  • 生成SBOM:Docker Scout 能够生成详细的软件物料清单。
  • 策略实施:Docker Scout 确保镜像符合既定的安全标准。

因此,如果Docker Scout 能够被恰当地集成到现有的软件工具和工作流中将能在 Docker 生态系统中良好运行,可以在不减慢开发速度的情况下简化容器的安全性。

如何设置 Docker Scout?

Docker Scout 设置

Docker Scout 设置起来既快速又简单。以下是最常见的入门步骤

先决条件和安装

在安装Docker Scout之前,请确保的Docker能够按预期运行起来,以便Docker Scout与Docker桌面或Docker引擎配合使用。要安装Docker Scout,请运行以下命令:

docker scout init
  • 1.

这将安装Docker Scout及其所有依赖项。至此为扫描镜像做好了准备。

首次运行扫描

请使用以下命令运行第一次扫描。

docker scout quickview
  • 1.

完成后,它将为镜像快速提供安全概述。例如,要扫描自己的应用请输入

docker scout quickview my-app:latest
  • 1.

此命令将扫描的Docker镜像,并提供漏洞和合规性问题的摘要。

解读扫描结果

Docker Scout扫描结果以章节形式呈现其中

  • 漏洞部分:显示了在镜像中发现的任何CVE。
  • SBOM部分:显示镜像的软件物料清单。
  • 策略违规部分:列出任何被发现的违反安全策略的地方

这些结果有助于了解Docker镜像的安全状态。下面,我们来详细了解Docker Scout关键功能是如何保护容器镜像的:

漏洞扫描

漏洞扫描工作流

为了在镜像查找已知漏洞Docker Scout扫描每个包,并将其与CVE数据库进行核对。当找到匹配项时,它会标记危险并显示严重程度以及修复方法。这有助于在问题镜像投入生产环境之前提前予以处理

SBOM

Docker Scout为每个扫描的镜像生成一个唯一的SBOM。概述了形成镜像的所有软件组件。

SBOM可用于跟踪所有依赖关系,以方便识别那些存在于第三方软件包中的漏洞。这对于提高供应链安全性和镜像的完整性都是至关重要

安全策略和补救建议

可以使用Docker Scout设置安全策略例如可接受的漏洞评级),以及确定潜在风险。如果镜像违反了相关策略,Docker Scout会提出采取补救措施以便你在部署容器之前建立最佳安全实践。

将Docker Scout集成到CI/CD管道中

为了自动化CI/CD管道中的安全检查你可以将Docker Scout集成到DevOps工作流以便从一开始就确保安全性成为管道的一部分。

将Docker Scout与GitHub Actions/GitLab CI结合使用

Docker Scout与Github集成

将Docker Scout与GitHub Actions或GitLab CI集成可以自动化构建过程中的安全性。例如,在GitHub Actions中,可以对每次推送执行Docker Scout扫描以确保镜像在部署前安全

以下是针对GitHub Actions的基本配置:

name: Docker Security Scan
on:
 push:
 branches:
 - main
jobs:
 security-scan:
 runs-on: ubuntu-latest
 steps:
 - name: Checkout code
 uses: actions/checkout@v2
 - name: Run Docker Scout Scan
 run: |
 docker scout init
 docker scout quickview my-app:latest
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

此配置会在每次将更改推送到 main 分支时,运行安全扫描。

在部署之前自动执行安全检查

将 Docker Scout 引入 CI/CD 管道有助于及早发现安全问题。也就是说,在次构建或更新镜像时,Docker Scout 都会对其进行扫描如果发现漏洞,则构建失败。此举可以有效地防止将不安全的镜像部署到生产环境中。

以下是 GitLab CI 的配置示例:

stages:
 - scan
docker_scan:
 stage: scan
 script:
 - docker scout init
 - docker scout quickview my-app:latest
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

通过此设置,Docker Scout 将作为构建过程的一部分自动运行。

安全容器镜像开发的最佳实践

虽然 Docker Scout 有助于识别漏洞,但我们仍需配合从如下方面来降低安全风险。

减少攻击面

最大限度地减少镜像中的依赖项数量毕竟包含的库越少,潜在漏洞就越少。使用类似 Alpine 这样的最小基础镜像,并且仅包含基本组件。

定期更新和修补

容器安全是一项持续的工作定期更新镜像,以包含最新的补丁。当然,Docker Scout 有助于跟踪漏洞,方便掌握必要的更新。

利用 Docker Scout 的洞见

使用 Docker Scout 的洞见来持续改进的安全态势这包括:查看漏洞报告,参考修复建议,并定期更新的策略。毕竟,持续扫描和改进能够及时验证镜像是否安全。

常见问答

  • Docker Scout 如何检测 Docker 镜像中的漏洞?
  • Docker Scout 会扫描容器镜像,以查找已知的 CVE。它是通过将镜像的组件与 CVE 数据库进行比对实现
  • 可以将 Docker Scout 集成到 CI/CD 管道中吗?
  • 是的,Docker Scout 可以与 CI/CD 管道无缝集成。例如,它可与 GitHub Actions 和 GitLab CI 相结合,在构建过程中运行自动安全扫描。
  • Docker Scout 中的SBOM是什么?
  • SBOM 可以跟踪 Docker 镜像中存在的所有软件组成部分和依赖项进而帮助开发者监控容器与外部库相关联漏洞
  • 如何配置 Docker Scout 以实施安全策略?
  • 通过在 Docker Scout 中自定义安全策略实施诸如:判定漏洞严重性级别加固依赖项的最低补丁版本等策略
  • 如果 Docker Scout 在镜像中发现漏洞,应该如何处置
  • Docker Scout 不但能突出显示现有的漏洞而且可以提供严重性评级。开发者应该根据所提供修复步骤,在容器部署之前及时解决发现的问题。

作为一种提供容器安全工具,Docker Scout 能够自动检查和扫描漏洞并执行策略,从而帮助 DevOps 团队改进 Docker 对其镜像的整体保护。同时,将 Docker Scout 实施到现有的 CI/CD 管道中可以确保开发流程中的安全构建。

此外,Docker Scout 也能赋能用户主动纠正可能违规的软件行为确保在开发的整个生命周期中遵循既定的策略。而在效率上,Docker Scout 则能够让用户在几个小时内构建、测试和部署安全的应用从而大幅提高了生产力。

译者介绍

陈峻(Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。

原文标题:Your Docker Containers Are Probably Full of Security Holes—Here’s How to Fix Them Now,作者:Advait Patel

责任编辑:姜华 来源: 51CTO
相关推荐

2019-05-13 14:38:57

数据中心互联网络

2018-01-26 10:49:19

2022-04-06 21:32:07

安全漏洞网络安全IT

2014-04-18 10:18:15

2014-11-26 09:27:57

Docker开源应用容器引擎

2009-02-17 14:07:21

2010-07-26 15:37:12

telnet安全漏洞

2019-04-23 15:38:42

2019-07-28 19:56:51

2015-05-05 15:50:27

波音787漏洞飞机失控

2014-06-03 09:23:41

2014-06-03 11:36:18

2019-05-23 11:23:50

2023-09-08 00:12:40

2009-03-07 09:59:16

2020-10-09 09:52:00

漏洞分析

2011-12-26 11:22:48

2021-05-12 10:46:23

漏洞BINDDNS服务器

2009-04-11 21:41:00

2010-03-05 15:46:05

点赞
收藏

51CTO技术栈公众号