隔離;隔離
在早期,許多企業會使用硬件虛擬化。改為容器後,需要註意的是,容器中提到的隔離與虛擬機(VM)隔離有很大不同。當應用受到攻擊時,VM提供的隔離可以有效限制攻擊者在應用棧中的水平移動,但是容器化的應用* * *享有主機操作系統資源,無法完全隔離。但兩者被攻擊的概率並無顯著差異,只是虛擬機被攻擊後的影響範圍會相對較小。
解決隔離問題的簡單方法是在虛擬機上運行容器。容器的顯著優點是運行時可以在任何地方運行,包括逐漸被拋棄的虛擬機。壹些企業在虛擬機上運行容器化的應用程序,通過虛擬機隔離容器,防止攻擊者在應用程序堆棧中水平移動,訪問屬於其他應用程序的數據。雖然此策略可以限制攻擊的嚴重性,但不會阻止攻擊的發生。
運行時間
容器的動態特性引入了新的運行時復雜性,應用程序部署團隊必須理解和管理這些復雜性。像Kubernetes這樣的容器編排系統旨在快速提供容器映像的復制實例。容器化的應用程序由壹個或多個容器映像組成,這些映像被耦合起來形成應用程序所需的功能。
應用程序可伸縮性是指在給定點部署特定數量的容器映像的功能。當準備好部署新功能時,應用程序所有者將創建壹個更新策略,以確保應用程序的現有用戶不會受到更新的影響。此更新策略定義了更新前滾的鏡像的百分比,以及發現錯誤時如何回滾。
由於容器化部署的動態特性,與傳統IT環境相比,監控惡意行為或未經授權的訪問更加困難。容器化的應用程序通常有不同的資源請求,這些請求在主機服務器級別上被共享。出於這些原因,IT運營和安全團隊應該與他們的開發團隊合作,實現信息共享,以了解應用程序的預期行為。
運行時安全解決方案是實時檢測和防止惡意活動的常用選項。通過監控對主機網絡調用並嘗試登錄到容器,這些解決方案構建了環境中每個應用程序的行為模型,該模型可以理解預期的網絡操作和文件系統以及操作系統活動和功能。
補丁管理
大多數容器應用程序都是從基本映像創建的,基本映像本質上是有限的輕量級操作系統。應用程序容器鏡像將基礎映像與應用程序特定的元素(如框架、運行時和應用程序本身)結合在壹起,每個元素都是鏡像中的壹層,可能存在軟件漏洞,從而帶來風險。傳統的應用安全測試側重於應用漏洞,而容器化的應用安全測試必須解決圖像層隱藏的漏洞。