精選博客系列|VMware Tanzu Mission Control增強策略功能,讓Kubernetes的安全性更加靈活

隨着分佈式系統日益複雜,定義和實施 Kubernetes 集羣的策略以確保環境的安全性、可靠性和合規性——當然也是爲了構建可擴展性的支撐結構,變得至關重要。

因此,我們很高興宣佈 VMware Tanzu Mission Control 現在有了更多的策略相關的改進,旨在增強 Kubernetes 安全性。平臺團隊現在可以改變工作負載的安全上下文(security context),並修改默認的 Open Policy Agent(OPA)Gatekeeper策略設置。

Tanzu Mission Control推出動態修改,或稱變異(mutation)策略是因爲它們可以顯著增強組織的安全措施,使其能夠保持一種始終開啓的安全姿態。這些策略可以對pod的功能施加限制,以幫助阻止惡意行爲。例如,它們可以禁止使用特權容器或禁止容器作爲root操作,從而有助於最大程度地降低潛在安全漏洞的風險。此外,它支持那些正在將集羣遷移出Pod Security Policies(PSPs)的客戶,同時仍然保持其組織的安全姿態。它還支持平臺團隊採用“左移(shift left)”安全策略,有助於減輕開發人員在Kubernetes安全策略和設置這個不斷變化的世界中所面臨的負擔。這有助於在企業範圍內始終強制保證平臺團隊所需的安全狀態,無論使用哪種Kubernetes發行版。

我們發佈的第二部分涵蓋了修改默認的OPA Gatekeeper策略設置的能力,例如增加資源限制,以實現更好的治理,使用戶能夠更好地調整對高使用率的集羣的資源分配。此外,它還給要求高安全性及合規性的公司,如金融領域的公司等,提供了覆蓋默認設置的能力,例如修改失敗策略和超時秒數等,以更有效地鎖定其基礎設施。

在跨集羣和跨環境中自動執行策略

Tanzu Mission Control目前能夠幫助平臺團隊應用多種類型的策略,包括:

訪問 - 能夠爲每個組或個人授予對集羣或單獨的命名空間的訪問權限。

網絡 - 可以將應用程序分隔開並確保其不會接收到不需要的流量。

鏡像倉庫 - 有能力只允許從已知和可信的倉庫中拉取鏡像,防止來自不受信任來源的鏡像像,並避免使用如Docker hub等外部來源。

配額 - 使用預配置和自定義模板,限制您的集羣中指定的多個命名空間的總體資源使用數量。

安全 – 能夠限制容器的功能和特權升級,並配置策略以進行監視而無需執行,以便可以識別違規者。

自定義 - 使用模板實施額外的業務規則,執行那些未被其他內置策略類型覆蓋的策略。

PSP和OPA Gatekeeper都可以用於在Kubernetes環境中執行安全策略,但它們的方法和能力有所不同。

在其他原生Kubernetes安全組件(例如Antrea Network Policies)之外,VMware使用OPA作爲Tanzu Mission Control中的策略引擎,用於安全、自定義和鏡像相關的策略,因爲它具有更廣泛的靈活性(例如支持可變策略),並且是一個擁有充滿活力社區的Cloud Native Computing Foundation(CNCF)的已畢業開源項目。

隨着PSP在Kubernetes v1.25及更高版本中被移除,許多使用這個解決方案的組織可能會措手不及,不得不趕緊更新他們的部署和配置。因此,利用OPA Gatekeeper可以幫助確保工作負載在必要的更新和應用更改發生時是符合標準的。

OPA Gatekeeper的好處包括支持“dryrun”等操作,它允許用戶創建一個策略而不強制執行它,並通過“Insights”頁面查看任何違規情況,以修復他們的工作負載或更新策略、當確認策略設置沒問題後,可以再將執行行爲更改爲“拒絕”。管理員可以在細粒度級別(羣集、羣集組或組織)定義策略並相應地執行它們,使其成爲一個更強大的解決方案,用於規模化管理安全策略。管理員還可以使用基於標籤的命名空間選擇器來包括和排除特定的命名空間,確保集羣符合安全策略。

通過提供在Kubernetes環境中執行策略的更強大和靈活的方式,OPA Gatekeeper提供了更好的治理能力,以在集羣間執行策略。

這就是爲什麼我們在Tanzu Mission Control中通過增加策略相關功能來提升Kubernetes的安全,包括可以修改容器和Pod的安全上下文並修改默認的OPA Gatekeeper策略設置。

不再有驗證錯誤:使用變異(mutation)策略設置更多規則

變異策略與驗證安全策略不同,因爲它們不會阻止創建可能違反策略的 Kubernetes 資源。相反,它們將在運行時更新或改變該請求以創建所需的資源。

因此,變異策略是提高 Kubernetes 對象可靠性和一致性的強大工具,通過強制實施策略限制並確保對象始終處於有效狀態。

要創建變異策略,平臺管理員必須前往策略分配下的Mutation選項頁,並單擊創建變異策略。Tanzu Mission Control目前提供對PodSecurity的動態修改,未來將支持更多選項。

平臺管理員可以爲其策略輸入名稱,並選擇安全上下文中的需要修改的多個字段,以便在該集羣中有人創建Pod時,它將繼承這些安全相關屬性值。

一個常見的變異策略示例是確保所有提交的工作負載都配置了runAsUser、runAsNonRoot和disallowPrivilegeEscalation。Gatekeeper Admission控制器根據變異策略中定義的屬性驗證資源,並根據您配置的條件(Always、IfFieldExists、IfFieldDoesNotExist)通過Admission控制器爲資源添加屬性。

(在Tanzu Mission Control中創建具有修改值的變異策略)

Pod安全性擴展:更新Gatekeeper的設置

如上所述,Tanzu Mission Control有各種類型的警戒策略,其中一些(例如安全性、鏡像、自定義和變異)是使用OPA Gatekeeper開源工具執行的。

當Tanzu Mission Control在集羣上安裝Gatekeeper時,會應用一些默認設置和配置值。

現在,通過新的策略設置功能,各組織可以在TMC界面的左側菜單中的管理頁面內的設置選項卡中覆蓋其中的一些值。

這意味着組織和管理員可以調整Gatekeeper部署設置以適應其所有級別,例如組織、集羣組和集羣。此初始版本允許修改Validating Webhook的配置(更改失敗策略和超時秒數)以及控制器管理器部署和自動部署設置(通過改變副本數和CPU內存限制)。

這種增加的靈活性的一個例子是覆蓋Gatekeeper的默認驗證Webhook策略,該策略目前(默認情況下)設置爲“忽略”,即如果Gatekeeper在集羣上宕機,也仍允許Cron作業和其他工作負載被接受和創建。通過將該默認設置更改爲“失敗”,管理員將能夠確保拒絕任何工作負載或作業,直到Gatekeeper再次可用。

能夠在利用OPA Gatekeeper的關鍵安全功能的同時覆蓋策略設置,使Tanzu Mission Control成爲跨多雲Kubernetes集羣的企業策略管理的非常強大的選擇。

(Tanzu Mission Control的管理區域中的“設置”選項卡視圖)

(在Tanzu Mission Control的新設置功能中,驗證Webhook配置)

訪問策略已支持Kubernetes服務賬戶(servicee account)

Tanzu Mission Control現在允許在訪問策略中創建角色綁定(role binding)時將Kubernetes服務帳戶作爲實體類型使用。通過這個更新,管理員可以在整個集羣羣集中管理服務帳戶訪問,而不是在每個羣集上單獨管理,從而減少了專門處理此類操作的時間,他們還可以跨集羣審計策略。

在Kubernetes中,服務帳戶身份類型非常重要,因爲它們確定服務帳戶在集羣中具有的訪問和權限級別,這對於維護集羣的安全性和完整性至關重要。

能夠向服務帳戶添加策略非常有價值,因爲它有助於進一步確保只有經過授權的服務和用戶可以訪問Kubernetes集羣中的資源,而服務帳戶僅限於執行其任務所需的資源。這再次提高了集羣的安全性和穩定性,尤其是在多租戶環境中。

內容來源|公衆號:VMware 中國研發中心

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章