隨者資安意識的提升, Container Image 的安全性檢查變得愈來愈重要,最基本的想法就是針對 Image 本身去檢查是否有任何已知的 CVE 與 vulnerabilities,透過這類型的機制來確保我們要部署到生產環境的 Container Image 是足夠安全的。
目前至少有三種方法可以來達成這目標,第一種是直接使用相關的 CLI 工具掃描,第二種是將工具整合到 Container Registry 中,根據情況自動掃描,第三種則是將工具整合到 CI/CD pipeline 過程中,只有符合標準的 Container Image 才有資格被推到團隊所使用的 Container Image。
本文作者透過 Trivy 以及 GitlabCI 等工具來示範如何於 CI/CD pipeline 中完成 image 的安全性檢查(也就是方式三)。
# 重點整理
1. Trivy 掃出來的安全性有四種,分別是 Low, Medium, High 以及 Critical
2. Trivy 本身不定義什麼樣的結果叫做安全或不安全,完全是根據使用者自己決定。作者認為這個標準取決於團隊對於資安的重視性。範例中,作者定義只要有任何一個 Critical 等級的安全性漏洞,就將該 Image 視為不安全
3. 透過 Gitlab CI 的流程,來建置 Container Image,並且透過 Trivy 掃描,如果不符合安全定義就透過 exit-code 來結束該 stage,同時也會將 Trivy 的掃描結果給一併上傳。
如果對於(2)透過 container registry 來掃描的,可以參考我今年針對 ITHOME 鐵人賽所撰寫的文章: https://www.hwchiu.com/ithome/2020/registry/day21.html
原文:
https://medium.com/alterway/adding-image-security-scanning-to-a-ci-cd-pipeline-2faff072d
Search