新聞中心
Docker給應(yīng)用虛擬化帶來(lái)了改進(jìn),但這對(duì)安全性又意味著什么?在本文中,專家Ed Moyle介紹了Docker以及它對(duì)企業(yè)和云安全的影響。

如果你是應(yīng)用開(kāi)發(fā)人員或者虛擬環(huán)境的系統(tǒng)管理員,在過(guò)去一年左右的時(shí)間,你肯定聽(tīng)到了不少關(guān)于Docker的消息。這個(gè)針對(duì)Linux應(yīng)用容器虛擬化的平臺(tái)現(xiàn)在非?!盎鸨保珼ocker為開(kāi)發(fā)團(tuán)隊(duì)帶來(lái)的靈活性以及給數(shù)據(jù)中心帶來(lái)的性能優(yōu)勢(shì)可能帶來(lái)革命性變化。
但是,安全專業(yè)人員可能不太熟悉Docker。很多人可能還沒(méi)有聽(tīng)說(shuō)過(guò)Docker,而對(duì)于知道Docker的人,他們可能想要了解這個(gè)工具的安全性,他們會(huì)問(wèn):Docker會(huì)如何改變我們的安全配置?隨著Docker使用變得更加普遍,我們應(yīng)該應(yīng)該考慮什么問(wèn)題?我們現(xiàn)有的安全機(jī)制是否適合Docker環(huán)境?
在本文中,我們將深入探討Docker,什么是Docker、它為什么如此受歡迎以及一些安全方面的問(wèn)題。
如果你是安全專業(yè)人員,你需要了解Docker,首先因?yàn)榭紤]到其流行程度,你會(huì)想知道在短期內(nèi)如何保護(hù)它。其次,Docker很重要,因?yàn)樗赡茏罱K提供一些長(zhǎng)期的安全優(yōu)勢(shì)(這取決于你如何利用它)。下面讓我們看看Docker及其對(duì)企業(yè)安全的影響。
什么是Docker?
簡(jiǎn)而言之,Docker是基于Linux的開(kāi)源應(yīng)用容器抽象化和虛擬化機(jī)制。雖然“基于Linux的開(kāi)源”很好理解,但“應(yīng)用容器抽象化”可能讓人困惑。開(kāi)始你可能會(huì)覺(jué)得它很復(fù)雜,但這個(gè)概念本身其實(shí)很簡(jiǎn)單。從本質(zhì)上講,Docker可以幫助創(chuàng)建獨(dú)立虛擬環(huán)境(即容器),在這個(gè)環(huán)境中應(yīng)用可以“做自己的事情”。這個(gè)虛擬容器為應(yīng)用提供了對(duì)底層操作系統(tǒng)的自己的半私人化(和隔離的)“視圖”,包括存儲(chǔ)、網(wǎng)絡(luò)、流程等資源。在很多方面,這在概念上類似于OS虛擬化。然而,想一想虛擬OS鏡像中應(yīng)用不關(guān)心或?qū)iT(mén)使用的“開(kāi)銷(xiāo)”。例如,對(duì)于運(yùn)行相同LAMP堆棧的兩個(gè)Web應(yīng)用,這個(gè)底層堆棧在這兩個(gè)應(yīng)用之間有多少差異?從整體OS安裝的百分比來(lái)看,并不是那么多,對(duì)嗎?僅虛擬化應(yīng)用(例如使用Docker Engine)讓虛擬或物理OS實(shí)例隔離應(yīng)用,這反過(guò)來(lái)又允許創(chuàng)建更輕更小的應(yīng)用程序包,僅包含它們運(yùn)行所需要的東西。
開(kāi)發(fā)人員發(fā)現(xiàn)這個(gè)概念很強(qiáng)大,因?yàn)檫@可以為他們的應(yīng)用帶來(lái)更便攜更容易定制的容器,這意味著他們只需花更少的時(shí)間來(lái)定制OS環(huán)境,同時(shí)有更多的時(shí)間來(lái)開(kāi)發(fā)應(yīng)用功能。數(shù)據(jù)中心團(tuán)隊(duì)也發(fā)現(xiàn)這個(gè)概念的價(jià)值,因?yàn)樗梢詫?shí)現(xiàn)更有效的資源利用,從而實(shí)現(xiàn)數(shù)據(jù)中心更高的分配密度(例如更多的應(yīng)用和更少的資源來(lái)支持它們)。
Docker安全性如何?
從安全的角度來(lái)看,應(yīng)用虛擬化聽(tīng)起來(lái)很吸引人。有些安全專家可能會(huì)認(rèn)為這是利用chroot來(lái)沙箱化文件系統(tǒng)的概念的延伸--或者作為FreeBSD下“jail”的直接模擬,這兩種都是隔離底層系統(tǒng)與單個(gè)應(yīng)用的方法。雖然從這個(gè)角度來(lái)看有一些優(yōu)勢(shì),但也有一些不同之處需要注意,安全專家在評(píng)估Docker安全以及圍繞其構(gòu)建控制時(shí)也應(yīng)該注意這些問(wèn)題。首先,直到最近才出現(xiàn)自動(dòng)驗(yàn)證官方Docker鏡像完整性的方法。官方鏡像包含支持應(yīng)用運(yùn)行的核心實(shí)用程序和軟件。這可能是官方版本的Linux基本鏡像、中間件組件(例如MySQL或postgreSQL)或前端組件(例如Apache或WordPress)。
10月發(fā)布的1.3版本帶來(lái)的變化是支持自動(dòng)化數(shù)字簽名驗(yàn)證,以便這些官方鏡像的用戶可以確保鏡像在下載前沒(méi)有被篡改。因?yàn)檫@個(gè)功能,篡改官方鏡像在長(zhǎng)期來(lái)看不再是問(wèn)題。然而,由于可能還是會(huì)存在一些1.3版本前的部署,你應(yīng)該做的事情(針對(duì)1.3版本前的部署)是提供你下載的鏡像,并安裝一些額外的審查。
毫無(wú)疑問(wèn),解決1.3版本前的安裝是一個(gè)好主意。與任何軟件一樣,Docker引擎本身可能存在漏洞。例如,最新的1.3.2更新解決了一些明顯的安全問(wèn)題--破壞容器之間的分隔,有個(gè)漏洞允許鏡像放松安全限制,另一個(gè)漏洞允許任意文件系統(tǒng)寫(xiě)入(由此執(zhí)行代碼)。這些問(wèn)題應(yīng)該作為很好的例子來(lái)說(shuō)明,為什么確保安全性和保持軟件更新那么重要。
第二個(gè)需要記住的是,應(yīng)用容器不一定會(huì)執(zhí)行與管理程序在“切片”之間實(shí)現(xiàn)的相同水平的隔離。管理程序已經(jīng)做了相當(dāng)多的工作來(lái)確保應(yīng)用相互隔離,其指導(dǎo)方針是,“傳統(tǒng)虛擬化技術(shù)(Xen、VMware、KVM等部署的技術(shù))被認(rèn)為比容器更安全,因?yàn)樗鼈兲峁╊~外水平的隔離。容器可以發(fā)出系統(tǒng)調(diào)用到主機(jī)內(nèi)核,而完整的虛擬機(jī)只能發(fā)出管理程序調(diào)用到主機(jī)虛擬機(jī)管理程序,這一般會(huì)產(chǎn)生更小的攻擊面。”
這個(gè)指導(dǎo)可以并且應(yīng)該影響你企業(yè)的使用情況。在短期內(nèi)你要謹(jǐn)慎考慮你對(duì)該隔離機(jī)制的信任度。例如,如果你在評(píng)估多租戶情況,其中你對(duì)應(yīng)用旁邊運(yùn)行的程序只有有限或更少的控制(例如在公共云的情況),你可能需要謹(jǐn)慎選擇放到這個(gè)環(huán)境的應(yīng)用。這樣的用例可能適合低敏感度的應(yīng)用,你可能不會(huì)考慮轉(zhuǎn)移HR或總賬系統(tǒng)到這樣的環(huán)境。
安全優(yōu)勢(shì)體現(xiàn)在?
就實(shí)用性而言,如果應(yīng)用得當(dāng),使用應(yīng)用容器可能帶來(lái)安全優(yōu)勢(shì)。首先,從管理的角度來(lái)看可以帶來(lái)優(yōu)勢(shì),這可以幫助降低復(fù)雜性。降低復(fù)雜性本身又可以幫助提高安全性。例如,與在多個(gè)不同虛擬OS實(shí)例應(yīng)用相同的控制相比,為使用應(yīng)用容器的單個(gè)平臺(tái)添加安全機(jī)制、系統(tǒng)更新或硬化技術(shù)要更加簡(jiǎn)單。
其次,雖然現(xiàn)在應(yīng)用容器可能無(wú)法執(zhí)行與管理程序相同水平的隔離,但它提供更好的保護(hù),因?yàn)樵凇皫?kù)存”Web服務(wù)器,一個(gè)應(yīng)用的感染可能意味著整個(gè)系統(tǒng)的感染。
從安全的角度來(lái)看,有些事情非常重要而需要慎重對(duì)待,但同時(shí)也有一些優(yōu)勢(shì)。根據(jù)你使用的情況,Docker可以成為你的安全工具包中的重要組成部分,這絕對(duì)是值得你關(guān)注的工具。
網(wǎng)頁(yè)題目:Docker對(duì)企業(yè)云安全產(chǎn)生的影響是怎樣的?
文章路徑:http://fisionsoft.com.cn/article/djeopij.html


咨詢
建站咨詢
