雲原生生態週報 Vol. 7 | Docker 再爆 CVE

業界要聞
Docker 基礎鏡像 Alpine 爆出提權漏洞(CVE-2019-5021):該CVE影響自 Alpine Linux 3.3 版本開始的全部 Docker 鏡像。該漏洞的機制在於 Alpine 的 root 用戶包含一個空密碼,這可能會致使攻擊者得到 root 權限,進而形成攻擊。報告中稱:受影響範圍是 Alpine Linux Docker 鏡像 3.三、3.四、3.五、3.六、3.七、3.八、3.九、edge 等所有版本。目前,整個容器技術生態中不少項目的基礎鏡像層都在採用Alpine。在漏洞披露後,Alpine 最新版已經修復了該問題,用戶可使用3.9.4版原本規避風險。這裏也能夠參考一些開源項目更換其餘基礎鏡像,例如 kubernetes-csi 項目的這個PR。
Docker 項目自己爆出嚴重漏洞,攻擊者能夠直接訪問宿主機文件系統(CVE-2018-15664): 5 月 29 日,來自 SUSE 的 Linux 工程師 Aleksa Sarai 彙報了這個漏洞。他指出,在某些狀況下,攻擊者能夠在 docker cp 進行文件路徑解析和執行文件操做之間的短期窗口將本身的符號連接(symlink)插入到路徑中,從而在容器中以 root 的身份直接拿到宿主機文件的符號連接,在 docker cp 的場景下,這等同於直接拿到了宿主機任意文件的讀寫權限。能夠看到,這個漏洞是 TOCTOU 攻擊的一個典型變體,利用了 Linux 操做文件時候的競爭狀態(race condition)。雖然它有可能影響全部 Docker 版本, Docker 官方出臺了補丁計劃,會在後續版本包含相應修復補丁。這次漏洞的攻擊前提是攻擊者擁有docker cp命令的使用權限,阿里雲容器服務集羣默認開啓了基於RBAC的訪問控制,非法用戶是沒有cp命令在容器內的訪問權限的。做爲用戶,最安全的方法是禁止在多租環境下啓用 docker cp 操做,而且將 Docker Daemon 經過 apparmor 等手段進行限制。萬幸的是,這個漏洞的利用方法是很是複雜的,須要構造出上述文件競態才能產生做用。更多詳細內容,請參見阿里專家的CVE-2018-15664漏洞分析報告。
上游重要進展
Kubernetes 從 v1.15 開始將採用 go module 來進行包管理。相比於原來的 Godeps,go module 在打包、編譯等多個環節上有着明顯的速度優點,而且可以在任意操做系統上方便的復現依賴包。更重要的是,go module 自己的設計使得 Kubernetes 自身被其餘項目引用變得更加容易,這也是 Kubernetes 項目向框架化演進的又一個重要體現。
Envoy正在Redis Proxy中實現request mirror功能,用於對請求作鏡像。該功能能夠指定只對固定百分比的流量作鏡像,且能夠將read相關的請求給過濾掉。
Envoy正增長路由debug的功能。經過這一功能,可掌握所發起的一個調用可否正常地路由出去,以及路由到了哪一個集羣。雖然社區已經提供了route table checker這一工具,但該工具只能用於檢查靜態路由,對於經過xDS下發的動態路由則無能爲力,路由debug功能正是瞄準動態路由的。
Knative 社區正在探索stateful-serverless,實驗性項目由lightbend公司開發(著名產品akka),指望在knative中創建一個有狀態的服務,主要依賴akka cluster加一個持久化的數據庫,能夠將請求分配給固定的容器。演示視頻:演示了一個計數器服務,另附 KubeCon 上的演講視頻
Eventing Security Requirements: 針對事件在數據平面的安全性的需求,knative提出了概要設計,主要定義事件處理的 3 個安全策略邊界及對應的安全策略:docker

事件提供者到事件源(Event Source), 經過身份認證及受權
事件流量入口(Ingress)到 Broker,經過 Token 與 Broker進行認證。
Trigger 到消費服務。由消費服務(函數)對持有 Token 的 Trigger 進行認證。
Istio 將結束對 1.0 版本的支持,請儘快升級:根據Istio社區的支持政策,在最新LTS發佈後的三個月內,會繼續支持上一個LTS版本。Istio 1.1於3月19日發佈,所以社區對1.0的支持將於2019年6月19日結束。此後,將中止在1.0版本中支持安全問題和關鍵錯誤的修復,所以建議用戶儘快升級到最新版本的Istio。https://istio.io/blog/2019/an...
開源項目推薦
Cilium:一個 Kubernetes Network Policy 的優秀實現。Cilium 是一款適用於容器間通訊的網絡策略軟件。依靠Linux的核心能力--柏克萊封包過濾器(Berkeley Packet Filter,縮寫 BPF) 在安全性和隔離性上有表現出色。目前做爲Kubernetes的addons存在,體現出很強的安全可視性和強制執行的能力。
本週閱讀推薦
Kubernetes 中 Informer 的使用簡介: Informer 是編寫 Kubernetes 自定義控制器的過程當中會常用到的一個概念,也是自定義控制器經過 WATCH 機制獲取 Kubernetes API 對象的主要手段。不過,你是否也常常對Informer 以及相關的 Reflector、Delta FIFO Queue、Local Store、WorkQueue 這些概念困惑不已呢?這篇博客經過簡單易懂的語言對 Informer 的工做原理作了一個通俗易懂的解讀,推薦你學習一下。
Service Mesh發展趨勢:雲原生中流砥柱: 介紹ServiceMesh最新的產品動態,分析其發展趨勢和將來走向;結合螞蟻的上雲實踐,闡述在雲原生背景下Service Mesh的核心價值,和對雲原生落地的關鍵做用。
本週報由阿里巴巴容器平臺聯合螞蟻金服共同發佈數據庫

本週做者:至簡、張磊、宋淨超、林育智、大虎、王夕寧segmentfault

責任編輯:木環安全

前期週報回顧
雲原生生態週報 Vol. 6 | KubeCon EU 特刊
雲原生生態週報 Vol. 5 | etcd性能知多少
雲原生生態週報 Vol. 4 | Twitter 走向 K8s
雲原生生態週報 Vol. 3 | Java 8 ️️ Docker網絡

相關文章
相關標籤/搜索