由于容器虛擬化技術(shù)可以充分利用硬件資源,對(duì)于開(kāi)發(fā)團(tuán)隊(duì)就像夢(mèng)想照進(jìn)了現(xiàn)實(shí)。盡管容器化沒(méi)有推翻虛擬機(jī)在企業(yè)應(yīng)用開(kāi)發(fā)和部署上的地位,但是Docker等工具在實(shí)現(xiàn)開(kāi)發(fā)、測(cè)試和部署大規(guī)?,F(xiàn)代軟件的速度和敏捷性方面大展身手。Docker容器具有諸多優(yōu)點(diǎn):無(wú)需復(fù)雜的hypervisor、可移植性、資源隔離性、輕量級(jí)、開(kāi)放標(biāo)準(zhǔn)、完美適應(yīng)微服務(wù)架構(gòu)。眾多的應(yīng)用通過(guò)容器隔離起來(lái),相互獨(dú)立地運(yùn)行在同一臺(tái)宿主機(jī)上,哪家公司不喜歡呢?
容器的速度和易用性帶來(lái)了無(wú)限的可能,開(kāi)發(fā)團(tuán)隊(duì)很容易被吸引。迄今為止,Docker容器的下載量已經(jīng)超過(guò)4個(gè)億。但是,對(duì)于容器化的擔(dān)憂(yōu)真真切切地存在。如果你被一時(shí)的熱情沖昏了頭腦,反而會(huì)適得其反,無(wú)法利用容器的潛力,阻礙開(kāi)發(fā)的快速迭代和創(chuàng)新。如果你的公司決定要安全地?fù)肀ocker,你需要謹(jǐn)慎地處理安全問(wèn)題并避免牛仔編程文化。
需要澄清的是,Docker聲稱(chēng)自己是安全的,但關(guān)鍵在于你必須負(fù)責(zé)任地使用。當(dāng)你開(kāi)始使用Docker,你會(huì)在鏡像倉(cāng)庫(kù)(repos)發(fā)現(xiàn)有很多可下載的模板(“images”),它提供了一條編寫(xiě)微服務(wù)應(yīng)用的捷徑,從而大大加快開(kāi)發(fā)速度。問(wèn)題是你如何判斷哪些images是安全的,是否包含漏洞。個(gè)人開(kāi)發(fā)者可能不太關(guān)心Image的漏洞,但是對(duì)于企業(yè),安全和數(shù)據(jù)審查是至關(guān)重要的,必須有人維護(hù)。那么問(wèn)題就來(lái)了:如何將企業(yè)的安全策略應(yīng)用于Docker呢?
Docker最佳實(shí)踐非營(yíng)利組織網(wǎng)絡(luò)安全中心(CIS)針對(duì)docker的安全配置發(fā)布了一個(gè)詳盡的、超過(guò)100頁(yè)的基準(zhǔn)測(cè)試結(jié)果,有一些特定的點(diǎn)需要關(guān)注一下。
1. 關(guān)注你使用的鏡像(images)所有容器都來(lái)源于鏡像,比較典型的是操作系統(tǒng)及其附屬項(xiàng)(shell, default users, libraries, 依賴(lài)包)。正如Docker安全的一個(gè)頁(yè)面上所描述:Docker容器運(yùn)行的一個(gè)主要風(fēng)險(xiǎn)是:默認(rèn)設(shè)置提供的隔離可能是不完善的,一方面是因?yàn)榕渲脜?shù)時(shí)只能考慮單個(gè)因素,另一方面鏡像可能包含操作系統(tǒng)漏洞。因此,這需要使用者去修改容器配置和驗(yàn)證鏡像——這條規(guī)則適用于每一個(gè)容器。
2. 實(shí)現(xiàn)自動(dòng)化部署的代理(agent)Agent可以協(xié)助你設(shè)置容器的安全參數(shù),因?yàn)樗軌蜃詣?dòng)獲取鏡像(image)的信息并將其展現(xiàn)給你。雖然Docker Hub上的鏡像在不斷檢查、共享和更新,你不能依賴(lài)郵件列表和問(wèn)題報(bào)告來(lái)發(fā)現(xiàn)和管理漏洞。單個(gè)容器的安全仍然需要用戶(hù)自己去負(fù)責(zé),所以你需要自己去檢查依賴(lài)。你的鏡像倉(cāng)庫(kù)里有哪些鏡像,鏡像是如何運(yùn)作的,你都應(yīng)該理解,并且擁有自己的掃描和檢查機(jī)制。Agent很適合做這項(xiàng)工作,因?yàn)椴还苁沁\(yùn)行在宿主機(jī)上,還是容器中,Agent的系統(tǒng)開(kāi)銷(xiāo)都很小。
3. 以什么方式運(yùn)行容器運(yùn)行容器最安全的方式之一是是在只讀模式下運(yùn)行,容器不能被修改,而對(duì)于其他人訪問(wèn)的權(quán)限都沒(méi)有。如果你在只讀模式下運(yùn)行,就不需要給每個(gè)容器配置一個(gè)agent了,也可以重用你驗(yàn)證過(guò)的鏡像。如果容器以讀/寫(xiě)模式運(yùn)行,最好的做法是在每個(gè)容器一個(gè)代理。同時(shí)設(shè)定一些規(guī)則,不允許從公有倉(cāng)庫(kù)下載鏡像,也不允許root下運(yùn)行容器。
4. 管理容器與外部的交互一個(gè)運(yùn)行的容器可以暴露端口到宿主機(jī)的任何一個(gè)網(wǎng)卡(network interface)——這是極其危險(xiǎn)的。一個(gè)解決辦法是只暴露宿主機(jī)的一個(gè)網(wǎng)卡到外網(wǎng),任何外部來(lái)的請(qǐng)求,比如入侵檢測(cè),入侵預(yù)防、防火墻、負(fù)載均衡等均通過(guò)這個(gè)網(wǎng)卡處理。容器端口也應(yīng)該綁定到宿主機(jī)上一個(gè)授權(quán)的可信端口。
5. 需要熟練的Linux管理技巧Docker支持很多安全增強(qiáng)選項(xiàng),但默認(rèn)情況下是沒(méi)有設(shè)置的。因此,你需要一個(gè)Linux專(zhuān)家來(lái)管理基礎(chǔ)設(shè)施,以保證Docker容器正常運(yùn)作,并防止宿主機(jī)被誤配置。
總的來(lái)說(shuō),企業(yè)使用Docker的最佳策略是結(jié)合CIS基準(zhǔn)安全測(cè)試與企業(yè)現(xiàn)有的安全策略,為企業(yè)內(nèi)的Docker容器建立一套安全配置“姿勢(shì)”,并給開(kāi)發(fā)團(tuán)隊(duì)創(chuàng)造一個(gè)安全的實(shí)驗(yàn)環(huán)境。
本文由時(shí)速云工程師趙帥龍編譯,原文鏈接:企業(yè)級(jí)容器安全最佳實(shí)踐
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://hztianpu.com/yun/26482.html
摘要:你首先需要了解的安全工具之一就是。是另一個(gè)可為進(jìn)行安全漏洞掃描的工具。和相似,是的安全審核工具。和其他容器安全工具不同,使用創(chuàng)建自定義配置文件非常容易。月日,北京海航萬(wàn)豪酒店,容器技術(shù)大會(huì)即將舉行。 網(wǎng)絡(luò)安全問(wèn)題的重要性大概毋庸置疑,最近無(wú)數(shù)關(guān)于惡意軟件和安全漏洞的消息已充分證明了這一點(diǎn)。 假如你要管理一個(gè)Docker環(huán)境,并希望幫助自己的公司或用戶(hù)在下一個(gè)大漏洞來(lái)臨時(shí)避免遇到麻煩,那...
摘要:你首先需要了解的安全工具之一就是。是另一個(gè)可為進(jìn)行安全漏洞掃描的工具。和相似,是的安全審核工具。和其他容器安全工具不同,使用創(chuàng)建自定義配置文件非常容易。月日,北京海航萬(wàn)豪酒店,容器技術(shù)大會(huì)即將舉行。 網(wǎng)絡(luò)安全問(wèn)題的重要性大概毋庸置疑,最近無(wú)數(shù)關(guān)于惡意軟件和安全漏洞的消息已充分證明了這一點(diǎn)。 假如你要管理一個(gè)Docker環(huán)境,并希望幫助自己的公司或用戶(hù)在下一個(gè)大漏洞來(lái)臨時(shí)避免遇到麻煩,那...
摘要:因此,將應(yīng)用程序部署到生產(chǎn)需要數(shù)周或數(shù)月。它將改變應(yīng)用程序開(kāi)發(fā)過(guò)程,但某些挑戰(zhàn)必須克服從而使得企業(yè)獲得最大好處。平臺(tái)將促進(jìn)的發(fā)展,并且?guī)椭渎男凶约旱某兄Z。 showImg(https://segmentfault.com/img/bVpNBt); 難怪Docker正在迅速發(fā)展。Docker,一個(gè)開(kāi)源項(xiàng)目。僅僅兩年,Docker價(jià)值近10億美元,最近獲得了9500萬(wàn)美元的資金。令人激動(dòng)...
閱讀 3626·2021-11-22 15:22
閱讀 2604·2021-09-06 15:00
閱讀 1048·2020-06-22 14:39
閱讀 3855·2019-08-30 15:56
閱讀 1684·2019-08-30 12:55
閱讀 3589·2019-08-29 17:19
閱讀 3376·2019-08-26 11:41
閱讀 780·2019-08-23 17:14