容器如同洗衣機(jī)——認(rèn)真清理很重要
譯文【51CTO.com快譯】隨著企業(yè)越來(lái)越多轉(zhuǎn)向容器技術(shù)以改進(jìn)自身應(yīng)用交付能力與敏捷性,容器及其內(nèi)容的安全性影響也開始受到愈發(fā)嚴(yán)格的審查。
容器供應(yīng)商Docker、紅帽以及其它企業(yè)正在積極行動(dòng),旨在就安全性相關(guān)顧慮進(jìn)行市場(chǎng)安撫。去年8月,Docker在最新推出的Docker 1.8版本當(dāng)中提供Docker Content Trust功能。其利用加密機(jī)制對(duì)運(yùn)行在Docker用戶軟件基礎(chǔ)設(shè)施之內(nèi)的代碼及軟件版本進(jìn)行保護(hù)。這一設(shè)計(jì)思路旨在保護(hù)Docker用戶免受惡意后門的侵襲,具體包括共享應(yīng)用鏡像以及其它潛在安全威脅。
Docker Content Trust專注于實(shí)現(xiàn)所交付Docker容器內(nèi)容的一致性。最終,其會(huì)利用加密簽名進(jìn)行Docker鏡像部署,這套方案亦適用于Linux內(nèi)核開發(fā)并為眾多嵌入式系統(tǒng)開發(fā)商及OEM廠商所選擇,旨在確保只有經(jīng)過簽名的鏡像才能夠進(jìn)行啟動(dòng)(例如三星KNOX Android代碼)。
然而,這也只是容器安全的惟一一道屏障。換言之,我們?cè)诒U险诅R像免受安全漏洞威脅方面面臨著嚴(yán)峻挑戰(zhàn)。如果企業(yè)無(wú)法確保軟件堆棧與應(yīng)用組合遠(yuǎn)離已知威脅、有漏洞開源軟件源代碼版本等因素,那么上述舉措只能作為部分解決方案而非真正搞定問題。如果沒有這種開源清理機(jī)制作為輔助,我們所使用的代碼將始終同其剛剛被開發(fā)出時(shí)一樣——其中包含著大量存在于開源組件內(nèi)的安全漏洞。
一種更為全面的容器安全實(shí)現(xiàn)方式
我們需要的是利用可靠的開源技術(shù)選項(xiàng)、用戶與開源代碼集成警惕性以及代碼持續(xù)維護(hù)工作。而最重要的是了解自己的代碼內(nèi)容,因此我們無(wú)法管理自己看不到的事物。
對(duì)容器內(nèi)部代碼具備可審視能力對(duì)容器安全來(lái)說(shuō)至關(guān)重要,其甚至是決定容器自身是否安全的先決條件。新型安全漏洞正被不斷發(fā)現(xiàn),而這些漏洞都會(huì)給開源組件各前期版本造成影響。因此,從構(gòu)建及部署工作之初就確保其中不存在安全漏洞可謂至關(guān)重要,但單純做到這一點(diǎn)還遠(yuǎn)遠(yuǎn)不夠。保護(hù)容器內(nèi)容在困難程度上同保護(hù)其它軟件堆棧安全性并無(wú)區(qū)別,其惟一的特性就是我們?cè)摵螘r(shí)以及如何在容器開發(fā)與部署完成之后繼續(xù)保持對(duì)其可查看能力。
容器帶來(lái)的安全風(fēng)險(xiǎn)具體取決于通過容器所訪問之?dāng)?shù)據(jù)的敏感性程度以及容器部署的具體位置,例如在防火墻之后抑或是面向互聯(lián)網(wǎng)。
面向互聯(lián)網(wǎng)的Web與云應(yīng)用已經(jīng)成為網(wǎng)絡(luò)犯罪活動(dòng)的主要目標(biāo),而且明顯代表著最可怕的潛在風(fēng)險(xiǎn)。作為一類公開攻擊面,它們會(huì)受到各種攻擊活動(dòng)的侵?jǐn)_,包括跨站點(diǎn)腳本、SQL注入以及拒絕服務(wù)等等??紤]到開源框架與其它云/Web應(yīng)用組件的大規(guī)模普及,通過開源清理工作對(duì)這些組件當(dāng)中的安全漏洞進(jìn)行處理能夠顯著提升安全性水平。
為什么開源清理如此必要
隨著開源軟件在企業(yè)環(huán)境中不斷普及,再加上最近高曝光度開源安全漏洞的大量出現(xiàn),如今開源清理已經(jīng)成為實(shí)現(xiàn)安全需求并建立強(qiáng)大應(yīng)用安全戰(zhàn)略的一類重要組成部分。正如醫(yī)療衛(wèi)生領(lǐng)域注視清理感染源,開源清理工作亦著眼于代碼源頭,旨在確保軟件堆棧及應(yīng)用程序組合當(dāng)中所使用的開源代碼不受已知可利用漏洞的影響。這一點(diǎn)對(duì)于容器乃至整套軟件堆棧中的各個(gè)元素都非常重要。
任何類型的軟件當(dāng)中都必然存在著安全漏洞,開源代碼自然也不例外。檢測(cè)并解決開源項(xiàng)目中的安全漏洞正變得愈發(fā)重要,特別是在Heartbleed以及Freak兩大高關(guān)注度安全漏洞曝光以來(lái),很多企業(yè)已經(jīng)開始將開源代碼清理作為強(qiáng)大應(yīng)用安全戰(zhàn)略中的關(guān)鍵性組成部分。另外,目前眾多組織機(jī)構(gòu)也開始將應(yīng)用程序安全以前所未有的力度同容器安全加以結(jié)合。
好消息是,對(duì)于正在開發(fā)端到端開源安全戰(zhàn)略的企業(yè)而言,目前已經(jīng)存在著大量創(chuàng)新型工具,足以作為理想的戰(zhàn)術(shù)性立足點(diǎn)。這些工具能夠?qū)浖M合中的全部開源組成部分進(jìn)行分類——從Linux、Android以及Hadoop等完整平臺(tái)到個(gè)別代碼組件,甚至能夠一路細(xì)化到內(nèi)部開發(fā)之應(yīng)用代碼甚至代碼片段的水平。
這些掃描工具在切合企業(yè)用戶需求或者被集成至軟件開發(fā)流程當(dāng)中后,能夠提供大量重要信息供決策者參考及實(shí)施,而且完全不會(huì)拖慢或者推遲產(chǎn)品的上市周期。
要想實(shí)現(xiàn)開源清理,我們必須建立起強(qiáng)大的流程以實(shí)現(xiàn)以下幾項(xiàng)檢查工作:
- 應(yīng)用程序與哪款開源軟件協(xié)作運(yùn)作或者一同部署
- 這款開源軟件處于構(gòu)建樹及系統(tǒng)架構(gòu)中的各個(gè)位置
- 該代碼是否存在已知安全漏洞
- 創(chuàng)建一份準(zhǔn)確的開源風(fēng)險(xiǎn)概要
安全擔(dān)憂是否會(huì)拖慢容器普及速度?
企業(yè)組織如今之所以積極接納容器技術(shù),是因?yàn)槠渚邆渲T多成熟性優(yōu)勢(shì):提升應(yīng)用程序可擴(kuò)展能力、降低部署出錯(cuò)機(jī)率、縮短產(chǎn)品上市時(shí)間并簡(jiǎn)化應(yīng)用程序管理。而隨著企業(yè)多年來(lái)對(duì)開源項(xiàng)目的觀點(diǎn)逐漸由純粹的好奇轉(zhuǎn)化為以精力需要為出發(fā)點(diǎn),容器似乎已經(jīng)達(dá)到了類似的發(fā)展轉(zhuǎn)折點(diǎn)。另外,正如開源代碼一樣,目前市場(chǎng)同樣提出了類似的問題——安全問題是否會(huì)阻礙其進(jìn)一步普及。
行業(yè)分析師們對(duì)這一問題的結(jié)論有所不同。Forrester研究公司的Dave Bartoletti認(rèn)為安全問題不會(huì)顯著降低容器的普及速度,甚至這類虛擬化技術(shù)的前進(jìn)腳步會(huì)快于安全要求的逐步明確。“在虛擬化領(lǐng)域,人們無(wú)論如何都會(huì)進(jìn)行部署,即使安全部門與合規(guī)性要求皆未到位,而且我認(rèn)為我們?cè)贒ocker身上將看到同樣的跡象,”Bartoletti表示。
與此同時(shí),451研究公司的Adrian Sanabria則認(rèn)為,企業(yè)將對(duì)容器保持敬而遠(yuǎn)之的態(tài)度,直到與之相關(guān)的安全標(biāo)準(zhǔn)得以確定及建立。“實(shí)際情況是,安全已經(jīng)成為一大重要障礙,其直接導(dǎo)致很多企業(yè)根本不會(huì)嘗試容器技術(shù),直到一定程度的標(biāo)準(zhǔn)陸續(xù)出臺(tái),”Sanabria斷言。而作為這種論調(diào)的另一項(xiàng)證明,紅帽公司于2015年1月在亞太地區(qū)、歐洲、中東以及北美進(jìn)行了一次調(diào)查,并發(fā)現(xiàn)有53%的受訪者表示安全性是他們?cè)诿鎸?duì)容器技術(shù)采納時(shí)最關(guān)注的方向。
為了克服這些障礙,企業(yè)應(yīng)當(dāng)采取更理想的行動(dòng)對(duì)自身軟件基礎(chǔ)架構(gòu)內(nèi)的全部元素進(jìn)行審視與控制,其中當(dāng)然也包括容器技術(shù)因素。
原文標(biāo)題:What’s inside your containers? Why visibility and control are critical for container security
【51CTO.com獨(dú)家譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明來(lái)源】