新版發行+被爆首個嚴重漏洞,Kubernetes動態有點多
K8S首爆嚴重安全漏洞,嚴重性9.8分
Kubernetes於昨晚爆出嚴重安全漏洞,該漏洞由Rancher Labs聯合創始人及首席架構師Darren Shepherd發現。該漏洞CVE-2018-1002105(又名Kubernetes特權升級漏洞, ofollow,noindex" target="_blank">https://github.com/kubernetes/ ... 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/ ... s/606 )。
- Kubelet裝置外掛註冊:該功能將成為stable狀態。這建立了一個通用的Kubelet外掛發現模型,可以由不同型別的節點級外掛(例如裝置外掛、CSI和CNI)用於與Kubelet建立通訊通道。
- 拓撲感知卷排程:該功能現成為stable狀態。這使排程程式能夠識別Pod的卷的拓撲約束,例如區域或節點。
- APIServer DryRun:該功能即將升級為beta版。這將“應用”和宣告性物件管理從移動kubectl到apiserver,以便修復當前無法修復的許多現有錯誤。
- Kubectl Diff:即將升級為beta版。這允許使用者執行kubectl命令以檢視本地宣告的物件配置與活動物件的當前狀態之間的差異。
- 使用永續性卷源的原始塊裝置:正逐漸升級為beta版。這使得原始塊裝置(非網路裝置)可通過持久卷源進行使用。
使用者現可在GitHub上下載使用Kubernetes的最新版本1.13: