K8s爆嚴重安全漏洞?有何應對措施與建議

Kubernetes最近爆出嚴重安全漏洞,影響幾乎目前所有的版本。實際影響究竟多大?老版本用戶是否必須升級?以下是華爲雲容器服務團隊對該漏洞的分析解讀。

Kubernetes爆出的嚴重安全漏洞:

***者通過構造特殊請求,可以在一個普通權限的鏈接上提升權限,向被代理的後端服務器發送任意請求。

該問題影響了幾乎Kubernetes目前所有的版本,包括:

Kubernetes v1.0.x-1.9.x

Kubernetes v1.10.0-1.10.10 (fixed in v1.10.11)

Kubernetes v1.11.0-1.11.4 (fixed in v1.11.5)

Kubernetes v1.12.0-1.12.2 (fixed in v1.12.3)

什麼樣的集羣可能被***?

集羣啓用了擴展API server,並且kube-apiserver與擴展API server的網絡直接連通;

集羣對***者可見,即***者可以訪問到kube-apiserver的接口,如果你的集羣是部署在安全的私網內,那麼不會有影響;

集羣開放了 pod exec/attach/portforward 接口,則***者可以利用該漏洞獲得所有的kubelet API訪問權限。

再看具體影響的場景

集羣使用了聚合API,只要kube-apiserver與聚合API server的網絡直接連通,***者就可以利用這個漏洞向聚合API服務器發送任何API請求;

如果集羣開啓了匿名用戶訪問的權限,則匿名用戶也利用這個漏洞。不幸的是K8s默認允許匿名訪問,即kube-apiserver的啓動參數”-- anonymous-auth=true”;

給予用戶Pod的exec/attach/portforward的權限,用戶也可以利用這個漏洞升級爲集羣管理員,可以對任意Pod做破壞操作;

該漏洞的更詳細討論,可見社區Issue:

https://github.com/kubernetes/kubernetes/issues/71411

應對措施與建議

綜合以上分析,使用華爲雲CCE服務的小夥伴們不必過於擔心,因爲:

CCE服務創建的集羣默認關閉匿名用戶訪問權限

CCE服務創建的集羣沒有使用聚合API

如果,你開啓了RBAC權限,且給用戶分配了Pod的exec/attach/portforward權限,華爲雲CCE容器服務將於今晚完成所有現網1.11版本K8S集羣的在線補丁修復,針對低於v1.10的集羣(社區已不對其進行修復),本週我們也會提供補丁版本進行修復,請關注升級公告,及時修復漏洞。

Tips:如果你是自己搭建K8s集羣,爲提高集羣的安全係數,建議如下,

一定要關閉匿名用戶訪問權限。

儘快升級到社區漏洞修復版本。合理配置RBAC,只給可信用戶Pod的

exec/attach/portforward權限.

如果你當前使用的K8s版本低於v1.10,不在官方補丁支持範圍內,建議自行回合補丁代碼 :

https://github.com/kubernetes/kubernetes/pull/71412

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