在 Kubernetes 上實施零信任
本文翻譯自 ContainerJournal 的 2022 年度文章之一 《Implementing Zero-Trust on Kubernetes》[1],作者 Deepak Goel 在文中分享了 Kubernetes 上實施零信任的三個最佳實踐。
作為云原生社區的基石,Kubernetes 幫助企業在生產環境中更高效地部署和管理容器。盡管 Kubernetes 最初設計時提供了基本的 安全功能[2],但廣泛且迅速的采用以及日益復雜的威脅形勢使 Kubernetes 更容易受到攻擊。開發人員和安全專家當下的任務是擴展 Kubernetes 的內置安全性,以有效防范更復雜、更多樣和更頻繁的網絡攻擊。
以往“信任但要驗證”的方式已被證明對云計算復雜的分布式特性無效,因此 Kubernetes[3] 必須轉向“從不信任,始終驗證”的零信任模型思想,為業務提供更大的保護。
零信任模型的基本概念
基于“從不信任,始終驗證”的原則,可以用三個基本概念來解釋零信任模型:
安全網絡:始終認為網絡是敵對的和有威脅的。網絡上的內部和外部數據和信息不斷暴露在安全威脅之下。
安全資源:網絡上存在的任何信息源,無論位于何處,對其都應持懷疑態度。
身份驗證:默認情況下不應信任來自內部或外部網絡的用戶、設備和流量。零信任應該基于使用正確的身份驗證和授權的訪問控制。
零信任的三個最佳實踐
Kubernetes 提供了靈活性,既是優勢但也增加了復雜性,為了在不同的網絡環境中運行,為服務和工作負載引入了許多配置選項。Kubernetes 部署考慮以下三個零信任模型的最佳實踐,以提升安全保護和工作效率。
優化軟件配置和訪問權限
團隊需要為服務和跨集群操作提供一致的配置。雖然 Kubernetes 提供了多種配置選項,但過多的選項會增加安全問題出現的幾率。使用零信任框架,組織可以對服務進行持續驗證并將其部署到多個集群,而不會危及任何安全性。通過在授予它們對應用程序和服務的任何安全權限之前仔細檢查這些配置,組織可以加強分布式 Kubernetes 集群的安全性。
使用零信任模型提高 Kubernetes 安全性的另一種方法是只為軟件提供運行所需的權限和功能。雖然確定軟件所需的確切權限和功能并不是那么容易,但更好地了解這些元素可以降低安全風險。對于云端的容器編排環境,相比本地環境,賦予有限的權限和能力更為重要。
譯者注:持續驗證、最小權限原則
記錄和監控數據
重要的是提供必要的安全數據,使開發人員和安全專家能夠衡量、預測、避免和防御潛在的安全風險。例如,組織應該記錄服務識別的用戶 ID 或組 ID,尤其是在集群環境。這可確保組織使用所需的 ID 來幫助服務和軟件團隊更快地識別匿名攻擊。日志記錄也將是在云原生環境中提供安全可追溯性的信息的關鍵部分。
有了足夠的安全數據,團隊還可以重新思考和優化他們的安全實踐和應用程序更新,以應對不斷變化的技術環境,幫助確保持續抵御攻擊。
譯者注:提供數據支撐
專注于人員和流程管理
除了來自外部網絡的用戶和設備之外,合作伙伴、利益相關者或任何有權訪問組織的數據庫和容器化應用程序的人都是潛在的 Kubernetes 安全威脅。因此,培訓內部人員以避免潛在的內部威脅至關重要。如上所述,組織可以從記錄和監控平臺數據開始,同時讓所有利益相關者了解市場上普遍存在的各種攻擊策略。
除了適當的培訓之外,優化日常運營中的安全流程有助于支撐零信任模型,并最大限度地減少網絡攻擊對企業云上服務的影響。一些推薦的安全流程包括積極審查網絡管理、防火墻清單以及定期檢查容器和軟件鏡像。
由于 air-gapped 為云中的復雜部署模式提供了軍事級安全級別,我建議組織將這些操作流程與 air-gapped 實現相結合,為 Kubernetes 項目提供額外的安全級別。
譯者注:人員培訓、流程約束必不可少
結論
在生產環境中部署和管理 Kubernetes 時,安全性不再是事后的想法。違規、中斷和數據盜竊是嚴重的網絡安全問題,可能對組織產生不利影響。數據和信息記錄、員工安全培訓和流程優化等零信任實踐是保護 Kubernetes 項目和 IT 基礎架構的有效且實用的方法。通過實施這些實踐,組織可以更好地保護 Kubernetes 部署。遵循這種零信任模型將使開發人員和運維人員無需擔心集群和基礎設施安全問題,同時使安全團隊能夠專注于安全性,而不是迷失在 Kubernetes 配置中。
參考資料
[1] 《Implementing Zero-Trust on Kubernetes》: https://containerjournal.com/features/implementing-zero-trust-on-kubernetes/
[2] 安全功能: https://containerjournal.com/editorial-calendar/rsa/15-point-kubernetes-security-checklist/
[3] Kubernetes: https://d2iq.com/resources/cheat-sheet/kubernetes-security