容器的使用在企業環境中持續流行,從而增長了對管理和編排容器的需求。毫無疑問,Kubernetes(K8s)已成爲雲原生環境的容器編排的市場領導者。安全
因爲Kubernetes在管理容器化工做負載的角色和功能方面起着相當重要的做用,所以安全性應該獲得很好的理解和管理。所以,對於全部部署都必須使用正確的部署體系結構和安全最佳實踐。服務器
因爲Kubernetes部署包含許多不一樣的組件(包括Kubernetes的主節點和節點,託管Kubernetes的服務器,容器運行時使用Kubernetes,集羣內的網絡層以及在Kubernetes上託管的容器內運行的應用程序),所以保護Kubernetes的安全須要DevOps /開發人員來解決與這些組件相關的安全挑戰。網絡
在本文中,我將討論DevOps和管理Kubernetes部署的開發專業人員的五種安全優秀實踐。將這些安全措施集成到CI / CD管道中將有助於組織在開發過程的早期發現和修復安全問題,從而在確保安所有署的同時縮短週期並縮短週期。架構
爲了克服這些挑戰,如下是應對K8安全挑戰的五種優秀安全實踐:微服務
1.受權:Kubernetes提供了幾種不互斥的受權方法。建議將RBAC用於受權策略,以控制如何使用權限訪問Kubernetes API。ABAC是一種附加的受權機制,可提供功能強大且細粒度的策略,但它更復雜且操做約束不多(例如,權限更改後API服務器從新啓動)。測試
2.Pod安全性:因爲每一個Pod包含一組一個或多個容器,所以控制其部署配置相當重要。Kubernetes Pod安全策略是羣集級別的資源,容許用戶經過控制其特權,卷訪問和傳統的Linux安全選項(例如seccomp和SELinux配置文件)來安全地部署其pod。spa
3.保護生產環境:隨着公司將更多部署轉移到生產中,這種遷移會增長運行時易受攻擊的工做量。經過應用上述解決方案並確保您的組織保持健康的DevOps / DevSecOps文化能夠解決此問題。orm
4.確保Kubernetes上的CI / CD管道安全: 運行CI / CD能夠在將工做負載部署到K8集羣以前對其進行構建,測試和部署。必須在CI / CD流程中加強安全性,以使開發人員可以快速發現並緩解潛在的漏洞和配置錯誤。blog
不然,攻擊者能夠在部署這些映像時得到訪問權限,並利用K8生產環境中的這些漏洞。在CI / CD階段檢查映像代碼和部署配置能夠實現此目的。網絡安全
5.將服務網格添加到網絡安全層: 服務網格以統一且不可知的方式處理與微服務相關的常見任務。服務網格根據策略自動平衡服務間流量。它還提供了許多安全性,可靠性和可觀察性優點,能夠幫助管理羣集流量並經過「零信任」安全模型加強網絡穩定性。
服務網格是K8安全基礎架構的有力補充。它經過自動處理服務發現和鏈接來支持安全的雲原生環境,所以開發人員和單個微服務都沒必要這樣作。與Kubernetes結合使用時,服務網格可在服務級別(不只在網絡級別)支持應用的安全性。當與基於身份的工做負載保護結合使用以保護容器和微服務時,服務網格可實現最高級別的安全性。
做爲領先的編排平臺,Kubernetes在AWS,Google Cloud Platform和Azure上獲得了積極使用。有了正確,完整的安全基礎架構,它將之前所未有的效率和敏捷性改變在雲中部署應用程序的方式。
因爲在這一領域已進行了普遍的工做,所以下一代安全平臺如今能夠提供直觀且集中的方式來管理Kubernetes微服務,以實現這一目標。