您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關怎樣用KubeXray保護K8s環境及應用,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
大多數安全措施都是為了防止漏洞逃跑而設計的, 在此之前,我們也分享了一些第三方安全掃描的文章(請移步到歷史文章中查看),盡早識別應用程序的風險意味著您可以防止或限制它部署到您的系統中(安全左移策略)。有了這些知識或工具,容器中任何可能造成損壞的漏洞都可以安全地留在由您的安全策略圍欄后面。
但是,當這些漏洞已經逃跑時,我們能做什么呢? 如何確保已經在Kubernetes pods中運行的容器和應用程序符合您當前的風險和策略?
由于大多數應用程序嚴重依賴于包管理器和開源存儲庫,因此它們很容易受到來自這些源的惡意或不安全代碼的攻擊。想象我們交付的軟件 Application 是一張餅,我們自己開發的代碼僅占其中很小一部分,見下圖:
最近,當Javascript社區得知npm module中流行的事件流包被一個針對比特幣錢包平臺的惡意包更新時,他們非常憤怒。在被發現和報道之前的三個月里,這個包被下載了近800萬次。
雖然來自社區包管理器的此類事件并不常見,但并不少見。一年前,npm發現并刪除了39個惡意包。所以很多包在我們安全策略發現之前可能已經進入到了生產環境
在介紹如何對運行時進行安全控制之前,先回顧一下常見漏洞掃描工具的原理:這里以JFrog Xray 為例:
通用二進制分析工具和策略引擎JFrog Xray,會實時掃描Artifactory制品庫中的容器鏡像,war包,以及Npm module 等二進制制品,執行深度遞歸掃描,逐層檢查應用程序的所有組件,并與多個漏洞數據源(已知漏洞數據庫)進行一一對比,從而判斷是否存在已知漏洞 或License許可證策略問題,同時為被掃描文件(Docker 鏡像,Npm Module)添加相關元數據。
DevOps管理員可以根據Xray掃描平臺所發現的風險級別,配置策略來限制或阻止Kubernetes部署這些Docker 鏡像。但是可以發現僅僅使用Xray,只能將漏洞限制在運行時之前。
為了解決這個問題,JFrog提供了KubeXray 組件,這是一個開源軟件項目,它將通用二進制安全分析工具Xray的安全性擴展到Kubernetes pods運行時。
使用Xray掃描容器映像生成的元數據,KubeXray可以對已經部署的內容(容器鏡像等)進行安全策略管控
KubeXray監控所有活動Kubernetes Pod資源,以幫助您:
1. 捕捉當前在所有Kubernetes吊艙中運行的應用程序中最新報告的風險或漏洞
2. 對正在運行的應用程序強制執行當前策略,即使您已經更改了這些策略
3. 對未被Xray掃描且風險未知的正在運行的應用程序執行策略
通過這種方式,KubeXray可以幫助您將逃逸的漏洞進行安全的控制。
在Kubernetes將容器鏡像部署到pods之前,Xray檢測風險并將策略應用于容器鏡像,KubeXray檢測風險并將策略應用于已經運行或即將運行的Kubernetes pod。
KubeXray監視來自Kubernetes服務器和Xray的安全事件,并為Kubernetes運行的所有pods執行當前的安全策略。KubeXray監聽這些事件流:
1. 部署新服務(Pod)
2. 升級現有服務
3. 新的許可證策略,例如某個License許可證類型不允許在運行時使用
4. 一個新的安全問題
當檢測到問題時,KubeXray會根據您設置的當前策略進行響應。您可以選擇以下可能的操作之一:
? Scaledown為直到0。所需的服務狀態更新為0,使其在仍然可以查詢時處于非活動狀態
? 刪除漏洞容器鏡像的相應Kubernetes資源
? 忽略它,讓pod繼續運行
KubeXray還了解不同Kubernetes資源(狀態集和部署)之間的差異,并允許對每種資源應用不同的策略操作。
雖然KubeXray主要是將Xray的深度掃描安全性擴展到運行Kubernetes pods,但它也為未被Xray掃描的pods提供了一些策略控制,例如從存儲庫(而不是Artifactory)部署的容器映像。對于沒有經過x射線掃描的pod,因此其風險是未知的,您可以指定要采取的單獨策略操作。
KubeXray監聽Kubernetes集群中運行的每個pod,并使用Xray元數據(何時可用以及是否可用)來確定安全策略控制。
1. 對于Kubernetes上的每個pod(運行或計劃運行),KubeXray檢查Xray元數據中的漏洞或License許可證策略問題。如果發現任何風險,KubeXray將采取相應的控制操作。
2. 如果Kubernetes pod中的任何容器鏡像(正在運行或計劃運行)沒有被Xray識別——因為它沒有被掃描,或者因為它沒有從Artifactory 下載——那么KubeXray將以未知風險來應用當前的策略集。
每當在Xray上添加或更新新策略,或報告新漏洞時,KubeXray都會檢測到此更改,并檢查現有pod是否存在問題。如果發現任何風險,KubeXray將立即根據當前安全策略進行安全控制。
如下圖所式: 顯示對漏洞pod的每個策略操作過程(忽略/刪除/縮容)。
上面提到:KubeXray根據發現的風險和DevOps管理員配置的策略應用策略操作。
策略操作是在一個 values.yaml 文件中設置。您可以為以下條件配置策略操作(縮容、刪除或忽略):
? 未掃描——未被 Xray 掃描deployments ,您還可以指定命名空間的白名單;使用這些命名空間的deployments 將不應用安全策略操作。
? 安全性——由于漏洞而存在安全問題的deployments 。
? License許可證——許可證不符合策略的deployments 。
上述每種條件都為Deployments 和StatefulSets提供了單獨的策略操作設置。
KubeXray工具是一個開源軟件項目,可以在Github存儲庫中找到并安裝它(https://github.com/jfrog/kubexray)。
要使用KubeXray,您必須具備:
? 一個已獲授權及正在運行Artifactory 服務
? 一個已獲授權及正在運行Xray服務
? 一個 正在運行的Kubernetes集群
? 客戶端Kubectl
? Helm客戶端以及Helm服務端配置(Tiler)
快速安裝KubeXray:
JFrog Helm倉庫中提供的一個Helm Chart,可以快速安裝或升級JFrog KubeXray到正在運行的Kubernetes集群。要自定義KubeXray的配置,請參閱Github Readme文檔。
安裝KubeXray后,可以在values.yaml中設置前文提到的策略操作。讓JFrog KubeXray監視您的Kubernetes pod,控制Kubernetes 集群運行時存在的安全漏洞或License 許可證問題。
常見的第三方漏洞安全監管工具一般只在控制運行時之前進行安全控制,在運行時未能做到相應的監管控制,KubeXray可以幫助我們快速對運行時資源進行安全管控,并且其作為一個開源軟件項目,我們期待著繼續增強KubeXray以獲得更健壯的操作和特性,并歡迎開發人員在社區提出改進意見和提交代碼。
上述就是小編為大家分享的怎樣用KubeXray保護K8s環境及應用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。