
譯者 | 陳峻
審校 | 重樓
近年來,隨著網(wǎng)絡(luò)威脅的增加,容器化設(shè)置中的漏洞逐漸給各類應(yīng)用程序帶來不同程度的安全風(fēng)險。特別是隨著 DevOps 領(lǐng)域的不斷發(fā)展,各種容器的使用頻率也逐步攀升,這讓各類安全漏洞也逐漸成為了話題中的焦點。
而旨在提高容器安全性的高級工具--Docker Scout,通過支持漏洞檢測、軟件物料清單( Software Bill of Materials,SBOM)的生成、以及策略的實施,從而保護 Docker 容器的生命周期,進而使之更簡化和更有效。
下面,我將和你討論 Docker Scout 的基本工作流,如何對其配置、以及其他特定功能技巧的演示。同時,你也可以了解到如何將 Docker Scout 集成到自己的 DevOps 工作流中。
了解 Docker Scout
作為一款安全必備的工具箱,Docker Scout 可以通過與 Docker 的無縫集成,協(xié)助你進行漏洞分析、依賴關(guān)系和合規(guī)性研判,進而最大限度地提高容器的安全性。
在使用過程中,Docker Scout 可以掃描容器的鏡像,以識別漏洞。同時,它也會創(chuàng)建 SBOM,并遵循安全策略。借助 Docker Scout的監(jiān)控,容器化應(yīng)用的風(fēng)險將變得易于管理且簡單明了。

Docker Scout 的工作流
如圖所示, Scout 使得用戶能夠通過跟蹤他們的 Docker 鏡像以掃清漏洞。同時,它可以被輕松地集成到工作流程中,以實時掃描的方式提供有關(guān)目標容器中軟件組件的更多詳細信息。當然,它也可以通過生成SBOM,來確保不包含任何易受攻擊的代碼片段,進而允許用戶跟蹤和評估目標應(yīng)用程序中嵌入的所有組件和依賴項。
此外,由于Docker Scout 的策略實施功能可以驗證容器的鏡像是否被“鎖定(locked-in)”。因此,它可以幫助開發(fā)團隊遵守行業(yè)的最佳實踐,進而輕松、主動地保護容器化的應(yīng)用。
Docker Scout 的主要特點
- 漏洞掃描:Docker Scout 可以檢測容器中的已知漏洞。
- 生成SBOM:Docker Scout 能夠生成詳細的軟件物料清單。
- 策略實施:Docker Scout 會確保你的鏡像符合既定的安全標準。
因此,如果Docker Scout 能夠被恰當?shù)?/span>集成到現(xiàn)有的軟件工具和工作流中,將能在 Docker 生態(tài)系統(tǒng)中良好運行,可以在不減慢開發(fā)速度的情況下,簡化容器的安全性。
如何設(shè)置 Docker Scout?

Docker Scout 的設(shè)置
Docker Scout 設(shè)置起來既快速又簡單。以下是最常見的入門步驟:
先決條件和安裝
在安裝Docker Scout之前,請確保你的Docker能夠按預(yù)期運行起來,以便Docker Scout與Docker桌面或Docker引擎配合使用。若要安裝Docker Scout,請運行以下命令:
docker scout init這將安裝Docker Scout及其所有依賴項。至此,你已為掃描鏡像做好了準備。
首次運行掃描
請使用以下命令運行第一次掃描。
docker scout quickview完成后,它將為你的鏡像快速提供安全概述。例如,若要掃描自己的應(yīng)用請輸入:
docker scout quickview my-app:latest此命令將掃描你的Docker鏡像,并提供漏洞和合規(guī)性問題的摘要。
解讀掃描結(jié)果
Docker Scout的掃描結(jié)果會以章節(jié)形式呈現(xiàn)。其中:
- 漏洞部分:顯示了在鏡像中發(fā)現(xiàn)的任何CVE。
- SBOM部分:顯示了鏡像的軟件物料清單。
- 策略違規(guī)部分:列出任何被發(fā)現(xiàn)的違反安全策略的地方。
這些結(jié)果有助于你了解Docker鏡像的安全狀態(tài)。下面,我們來詳細了解Docker Scout的關(guān)鍵性功能是如何保護容器鏡像的:
漏洞掃描

漏洞掃描的工作流
為了在鏡像中查找已知的漏洞,Docker Scout會掃描每個包,并將其與CVE數(shù)據(jù)庫進行核對。當找到匹配項時,它會標記危險并顯示其嚴重程度、以及修復(fù)方法。這有助于在將問題鏡像投入生產(chǎn)環(huán)境之前,提前予以處理。
SBOM
Docker Scout為每個掃描的鏡像生成一個唯一的SBOM。它概述了形成鏡像的所有軟件組件。
SBOM可用于跟蹤所有的依賴關(guān)系,以方便識別那些存在于第三方軟件包中的漏洞。這對于提高供應(yīng)鏈安全性和鏡像的完整性都是至關(guān)重要的。
安全策略和補救建議
你可以使用Docker Scout來設(shè)置安全策略(例如可接受的漏洞評級),以及確定潛在的風(fēng)險。如果鏡像違反了相關(guān)策略,Docker Scout會提出采取補救措施,以便你在部署容器之前,為其建立最佳的安全實踐。
將Docker Scout集成到CI/CD管道中
為了自動化CI/CD管道中的安全檢查,你可以將Docker Scout集成到DevOps工作流,以便從一開始就確保安全性成為管道的一部分。
將Docker Scout與GitHub Actions/GitLab CI結(jié)合使用

Docker Scout與Github集成
將Docker Scout與GitHub Actions或GitLab CI相集成,可以自動化構(gòu)建過程中的安全性。例如,在GitHub Actions中,你可以對每次推送都執(zhí)行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此配置會在每次將更改推送到 main 分支時,運行安全掃描。
在部署之前自動執(zhí)行安全檢查
將 Docker Scout 引入 CI/CD 管道,將有助于及早發(fā)現(xiàn)安全問題。也就是說,在每一次構(gòu)建或更新鏡像時,Docker Scout 都會對其進行掃描,如果發(fā)現(xiàn)漏洞,則構(gòu)建失敗。此舉可以有效地防止將不安全的鏡像部署到生產(chǎn)環(huán)境中。
以下是 GitLab CI 的配置示例:
stages:
- scan
docker_scan:
stage: scan
script:
- docker scout init
- docker scout quickview my-app:latest通過此設(shè)置,Docker Scout 將作為構(gòu)建過程的一部分自動運行。
安全容器鏡像開發(fā)的最佳實踐
雖然 Docker Scout 有助于識別漏洞,但我們?nèi)孕枧浜蠌娜缦路矫?/span>來降低安全風(fēng)險。
減少攻擊面
最大限度地減少鏡像中的依賴項數(shù)量,畢竟包含的庫越少,潛在漏洞也就越少。可使用類似 Alpine 這樣的最小基礎(chǔ)鏡像,并且僅包含基本組件。
定期更新和修補
容器安全是一項持續(xù)的工作,請定期更新你的鏡像,以包含最新的補丁。當然,Docker Scout 也有助于跟蹤漏洞,方便你掌握必要的更新。
利用 Docker Scout 的洞見
請使用 Docker Scout 的洞見來持續(xù)改進你的安全態(tài)勢。這包括:查看漏洞報告,參考修復(fù)建議,并定期更新你的策略。畢竟,持續(xù)掃描和改進能夠及時驗證你的鏡像是否安全。
常見問答
- Docker Scout 如何檢測 Docker 鏡像中的漏洞?
- Docker Scout 會掃描容器鏡像,以查找已知的 CVE。它是通過將鏡像的組件與 CVE 數(shù)據(jù)庫進行比對來實現(xiàn)。
- 可以將 Docker Scout 集成到 CI/CD 管道中嗎?
- 是的,Docker Scout 可以與 CI/CD 管道無縫集成。例如,它可與 GitHub Actions 和 GitLab CI 相結(jié)合,在構(gòu)建過程中運行自動安全掃描。
- Docker Scout 中的SBOM是什么?
- SBOM 可以跟蹤 Docker 鏡像中存在的所有軟件組成部分和依賴項,進而幫助開發(fā)者監(jiān)控容器與外部庫相關(guān)聯(lián)的漏洞。
- 如何配置 Docker Scout 以實施安全策略?
- 通過在 Docker Scout 中自定義安全策略,以實施諸如:判定漏洞嚴重性級別,加固依賴項的最低補丁版本等策略。
- 如果 Docker Scout 在鏡像中發(fā)現(xiàn)漏洞,應(yīng)該如何處置?
- Docker Scout 不但能突出顯示現(xiàn)有的漏洞,而且可以提供嚴重性評級。開發(fā)者應(yīng)該根據(jù)所提供的修復(fù)步驟,在容器部署之前及時解決發(fā)現(xiàn)的問題。
小結(jié)
作為一種提供容器安全的工具,Docker Scout 能夠自動檢查和掃描漏洞并執(zhí)行策略,從而幫助 DevOps 團隊改進 Docker 對其鏡像的整體保護。同時,將 Docker Scout 實施到現(xiàn)有的 CI/CD 管道中,也可以確保開發(fā)流程中的安全構(gòu)建。
此外,Docker Scout 也能賦能用戶主動糾正可能違規(guī)的軟件行為,確保在開發(fā)的整個生命周期中遵循既定的策略。而在效率上,Docker Scout 則能夠讓用戶在幾個小時內(nèi)構(gòu)建、測試和部署出安全的應(yīng)用,從而大幅提高了生產(chǎn)力。
譯者介紹
陳峻(Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項目實施經(jīng)驗,善于對內(nèi)外部資源與風(fēng)險實施管控,專注傳播網(wǎng)絡(luò)與信息安全知識與經(jīng)驗。
原文標題:Your Docker Containers Are Probably Full of Security Holes—Here’s How to Fix Them Now,作者:Advait Patel






















