自動執行容器掃描,包括容器映像
「容器掃描」和「容器映像掃描」詞彙通常會交替使用,不過它們是指容器化環境中軟體組合分析的稍微不同層面。 容器掃描通常是指在容器化應用程式中偵測弱點、設定錯誤或安全性問題的程序。 它會以容器內的執行階段環境、相依性、程式庫和組態設定為目標。 容器映像掃描著重於容器映像。 它牽涉到檢查容器映像內的層級、套件、程式庫和組態,以找出安全性弱點和過期相依性這類的問題。 映像掃描通常會以位於容器登錄中的容器映像為目標。
有許多容器掃描工具和技術可支援 Azure DevOps 和 GitHub 平台。 一般而言,您可以利用不受平台限制的服務,例如適用於雲端的 Microsoft Defender,或將掃描工具直接納入 Azure Pipelines 或 GitHub Actions。
適用於雲端的 Microsoft Defender
適用於雲端的 Microsoft Defender 是雲端原生應用程式保護平台,可實作旨在保護雲端式工作負載免於各種網路威脅的安全性措施和做法。 它包含支援映像和容器掃描,方法是利用適用於容器的 Microsoft Defender 和 Microsoft Defender 弱點管理的功能。
適用於容器的 Microsoft Defender (部分機器翻譯)
適用於容器的 Microsoft Defender 是雲端原生解決方案,目標是跨多雲端和內部部署環境增強容器化環境的安全性,包括 Kube 叢集、容器登錄和容器映像。 其功能可以分組成四個主要類別:
- 安全性態勢管理會持續監視 Kube 工作負載,以探索雲端資源、進行清查、偵測其設定錯誤、提供補救指導、評估相應的風險,以及使用適用於雲端的 Defender 安全性總管協助進行風險搜捕。
- 執行階段威脅防護可為 Kube 叢集提供威脅偵測,與 MITRE ATT&CK 架構緊密配合,並與廣泛的安全性資訊與事件管理 (SIEM) 和延伸偵測及回應 (XDR) 產品整合。
- 部署和監視有助於實作 Kube 叢集並追蹤其狀態。
- 弱點評量提供多雲端資源的無代理程式弱點評量,包括補救指導和自動化掃描。
弱點評量依賴於 Microsoft Defender 弱點管理。
Microsoft Defender 弱點管理
Microsoft Defender 弱點管理提供以觸發程序為基礎的映像掃描功能,以 Azure Container Registry (ACR) 登錄中的映像為目標。 它會自動產生報告,記錄每個映像的弱點和相應的補救。 它也會根據從任何適用於雲端的 Defender 所支援登錄提取的映像,提供部署到 Azure Kubernetes Service (AKS) 叢集的容器掃描,除了 ACR 之外包括 Amazon Web Services (AWS) 和 Google Cloud Platform (GCP) 的原生容器,例如彈性容器登錄 (ECR)、Google Container Registry (GCR)和 Google Artifact Registry (GAR)。
儲存在 ACR 中符合掃描觸發程序準則的所有映像都會自動掃描是否有弱點,而不需要任何其他設定。 這些準則可以分成兩個主要類別:
- 由推送、匯入和提取作業來觸發。 如果是推送或匯入,則掃描通常會在幾分鐘內完成,但最多可能需要一小時的時間。 在個別提取之後,映像會在 24 小時內進行掃描。
- 針對先前已掃描弱點的映像持續執行,以便更新其弱點報告以考慮新發佈的弱點。 這些掃描每天會針對過去 90 天內推送的映像、過去 30 天內提取的映像,以及在適用於雲端的 Defender 所監視 Kube 叢集上執行的映像執行一次。
針對 ACR 中的所有映像,以及目前在 Azure Kubernetes Service (AKS) 叢集中執行的映像,提供弱點報告的建議。 在您採取建議步驟來補救安全性問題並取代登錄中的映像之後,適用於雲端的 Microsoft Defender 會自動重新掃描映像,以確認弱點已不存在。
將掃描工具直接納入 Azure Pipelines 或 GitHub Actions。
您可以將容器和映像掃描直接併入 CI/CD 管線,以自動識別弱點並確保合規性。 此程序從選取與個別平台相容的適當掃描工具開始,例如作為 DevOps 安全性延伸模組或 Trivy GitHub Actions 的 Aqua。 然後,您可以將所選的掃描工具整合到建置程序中,以分析容器映像是否有弱點和合規性問題。 容器掃描應在 CD 階段期間套用,以評估部署的成果。
作為 CI/CD 整合的一部分,請考慮在掃描報告不符合規範時防止映像部署。 在 GitHub 中實作工作流程時,請利用其 Dependabot 功能來偵測及建立提取要求,以更新容器映像中的相依性,包括 Dockerfiles、封裝資訊清單和其他組態檔。 根據掃描結果,自動執行補救動作,例如修補弱點或重建映像。 利用平台特定的儀表板、報告和通知,實作掃描結果的持續監視和檢閱。