新版發行+被爆首個嚴重漏洞,Kubernetes動態有點多

K8S首爆嚴重安全漏洞,嚴重性9.8分


Kubernetes於昨晚爆出嚴重安全漏洞,該漏洞由Rancher Labs聯合創始人及首席架構師Darren Shepherd發現該漏洞CVE-2018-1002105(又名Kubernetes特權升級漏洞,https://github.com/kubernetes/kubernetes/issues/71411)被確認爲嚴重性9.8分(滿分10分),惡意用戶可以使用Kubernetes API服務器連接到後端服務器以發送任意請求,並通過API服務器的TLS憑證進行身份驗證。這一安全漏洞的嚴重性更在於它可以遠程執行,***並不複雜,不需要用戶交互或特殊權限。

Rancher Labs聯合創始人及首席架構師 Darren Shepherd,同時也是Docker生態核心組織Docker治理委員會(DGAB)的全球僅有的四位個人頂級貢獻者之一。


更糟糕的是,在Kubernetes的默認配置中,允許所有用戶(經過身份驗證和未經身份驗證的用戶)執行允許此升級的發現API調用。也就是說,任何瞭解這個漏洞的人都可以掌控你的Kubernetes集羣。

 

最後的痛苦之處在於,對於用戶而言,沒有簡單的方法來檢測此漏洞是否已被使用。由於未經授權的請求是通過已建立的連接進行的,因此它們不會出現在Kubernetes API服務器審覈日誌或服務器日誌中。請求確實會出現在kubelet或聚合的API服務器日誌中,但是卻無法與正確通過Kubernetes API服務器授權和代理的請求區分開來。

 

現在,Kubernetes已經發布了修補版本v1.10.11、v1.11.5、v1.12.3和v1.13.0-rc.1。如果您仍在使用Kubernetes v1.0.x至Kubernetes v1.9.x版本,請即刻停止並升級到修補版本。

 

如果由於某種原因你無法升級,你必須暫停使用聚合的API服務器,並從不應具有對kubelet API的完全訪問權限的用戶中刪除pod exec / attach / portforward權限(不過也有用戶認爲這種解決方法的糟糕程度和這個漏洞問題本身不相上下了)。


Kubernetes 1.13發佈,三大功能GA


昨晚差不多同一時間,Kubernetes最新版本1.13亦正式發佈,這是Kubernetes在2018年的第四次也是最後一次大版本更新。

 

距離上一版本Kubernetes 1.12發佈僅10周時間,1.13是今年Kubernetes更新最快的版本。

 

Kubernetes 1.13關注的重點依然是Kubernetes的穩定性和可擴展性,此版本中的有三個主要功能正式成爲GA狀態,包括:使用kubeadm簡化集羣管理、容器存儲接口(CSI)、以及使用CoreDNS作爲默認DNS。


使用kubeadm簡化K8S集羣管理,該功能已GA


大多數直接使用Kubernetes的用戶在某些時候都會直接上手使用kubeadm。它是管理集羣從創建到配置再到升級這一生命週期的重要工具。現在,kubeadm正式GA。kubeadm可以處理現有硬件上的生產集羣的引導(bootstrapping),並以最佳實踐方式配置核心Kubernetes組件,以便爲新節點提供安全而簡單的連接流程並能夠輕鬆升級。該GA版本中值得一提的是,現在已經完成的高級特性,特別是可拔性和可配置性。kubeadm的目標是成爲管理員和自動化的工具箱以及更高級的系統。這一版本在這個方向上已經邁進了一大步。


容器存儲接口(CSI)現已GA


容器存儲接口(CSI)在作爲alpha引入v1.9以及在v1.10作爲beta引入之後,現已正式GA。使用CSI,Kubernetes volume變得真正可擴展。這讓第三方存儲提供商可以編寫與Kubernetes互操作而無需觸及核心代碼的插件。Specification本身也達到了1.0的狀態。隨着CSI逐漸穩定,插件作者可以按照自己的節奏開發核心存儲插件。同時,可以在CSI文檔中找到樣本和生產驅動的列表:

https://kubernetes-csi.github.io/docs/Drivers.html


CoreDNS成爲Kubernetes的默認DNS服務器


在Kubernetes1.11中, CoreDNS作爲基於DNS的服務發現已經GA。在1.13中,CoreDNS將替換kube-dns,成爲Kubernetes的默認DNS服務器。CoreDNS是一個通用的、權威的DNS服務器,提供與Kubernetes向後兼容但可擴展的集成。CoreDNS比以前的DNS服務器具有更少的移動部件,因爲它是單個可執行文件和單個進程,並通過創建自定義DNS條目來支持靈活的用例。它也是用Go語言編寫,具有內存安全性。

 

CoreDNS現在是Kubernetes 1.13+推薦的DNS解決方案。該項目已將常用測試基礎架構切換爲默認使用CoreDNS,官方也建議用戶進行切換。對KubeDNS的支持和維護將至少再延續一個版本,但現在是時候開始規劃遷移了。許多OSS安裝工具已經進行了切換,包括1.11中的Kubeadm。如果您使用的是託管解決方案,請與您的供應商確認瞭解這將如何影響到您。


其他功能更新


  • 對第三方設備監控插件的支持:該功能目前被引入爲alpha功能(https://github.com/kubernetes/enhancements/issues/606)。

  • Kubelet設備插件註冊:該功能將成爲stable狀態。這創建了一個通用的Kubelet插件發現模型,可以由不同類型的節點級插件(例如設備插件、CSI和CNI)用於與Kubelet建立通信通道。

  • 拓撲感知卷調度:該功能現成爲stable狀態。這使調度程序能夠識別Pod的卷的拓撲約束,例如區域或節點。

  • APIServer DryRun:該功能即將升級爲beta版。這將“應用”和聲明性對象管理從移動kubectl到apiserver,以便修復當前無法修復的許多現有錯誤。

  • Kubectl Diff:即將升級爲beta版。這允許用戶運行kubectl命令以查看本地聲明的對象配置與活動對象的當前狀態之間的差異。

  • 使用持久性卷源的原始塊設備:正逐漸升級爲beta版。這使得原始塊設備(非網絡設備)可通過持久卷源進行使用。


用戶現可在GitHub上下載使用Kubernetes的最新版本1.13:

https://github.com/kubernetes/kubernetes/releases/tag/v1.13.0


更多參考:

https://kubernetes.io/blog/2018/12/03/kubernetes-1-13-release-announcement/

https://www.zdnet.com/article/kubernetes-first-major-security-hole-discovered/#ftag=RSSbaffb68

https://www.theregister.co.uk/2018/12/03/kubernetes_flaw_cve_2018_1002105/



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