K8S首爆嚴重安全漏洞,嚴重性9.8分html
Kubernetes於昨晚爆出嚴重安全漏洞,該漏洞由Rancher Labs聯合創始人及首席架構師Darren Shepherd發現。該漏洞CVE-2018-1002105(又名Kubernetes特權升級漏洞,https://github.com/kubernetes/kubernetes/issues/71411)被確認爲嚴重性9.8分(滿分10分),惡意用戶可使用Kubernetes API服務器鏈接到後端服務器以發送任意請求,並經過API服務器的TLS憑證進行身份驗證。這一安全漏洞的嚴重性更在於它能夠遠程執行,攻擊並不複雜,不須要用戶交互或特殊權限。git
Rancher Labs聯合創始人及首席架構師 Darren Shepherd,同時也是Docker生態核心組織Docker治理委員會(DGAB)的全球僅有的四位我的頂級貢獻者之一。github
更糟糕的是,在Kubernetes的默認配置中,容許全部用戶(通過身份驗證和未經身份驗證的用戶)執行容許此升級的發現API調用。也就是說,任何瞭解這個漏洞的人均可以掌控你的Kubernetes集羣。bootstrap
最後的痛苦之處在於,對於用戶而言,沒有簡單的方法來檢測此漏洞是否已被使用。因爲未經受權的請求是經過已創建的鏈接進行的,所以它們不會出如今Kubernetes API服務器審覈日誌或服務器日誌中。請求確實會出如今kubelet或聚合的API服務器日誌中,可是卻沒法與正確經過Kubernetes API服務器受權和代理的請求區分開來。後端
如今,Kubernetes已經發布了修補版本v1.10.十一、v1.11.五、v1.12.3和v1.13.0-rc.1。若是您仍在使用Kubernetes v1.0.x至Kubernetes v1.9.x版本,請即刻中止並升級到修補版本。api
若是因爲某種緣由你沒法升級,你必須暫停使用聚合的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/