實現容器安全管理的最佳實踐

安全頻道發表於2022-04-22

隨著Docker、Kubernetes技術的成熟,容器也成為時下最火的開發理念之一。它是雲原生概念的重要組成部分,正迅速成為雲原生生態系統中部署計算和工作負載的不二選擇。雲原生計算基金會(CNCF)最新的雲原生調查顯示,96%的組織在積極使用或評估容器和Kubernetes。眾所周知,容器作為應用的包裝形式,能夠以更輕量化、更小開銷的方式執行,具有可移植性、一致性和效率高等優勢特點,但其並非沒有安全問題。

確保容器安全是一項複雜的活動,就像網路安全一樣,需要結合人員、流程和技術,其中人員安全是最關鍵的。對於那些希望轉向使用容器的組織來說,應提升現有員工的技能,並引入擁有必要技能的其他人才,確保雲原生運營模式的安全性。以下列舉了管理容器漏洞風險的最佳實踐和相關工具,如果企業採用這些工具、實施最佳實踐,同時遵循行業最佳指導,就有可能在容器安全使用方面更接近理想狀態。

將容器安全與雲安全密切關聯

首先有必要了解容器在雲環境中的作用和關係。雲原生生態系統通常包括事關雲安全的雲、叢集、容器和程式碼。每一層建立在下一層之上,任何一層不安全都會影響其下面的層,比如部署在不安全容器上的應用程式,會受到容器的影響。雲端、Kubernetes叢集或應用程式本身的漏洞都可能帶來各自的問題。鑑於容器存在的狀態(比如作為映象或執行中的容器),以及可能放置在容器中的層和程式碼比較多,確保容器安全絕非易事。CNCF的白皮書《雲原生安全》可以幫助讀者更好地瞭解雲原生應用程式、容器及其生命週期。

加強容器可移植性防護

雖然容器最顯著的優勢特點之一是可移植性,但這也是缺點。如果漏洞混入容器後分發,無異於將漏洞分發給使用該映象的所有人,還可能將其執行的任何環境置於險境,因為它們通常在多租戶架構中執行。這意味著,廣泛可用和共享的容器映象與其他問題(比如開原始碼、IaC)一樣令人擔憂,所有這些都可能帶來漏洞。此外,容器常常由外部開發人員而不是傳統的IT團隊構建,然後再分發給企業。在此背景下,實施最佳的安全程式設計和容器安全實踐是一個好的開端。

及時掃描容器是否存在漏洞

作為安全左移潮流的一部分,應在管道部署活動期間掃描容器。目前,一些基本的做法是掃描持續整合/持續部署(CI/CD)管道中的容器,以防止漏洞進入到執行時生產環境。發現管道中容器存在的漏洞,可防止漏洞被引入到生產環境並被不法分子利用。相比修復生產環境中的漏洞,這麼做效率更高、風險更小、成本更低。市面上既有Anchore和Trivvy之類的開源工具,也有Snyk等主流安全廠商提供的商業工具。

不過,掃描管道中的容器映象並非靈丹妙藥。因為容器映象常常儲存在儲存庫中,而且一旦部署到生產環境就處於執行狀態,所以掃描這兩種環境下的映象才是關鍵。新漏洞經常出現,因此如果僅僅從儲存庫提取之前掃描過的映象、不重新掃描就部署,可能會忽視自上次掃描以來已釋出的新漏洞。生產環境中存在的漏洞同樣如此,如果企業的訪問控制機制很糟糕,對處於執行狀態的容器進行了更改,就很容易出現漏洞,因此需要識別執行中容器存在的漏洞,並通知相應員工做出適當的響應,以便調查、干預。

使用容器映象簽名

保護容器工作負載的另一個關鍵活動是映象簽名。大家都熟悉美國中情局(CIA)的網路安全三要素:機密性、完整性和可用性。容器映象簽名主要是確保容器映象的完整性。它可以確保所使用的容器映象沒有被篡改,值得信任。這可以在註冊庫中完成,也可以作為DevOps工作流程的一部分來完成。

在容器映象簽名方面,有幾種工具可選。最值得注意的工具之一是Cosign,它支援映象簽名、驗證和儲存,還支援各種選項,比如硬體、金鑰管理服務(KMS)、自帶的公鑰基礎設施(PKI)等。如今,市面上也出現了無金鑰簽名選項,受到Chainguard等創新團隊的追捧。無金鑰簽名實際上支援使用短期金鑰的功能,這種金鑰只在簽名活動期間有效,與身份相關聯。

為容器映象開列軟體元件清單

容器同樣存在軟體供應鏈安全問題,許多組織紛紛為容器映象開列軟體材料清單(Software Bills Of Materials,簡稱“SBOM”)。Anchore的Syft工具就是個典例。Syft讓組織可以為容器映象開列SBOM,作為CI/CD工作流程的一部分,幫助組織深入瞭解在容器生態系統中執行的軟體,並隨時做好準備以應對可能發生的安全事件。

過去很難獲得這樣的高可見性,但現在情況有所不同,許多組織更關注軟體供應鏈安全,並遵循美國白宮和相關政府機構的指導,比如《網路安全行政令》。同時,關注安全開發實踐的呼聲越來越高,NIST等組織釋出了更新版的《安全軟體開發框架》(SSDF),該框架要求組織在存檔和保護軟體版本等活動中使用SBOM。在此背景下,軟體供應鏈中元件具有了高可見性。

除了為容器映象開列SBOM外,企業還要做好證明,NIST在《軟體供應鏈安全指南》中就有相應的規定。NIST要求做好向SSDF證明的工作,這要求使用SBOM。還有進一步執行SBOM的創新方案(比如Syft),使用in-toto規範支援SBOM證明。這種證明方法讓簽名者可以證明SBOM準確地表示容器映象的內容。


來自 “ 安全牛 ”, 原文作者:aqniu;原文連結:https://www.aqniu.com/industry/82796.html,如有侵權,請聯絡管理員刪除。

相關文章