新近爆出的runC容器逃逸漏洞,用戶如何面對?
此漏洞允許以root身份運行的容器以特權用戶身份在主機上執行任意代碼。實際上,這意味著容器可能會破壞Docker主機(覆蓋Runc CLI),而所需要的只是能夠使用root來運行容器。***者可以使用受感染的Docker鏡像或對未受感染的正在運行的容器運行exec命令。針對此問題的已知緩解措施包括:
-
使用只讀主機文件系統運行
-
運行用戶命名空間
-
不在容器中運行root
- 正確配置的AppArmor / SELinux策略(當前的默認策略不夠)
Rancher團隊第一時間響應
收到披露郵件後,RancherOS團隊立刻嘗試編寫了***腳本,在一個普通容器中運行一個非常簡單的腳本就完成了對主機的***,將主機上的runc替換成了其他程序。
漏洞披露後,Docker在第一時間發布了18.09.2,用戶可升級到此版本以修復該漏洞。Rancher Labs研發團隊同樣第一時間響應,發布了Rancher v2.1.6、v2.0.11和v1.6.26,這三個新版本Rancher支持Docker剛剛發布的18.09.2,Rancher用戶可以升級Docker版本以防止被該安全漏洞影響。
無法升級Docker版本怎麽辦
通常由於各種因素,很多用戶的生產環境並不容易升級太新的Docker版本。
為了幫助無法按照Docker官方建議升級至最新版Docker 18.09.2的用戶解決此次問題,Rancher Labs團隊更進一步,已經將修復程序反向移植到所有版本的Docker,為Docker 1.12.6、1.13.1、17.03.2、17.06.2、17.09.1、18.03.1和18.06.1提供補丁,修復這次漏洞!相關修補程序以及安裝說明,請參考:
https://github.com/rancher/runc-cve。
RancherOS的更新:v1.5.1 和 v1.4.3
RancherOS的核心部件system-docker和user-docker都依賴runc,所以v1.5.1和v1.4.3都對他們進行了更新。而針對user-docker,RancherOS可以切換各種版本的docker engine, 所以我們對以下docker engine都進行了反向移植:
v1.12.6/v1.13.1/v17.03.2/v17.06.2/v17.09.1/v17.12.1/v18.03.1/v18.06.1。
如果是默認安裝v1.5.1或v1.4.3,補丁程序已經是內置的,你無需任何操作就可以避免該漏洞。如果你希望使用早期的docker版本,那麽切換user-docker時,請使用上面提到的補丁修復版本:
同時v1.5.1版本也是支持docker 18.09.2,你可以切換到該版本,如果你考慮使用Docker官方的修復版本,只需簡單運行: ros engine switch docker-18.09.2。
我們推薦您使用最新的RancherOS v1.5.1版本,該除了修復CVE-2019-5736漏洞外還支持其他新特性以及一些Bug Fix。當然,因為仍然有很多用戶在使用1.4.x版本,所以我們也發布了v1.4.3, 它只修復了runc漏洞,沒有其他額外的更新。
AWS相關鏡像已經上傳到各個region中,可以直接搜索查找並使用,包括AWS中國區。其他主要鏡像列表參考:
https://github.com/rancher/os/blob/v1.5.x/README.md#release
更多新特性和Bug Fix請參考v1.5.1的Release Notes:
https://github.com/rancher/os/releases/tag/v1.5.1
文檔說明:
https://rancher.com/docs/os/v1.x/en/
RancherOS專註於Docker在Linux上的精簡體驗,它還是一個小眾的開源項目,歡迎您下載使用並給RancherOS團隊提供更多反饋。 同時,Github上的Star也是鼓勵我們繼續前行的精神動力喔~
初心不忘,為用戶的Docker & K8S之旅護航
Rancher Kubernetes平臺擁有著超過一億次下載量,我們深知安全問題對於用戶而言的重要性,更遑論那些通過Rancher平臺在生產環境中運行Docker及Kubernetes的數千萬用戶。
2018年年底Kubernetes被爆出的首個嚴重安全漏洞CVE-2018-1002105,就是由Rancher Labs聯合創始人及首席架構師Darren Shepherd發現的。
2019年1月Kubernetes被爆出儀表盤和外部IP代理安全漏洞時,Rancher Labs也是第一時間向用戶響應,確保所有Rancher 2.x和1.6.x的用戶都完全不被漏洞影響。
未來,Rancher也將一如既往陪伴與支持在用戶的K8S之路左右??
新近爆出的runC容器逃逸漏洞,用戶如何面對?