中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

K8S安全軍規101:對CNCF最佳實踐的擴充

發布時間:2020-07-14 08:50:25 來源:網絡 閱讀:327 作者:RancherLabs 欄目:云計算

在上篇文章里,我們分享了CNCF為廣大Kubernetes用戶建議的9項Kubernetes安全最佳實踐,分享了用戶使用Kubernetes管理集群時的9個能進一步確保集群安全的基本操作。

 

上篇文章中的建議非常好,但不足之處在于它們都過于依賴GKE了。對于那些使用谷歌服務的用戶來說,GKE固然是一個很好的解決方案。然而,還有更多的人則是在亞馬遜、Azure、阿里云、華為云、DigitalOcean、甚至是他們自己的基礎設施上或其他他們任何想在的地方上運行著Kubernetes集群,那么此時,GKE相關的解決方案對他們而言并沒有太大幫助。
 

對于這些用戶而言,Rancher作為一個開源的解決方案,是一個很棒的選擇。

 

Rancher Labs對待安全問題十分嚴肅謹慎。Rancher Labs聯合創始人及首席架構師Darren Shepherd,是2018年年底Kuberntes 被爆出的首個嚴重安全漏洞(CVE-2018-1002105)的發現者。安全性不應該是事后的想法,也不應該是部署了不安全的集群之后才記得要去做的事。就像你建造房子時,不應該把所有物品都搬進去之后,才開始安裝門鎖。

 

在本文中,我將回顧上篇文章中CNCF提出的每個要點,并向您分析Rancher和RKE能如何在默認設置中滿足這些安全建議。

 

升級到最新版本

 

這是一個合理的建議,并且不僅適用于Kubernetes。因為未修補的程序常常是***者的切入點。當某個安全漏洞出現、poc代碼公開可用時,Metasploit之類的工具套件很快就會在其標準套件中包含這些漏洞。此時,任何會從Internet復制和粘貼命令的人都可以控制您的系統。

 

使用Rancher Kubernetes Engine(RKE)時,無論是單獨使用還是和Rancher一起使用,您都可以選擇要安裝的Kubernetes版本。Rancher Labs使用原生上游Kubernetes,這使公司能夠快速響應安全警報,發布修復版本的軟件。因為RKE是在Docker容器中運行Kubernetes組件的。運維團隊可以對關鍵基礎架構進行零停機升級。

 

您可以通過Rancher的GitHub主頁、微信公眾號、官網等各個渠道接收有關新版本發布的信息。我還強烈建議您在升級之前,先在staging環境中測試新版本。如果升級出錯,Rancher也可以輕松回滾到以前的版本。

 

啟用基于角色的訪問控制(RBAC)

 

安裝RKE后,RBAC會默認啟動。如果您只使用RKE或任何其他獨立的Kubernetes部署,則您需要負責配置帳戶、角色和綁定以保護您的集群。
 

如果您正在使用Rancher,它不僅會安裝安全集群,還會通過Rancher服務器,代理與這些集群的所有通信。Rancher可以插入許多后端身份驗證程序,例如Active Directory、LDAP、SAML、Github等。當以這種方式連接時,Rancher使您能夠將現有的企業身份驗證擴展到Rancher的保護傘下的所有Kubernetes集群,無論這些集群在哪里運行。
 
K8S安全軍規101:對CNCF最佳實踐的擴充
 
Rancher在全局、集群和項目級別啟用角色,使管理員可以在一個位置定義角色并將其應用于所有集群。這種RBAC-by-default和強大的身份驗證和授權控制的組合意味著從使用Rancher或RKE部署集群的那一刻起,集群就是安全的。
 
K8S安全軍規101:對CNCF最佳實踐的擴充
 
使用命名空間建立安全邊界

 

由于Kubernetes處理默認命名空間的特殊方式,我不建議您使用它。我建議您為每個應用程序創建一個命名空間,將它們定義為邏輯組。

 

Rancher定義了一個名為Project的附加抽象層。Project是命名空間的集合,可以在其上映射角色。用戶可能有權訪問某一Project,但他們無法看到任何他們無權訪問的Project中運行的任何工作負載,也無法與其進行交互。這樣一來,其實就是有效地創建了單集群多租戶。
 
K8S安全軍規101:對CNCF最佳實踐的擴充
 
使用Projects,管理員可以更輕松地授予對單個集群中多個命名空間的訪問權限。它最大限度地減少了重復配置以及人為錯誤。

 

將敏感工作負載彼此分開

 

這是一個很好的建議,因為它假定了一個問題,“如果工作負載受到損害會發生什么?”。提前采取行動可以減少破壞地范圍使***者更難以升級權限,但也并不是完全不可能。所以這可能得花費您額外的時間處理。

 

Kubernetes允許您設置污點(taints)和容差(torlerations),從而控制可能部署Pod的位置。
 

Rancher還允許您通過Kubernetes標簽控制工作負載的調度。除了污點和容差之外,在部署工作負載時,您可以為主機設置必須、應該或可以具有的標簽,這些標簽會控制Pod的部署位置。 如果您的環境是靜態的,您還可以將工作負載安排到特定節點。
 

K8S安全軍規101:對CNCF最佳實踐的擴充
 
安全的云元數據訪問

 

該建議指出,敏感的元數據“有時可能被盜或被濫用”,但未能概述“何時”或“如何”的條件。上篇文章中提到了Shopify的賞金細節的泄露, 2018年12月13日的北美KubeCon上提到了這一事件。雖然上篇文章指出GKE具有“元數據隱藏”的功能,但值得注意的是,在最開始泄露憑據的服務,正是Google Cloud元數據API。

   

此外,沒有任何證據顯示任何其他云提供商存在相同的漏洞。

 

此漏洞可能存在的唯一位置是托管的Kubernetes服務,例如GKE。如果您直接或通過Rancher將RKE部署到裸機或云計算實例上,您將最終得到一個無法通過云提供商的元數據API泄露憑據的集群。

 

如果您正在使用GKE,我建議您激活此功能以防止任何憑據通過元數據服務泄漏。我還認為云提供商不應該將憑證嵌入到可通過API訪問的元數據中。即使這樣做是為了方便,但這是一種不必要的風險,可能會產生難以想象的后果。

 
創建和定義集群網絡策略

 

直接部署或由Rancher部署的RKE集群默認使用Canal,當然,您也可以選擇Calico或Flannel。Canal和Calico都支持網絡策略。當使用Canal作為網絡提供商時,Rancher部署的集群也支持Project網絡策略。激活后,工作負載可以與其項目中的其他工作負載通信,而系統項目(包括入口控制器等集群范圍的組件)可以與所有項目進行通信。

 

早期版本的Rancher默認啟用Project網絡策略,但這給一些不了解額外安全性的用戶造成了混亂。因此,為了給用戶提供最佳體驗,此功能現在默認情況下已關閉,但如果您想啟用,也可以在啟動后輕松激活。
 
K8S安全軍規101:對CNCF最佳實踐的擴充
 
運行集群范圍的Pod安全策略

 

Pod安全策略(PSP)控制Pod必須具有某些功能和配置才能在集群中運行。例如,您可以阻止特權模式、主機網絡或以root身份運行容器。通過Rancher或RKE安裝集群時,您可以選擇是否要默認啟用受限制的PSP。如果選擇啟用它,則您的集群將立即對工作負載權限強制實施強制限制。
 
K8S安全軍規101:對CNCF最佳實踐的擴充
 
受限制的和不受限制的PSP在RKE和Rancher中是相同的,因此它們在安裝時激活的內容是一樣的。Rancher允許無限數量的額外PSP模板,所有這些都可以在全局范圍內處理。管理員定義PSP,然后將它們應用于Rancher管理的每個集群。與前面討論的RBAC配置類似,它將安全配置保存在一個位置,并大大簡化了策略的配置和應用。

 

加強節點安全

 

這不是Kubernetes特定的建議,而是一個很好的普適策略。當要與您無法控制的流量進行交互時(例如,在Kubernetes中運行的應用程序的用戶點擊量),應該讓其在***面較小的節點上運行。此外,禁用和卸載不需要的服務也是必要的。還有,應該通過SSH限制root訪問權限并需要sudo密碼加密。在SSH密鑰上使用密碼短語,或使用2FA、U2F密鑰或Krypton等服務將密鑰綁定到用戶擁有的設備。 以上這些是安全系統的基本標準配置示例。

 

除了受支持的Docker版本之外,Rancher在主機上不需要其他。并且,RKE只需要SSH訪問,它將在繼續安裝Kubernetes之前安裝Kubernetes支持的最新版本的Docker。

 
如果您想進一步減少***面,可以了解一下RancherOS,這是一個輕量級Linux操作系統,可以將所有進程作為Docker容器運行。System Docker僅運行提供訪問所需的最少數量的進程,并在用戶空間中為實際工作負載運行Docker實例。
 

啟用審核日志(Audit Logging)

 

Rancher服務器可在RKE集群內部運行,因此除了Kubernetes審核日志之外,激活對服務器本身的API調用的審核日志也很重要。此日志將顯示用戶對任何集群執行的所有操作,包括發生的事件、執行操作的人員、執行操作的時間以及執行操作的集群。從有問題的服務器發送這些日志也很重要。Rancher可以連接到Splunk、Elasticsearch、Fluentd、Kafka或任何系統日志端點,您可以從中生成可疑活動的儀表盤和警報。

 

有關為Rancher 服務器啟用審核日志的信息,請參閱我們的文檔。

(https://rancher.com/docs/rancher/v2.x/en/admin-settings/api-audit-log/ )

 

有關為RKE集群啟用審核日志的信息,請參閱下一節。

 

安全保障行動正在進行中

 

真正保護Kubernetes集群需要9項以上的操作,Rancher有一份安全強化指南(https://rancher.com/docs/rancher/v2.x/en/faq/security/ )和一份自我評估指南(https://releases.rancher.com/documents/security/latest/Rancher_Benchmark_Assessment.pdf ),涵蓋了CIS基準用于保護Kubernetes的100多種控制。

 

如果您十分在意安全性,那么Rancher、RKE以及RancherOS將會幫助您。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

张北县| 黑龙江省| 高唐县| 突泉县| 英山县| 鸡西市| 呼玛县| 曲水县| 苗栗市| 白河县| 十堰市| 万安县| 三明市| 封开县| 渝北区| 镇坪县| 龙州县| 汤阴县| 吕梁市| 吉林省| 隆林| 邯郸市| 赫章县| 怀化市| 铜陵市| 大埔区| 丹江口市| 蛟河市| 安化县| 涿鹿县| 蒙城县| 泸定县| 正定县| 鹿泉市| 龙游县| 漳州市| 桂阳县| 特克斯县| 桦川县| 江油市| 麻江县|