0x00 背景
鏡像是容器的最基礎的載體,docker作為最流行的容器runtime,其最大的貢獻就是把鏡像作為容器應用的标準傳遞方式,鏡像包含了容器運作的所有基礎檔案,可以說鏡像的安全就決定了容器安全。
但現實不樂觀,在docker官方鏡像中有超過30%的鏡像有高危漏洞,平均每一個鏡像有127個中危漏洞,幾乎沒有鏡像沒有漏洞。鏡像在建構過程中會安裝依賴元件,這些元件存在大量漏洞,而這僅僅是基礎運作環境的軟體漏洞。
對于鏡像的安全控制可以在三個地方:
1、建構時,在使用持續內建平台自動建構後,拿jenkins來舉例說明,當鏡像建構完成後,對建構的鏡像進行漏洞掃描,如果出現政策不允許出現的安全漏洞,中斷流程,達到安全控制。
2、存儲時,在鏡像倉庫中對上傳的鏡像進行漏洞掃描,發現安全問題,禁止拉取。
3、運作時,在鏡像拉取到主機節點,啟動時掃描鏡像漏洞,禁止鏡像運作。
是以,鏡像安全問題最好在持續內建過程中和鏡像倉庫中解決。
0x01 工具推薦
小佑科技免費掃描器harbor-scanner
- 簡介:小佑科技的Harbor-scanner是唯一支援中文漏洞庫掃描器,将其商業版的鏡像掃描部分功能免費出來,安裝包包含了在版本釋出時的全部最新漏洞庫,其中包括最新的CNNVD中文漏洞庫,使用者無需聯網也可以擷取到比較新的漏洞庫,同時産品支援實時線上更新漏洞庫。
- 工具連接配接:https://github.com/goharbor/harbor
- 使用成本:免費
CoreOS官方推出的容器靜态安全漏洞掃描工具Clair
- 簡介:Clair旨在識别和分析Docker和appc應用程式容器中的漏洞。定期從定制和配置的源組中提取容器漏洞中繼資料,以識别容器映像(包括上遊的容器映像)中的威脅。
- 工具連結:https://github.com/quay/clair
- 使用成本:免費
Anchore以最早支援應用架構漏洞掃描聞名
- 簡介:Anchore以最早支援應用架構漏洞掃描聞名,Anchore Engine是一個開源項目,可為容器圖像的檢查,分析和認證提供集中式服務。 Anchore Engine作為Docker容器映像提供,可以獨立運作,也可以在業務流程平台(例如Kubernetes,Docker Swarm,Rancher,Amazon ECS和其他容器業務平台)中運作。
- 工具連結:https://github.com/anchore/anchore-engine
- 使用成本:免費
Docker Bench for Security
- 簡介:https://www.cnblogs.com/Hi-blog/p/docker-bench-security.html)Docker Bench for Security是一個可以在任何Docker主機上運作的預建構包裝容器。它是一組應該作為root使用者運作的Bash shell腳本。在生産中常見的測試檢查部署Docker容器的最佳安全實踐。
- 工具連結:https://github.com/docker/docker-bench-security
- 使用成本:免費
Docker Notary
- 簡介:Notary是一個開源的Docker項目,提供資料收集的安全性。運作Notary服務來釋出和管理任意内容。對釋出的集合進行數字簽名,并允許使用者驗證内容的完整性和來源。
- 工具連結:https://github.com/docker/notary
- 使用成本:免費
Twistlock
- 簡介:Twistlock Security Suite旨在解決基于容器的應用程式過程中的安全問題。這是一個端到端的安全解決方案,通過增加Docker容器工作方式的監控層來檢測漏洞。Twistlock使應用程式生命周期中的容器映像變得更加堅固。
- 工具連結:https://www.twistlock.com/
- 使用成本:軟體定價基于標明的訂閱和基礎設施選項
Aqua Security 以最早支援應用架構漏洞掃描聞名
- 簡介:Trivy 是一個簡單而且功能完整的容器漏洞掃描工具,特别使用用于持續內建,可以在任何平台上運作,通過提供全堆棧安全來保護基于容器的應用程式。
- 工具連結:https://github.com/aquasecurity/trivy
- 使用成本:定價是標明軟體計劃費用加上所需虛拟機的Azure基礎架構成本的組合
0x02 docker安全架構
0x3 參考文章
https://blog.csdn.net/qq_29277155/article/details/88358863