域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)
美國(guó)時(shí)間2019年2月11日晚,runc通過(guò)oss-security郵件列表披露了runc容器逃逸漏洞的詳情。runc是Docker、CRI-O、Containerd、Kubernetes等底層的容器運(yùn)行時(shí),此次安全漏洞無(wú)可避免地會(huì)影響大多數(shù)Docker與Kubernetes用戶,也因此為整個(gè)業(yè)界高度關(guān)注。
漏洞披露后,Docker在第一時(shí)間發(fā)布了兩個(gè)版本18.06.2和18.09.2,這兩個(gè)版本都可以修復(fù)runc漏洞。Rancher Labs極速響應(yīng),Rancher Kubernetes管理平臺(tái)和RancherOS操作系統(tǒng)均在不到一天時(shí)間內(nèi)緊急更新,是業(yè)界第一個(gè)緊急發(fā)布新版本支持Docker補(bǔ)丁版本的平臺(tái),并持嚴(yán)謹(jǐn)態(tài)度在oss-security郵件列表披露漏洞后的五小時(shí)內(nèi)連夜郵件通知所有Rancher用戶此次漏洞的詳情及應(yīng)對(duì)之策。
值得一提的是,盡管Docker發(fā)布了修復(fù)版本,但因?yàn)椴皇撬杏脩舳寄茌p易將生產(chǎn)環(huán)境中的Docker版本升至最新,Rancher幫忙將修復(fù)程序反向移植到所有版本的Docker并提供給用戶。目前Docker官方提供的修復(fù)版本并不支持3.x內(nèi)核(只兼容4.x內(nèi)核),而runc的開(kāi)發(fā)者特意向Rancher提交了支持3.x內(nèi)核的PR,目前PR已合并,Rancher提供的方案現(xiàn)已支持3.x內(nèi)核。
runc漏洞詳情
runc是一個(gè)根據(jù)OCI(Open Container Initiative)標(biāo)準(zhǔn)創(chuàng)建并運(yùn)行容器的CLI工具,目前Docker引擎內(nèi)部也是基于runc構(gòu)建的。 2019年2月11日,研究人員通過(guò)oss-security郵件列表(https://www.openwall.com/lists/oss-security/2019/02/11/2)披露了runc容器逃逸漏洞的詳情,根據(jù)OpenWall的規(guī)定EXP會(huì)在7天后也就是2019年2月18日公開(kāi)。
此漏洞允許以root身份運(yùn)行的容器以特權(quán)用戶身份在主機(jī)上執(zhí)行任意代碼。實(shí)際上,這意味著容器可能會(huì)破壞Docker主機(jī)(覆蓋Runc CLI),而所需要的只是能夠使用root來(lái)運(yùn)行容器。攻擊者可以使用受感染的Docker鏡像或?qū)ξ词芨腥镜恼谶\(yùn)行的容器運(yùn)行exec命令。針對(duì)此問(wèn)題的已知緩解措施包括:
● 使用只讀主機(jī)文件系統(tǒng)運(yùn)行
● 運(yùn)行用戶命名空間
● 不在容器中運(yùn)行root
● 正確配置的AppArmor / SELinux策略(當(dāng)前的默認(rèn)策略不夠)
Rancher團(tuán)隊(duì)第一時(shí)間響應(yīng)
收到披露郵件后,Rancher OS團(tuán)隊(duì)立刻嘗試編寫(xiě)了攻擊腳本,在一個(gè)普通容器中運(yùn)行一個(gè)非常簡(jiǎn)單的腳本就完成了對(duì)主機(jī)的攻擊,將主機(jī)上的runc替換成了其他程序。
漏洞披露后,Docker在第一時(shí)間發(fā)布了18.09.2,用戶可升級(jí)到此版本以修復(fù)該漏洞。Rancher Labs研發(fā)團(tuán)隊(duì)同樣第一時(shí)間響應(yīng),發(fā)布了Rancher v2.1.6、v2.0.11和v1.6.26,這三個(gè)新版本Rancher支持Docker剛剛發(fā)布的18.09.2,Rancher用戶可以升級(jí)Docker版本以防止被該安全漏洞影響。
無(wú)法升級(jí)Docker版本怎么辦
通常由于各種因素,很多用戶的生產(chǎn)環(huán)境并不容易升級(jí)太新的Docker版本。
為了幫助無(wú)法按照Docker官方建議升級(jí)至最新版Docker 18.09.2的用戶解決此次問(wèn)題,Rancher Labs團(tuán)隊(duì)更進(jìn)一步,已經(jīng)將修復(fù)程序反向移植到所有版本的Docker,為Docker 1.12.6、1.13.1、17.03.2、17.06.2、17.09.1、18.03.1和18.06.1提供補(bǔ)丁,修復(fù)這次漏洞!相關(guān)修補(bǔ)程序以及安裝說(shuō)明,請(qǐng)參考: https://github.com/rancher/runc-cve。
RancherOS的更新:v1.5.1 和 v1.4.3
RancherOS作為一款容器化操作系統(tǒng),其中很多組件依賴runc,我們也在第一時(shí)間更新了補(bǔ)丁并發(fā)布了v1.5.1和v1.4.3兩個(gè)版本。
RancherOS的核心部件system-docker和user-docker都依賴runc,所以v1.5.1和v1.4.3都對(duì)他們進(jìn)行了更新。而針對(duì)user-docker,RancherOS可以切換各種版本的docker engine, 所以我們對(duì)以下docker engine都進(jìn)行了反向移植:v1.12.6/v1.13.1/v17.03.2/v17.06.2/v17.09.1/v17.12.1/v18.03.1/v18.06.1。
如果是默認(rèn)安裝v1.5.1或v1.4.3,補(bǔ)丁程序已經(jīng)是內(nèi)置的,你無(wú)需任何操作就可以避免該漏洞。如果你希望使用早期的docker版本,那么切換user-docker時(shí),請(qǐng)使用上面提到的補(bǔ)丁修復(fù)版本:
同時(shí)v1.5.1版本也是支持docker 18.09.2,你可以切換到該版本,如果你考慮使用Docker官方的修復(fù)版本,只需簡(jiǎn)單運(yùn)行: ros engine switch docker-18.09.2。
我們推薦您使用最新的RancherOS v1.5.1版本,該除了修復(fù)CVE-2019-5736漏洞外還支持其他新特性以及一些Bug Fix。當(dāng)然,因?yàn)槿匀挥泻芏嘤脩粼谑褂?.4.x版本,所以我們也發(fā)布了v1.4.3, 它只修復(fù)了runc漏洞,沒(méi)有其他額外的更新。
AWS相關(guān)鏡像已經(jīng)上傳到各個(gè)region中,可以直接搜索查找并使用,包括AWS中國(guó)區(qū)。其他主要鏡像列表參考: https://github.com/rancher/os/blob/v1.5.x/README.md#release
更多新特性和Bug Fix請(qǐng)參考v1.5.1的Release Notes: https://github.com/rancher/os/releases/tag/v1.5.1
文檔說(shuō)明: https://rancher.com/docs/os/v1.x/en/
RancherOS專注于Docker在Linux上的精簡(jiǎn)體驗(yàn),它還是一個(gè)小眾的開(kāi)源項(xiàng)目,歡迎您下載使用并給RancherOS團(tuán)隊(duì)提供更多反饋。 同時(shí),Github上的Star也是鼓勵(lì)我們繼續(xù)前行的精神動(dòng)力!
初心不忘,為用戶的Docker & K8S之旅護(hù)航
Rancher Kubernetes平臺(tái)擁有著超過(guò)一億次下載量,我們深知安全問(wèn)題對(duì)于用戶而言的重要性,更遑論那些通過(guò)Rancher平臺(tái)在生產(chǎn)環(huán)境中運(yùn)行Docker及Kubernetes的數(shù)千萬(wàn)用戶。
2018年年底Kubernetes被爆出的首個(gè)嚴(yán)重安全漏洞CVE-2018-1002105,就是由Rancher Labs聯(lián)合創(chuàng)始人及首席架構(gòu)師Darren Shepherd發(fā)現(xiàn)的;2019年1月,Kubernetes被爆出儀表盤(pán)和外部IP代理安全漏洞時(shí),Rancher Labs第一時(shí)間向用戶響應(yīng),確保所有Rancher 2.x和1.6.x的用戶都完全不被漏洞影響。
這次,在得悉runc爆出容器逃逸漏洞之后,Rancher Labs立即響應(yīng),緊急發(fā)布新版本支持Docker補(bǔ)丁版本18.09.2的平臺(tái),第一時(shí)間通知用戶漏洞詳情及應(yīng)對(duì)之策,并幫忙將修復(fù)程序反向移植到所有版本的Docker并提供給用戶,為用戶的容器安全保駕護(hù)航。
負(fù)責(zé)、可靠、快速響應(yīng)、以用戶為中心,是Rancher始終不變的初心;在每一次業(yè)界出現(xiàn)問(wèn)題時(shí),嚴(yán)謹(jǐn)踏實(shí)為用戶提供相應(yīng)的應(yīng)對(duì)之策,也是Rancher一如既往的行事之道。未來(lái),Rancher也將一如既往支持與守護(hù)在用戶的K8S之路左右,確保大家安全、穩(wěn)妥、無(wú)虞地繼續(xù)前進(jìn)。
About Rancher Labs
Rancher Labs由硅谷云計(jì)算泰斗、CloudStack之父梁勝創(chuàng)建,致力于打造創(chuàng)新的開(kāi)源軟件,幫助企業(yè)在生產(chǎn)環(huán)境中運(yùn)行容器與Kubernetes。旗艦產(chǎn)品Rancher是一個(gè)開(kāi)源的企業(yè)級(jí)Kubernetes平臺(tái),是業(yè)界首個(gè)且唯一可以管理所有云上、所有發(fā)行版、所有Kubernetes集群的平臺(tái)。解決了生產(chǎn)環(huán)境中企業(yè)用戶可能面臨的基礎(chǔ)設(shè)施不同的困境,改善Kubernetes原生UI易用性不佳以及學(xué)習(xí)曲線陡峭的問(wèn)題,是企業(yè)落地Kubernetes的不二之選。
Rancher在全球擁有超過(guò)一億的下載量,超過(guò)20000家企業(yè)客戶。全球知名企業(yè)如中國(guó)人壽、華為、中國(guó)平安、民生銀行、興業(yè)銀行、上汽集團(tuán)、海爾、米其林、天合光能、豐田、本田、霍尼韋爾、金風(fēng)科技、普華永道、海南航空、廈門(mén)航空、恒大人壽、中國(guó)太平、巴黎銀行、美國(guó)銀行、HSCIS恒生指數(shù)、中國(guó)水利、暴雪、CCTV等均是Rancher的付費(fèi)客戶。
申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!