2022-10-13 分類(lèi): 網(wǎng)站建設(shè)
隨著越來(lái)越多的組織將數(shù)據(jù)和工作負(fù)載轉(zhuǎn)移到了云上,許多組織都開(kāi)始依賴(lài)于容器來(lái)封裝代碼及其依賴(lài)的軟件單元,以便在從一個(gè)計(jì)算環(huán)境遷移到另一個(gè)計(jì)算環(huán)境時(shí),應(yīng)用程序能夠可靠地運(yùn)行??巳R姆森大學(xué)遺傳與生物化學(xué)系的云架構(gòu)師Cole McKnight表示,容器化被譽(yù)為是一種以安全方式部署應(yīng)用程序和服務(wù)的強(qiáng)大技術(shù)。
Docker和Singularity等容器引擎提供了一種方法來(lái)實(shí)現(xiàn)和分發(fā)給定應(yīng)用程序的好實(shí)踐安全策略,而不是依賴(lài)于單個(gè)的用戶(hù)來(lái)配置安全安裝,McKnight說(shuō)。“容器編排平臺(tái),如Kubernetes、Mesos或Docker Swarm,都具有集成的安全機(jī)制來(lái)專(zhuān)門(mén)用于部署和執(zhí)行容器,”McKnight說(shuō)。“結(jié)果是可以得到一個(gè)易于配置的可用于開(kāi)發(fā)和部署容器的生態(tài)系統(tǒng)。”
雖然這些技術(shù)抽象了交付安全應(yīng)用程序和服務(wù)的傳統(tǒng)復(fù)雜性,但一些開(kāi)發(fā)團(tuán)隊(duì)將這種安全性的可能性也解釋為了一種保證,McKnight說(shuō)。問(wèn)題是,容器實(shí)現(xiàn)不是萬(wàn)無(wú)一失的,團(tuán)隊(duì)在使用它們時(shí)所犯的錯(cuò)誤依然可能會(huì)產(chǎn)生而不是解決安全問(wèn)題。
1. 過(guò)分關(guān)注容器本身
“在實(shí)現(xiàn)安全容器時(shí),最常見(jiàn)的錯(cuò)誤是只關(guān)注容器本身,”McKnight說(shuō)。維護(hù)映像安全性的好實(shí)踐非常重要,他說(shuō),但開(kāi)發(fā)人員通常只會(huì)將重點(diǎn)放在映像的安全性上,而不考慮執(zhí)行環(huán)境。
“容器內(nèi)的任何安全措施都無(wú)法保護(hù)它免受宿主的攻擊,”McKnight說(shuō)。“承載容器引擎的每臺(tái)計(jì)算機(jī)必須在每一層上都受到保護(hù),以防出現(xiàn)任何傳統(tǒng)上可利用的漏洞。”
必須將容器引擎和容器編制平臺(tái)(如果適用的話)配置為正確使用集成的容器安全機(jī)制,McKnight說(shuō)。“因此,容器安全需要從主機(jī)的操作系統(tǒng)和網(wǎng)絡(luò)開(kāi)始,”他說(shuō)。
2. 假設(shè)代碼庫(kù)是安全的
獨(dú)立網(wǎng)絡(luò)安全顧問(wèn)Tony Asher表示,在部署容器時(shí),一些組織會(huì)錯(cuò)誤地將代碼庫(kù)包括進(jìn)來(lái),并認(rèn)為它們是安全的。“這包括了開(kāi)發(fā)套件中的庫(kù),”Asher說(shuō)。“更重要的是,第三方庫(kù)也經(jīng)常會(huì)被直接引入以加速開(kāi)發(fā)。”
安全性問(wèn)題指的是這些應(yīng)用程序代碼庫(kù)中可能存在漏洞,Asher說(shuō)。“編譯應(yīng)用程序并將它們發(fā)布到生產(chǎn)容器中,可能會(huì)通過(guò)漏洞利用而引入嚴(yán)重的風(fēng)險(xiǎn)。”
為了解決這個(gè)問(wèn)題,Asher建議公司在考慮導(dǎo)入第三方庫(kù)時(shí),將庫(kù)限制在滿足應(yīng)用程序容器成功標(biāo)準(zhǔn)所需的范圍內(nèi),掃描代碼尋找漏洞,并應(yīng)用安全審查流程。
組織還需要開(kāi)發(fā)一個(gè)正式的安全體系結(jié)構(gòu)審查流程。“這個(gè)流程應(yīng)該包括檢查符合風(fēng)險(xiǎn)標(biāo)準(zhǔn)的容器,由一組人來(lái)檢查,”Asher說(shuō)。這提供了問(wèn)責(zé)制,有助于確保風(fēng)險(xiǎn)得到考慮。
3. 給予容器不必要的特權(quán)
風(fēng)險(xiǎn)投資公司ClearSky的管理合伙人Jay Leek說(shuō),給容器過(guò)多的特權(quán)是很常見(jiàn)的,而攻擊者可以濫用這些特權(quán)來(lái)利用容器本不應(yīng)該訪問(wèn)但確實(shí)可以訪問(wèn)的資源。“在這里應(yīng)該應(yīng)用最小特權(quán)原則,并且執(zhí)行運(yùn)行時(shí)行為監(jiān)視,以便能夠確保檢測(cè)到任何非必要的應(yīng)用程序特權(quán)的濫用。”Leek說(shuō)。
一種常見(jiàn)的做法是在執(zhí)行環(huán)境中使用特權(quán)來(lái)運(yùn)行容器,McKnight說(shuō)。“取決于主機(jī)的軟件堆棧,這可能意味著不同的東西,”他說(shuō)。“但是在宿主環(huán)境中給容器不必要的特權(quán)會(huì)導(dǎo)致問(wèn)題的升級(jí),不僅會(huì)導(dǎo)致容器被破壞,也可能會(huì)導(dǎo)致主機(jī)被破壞。”
正如容器內(nèi)部的安全性無(wú)法保護(hù)它不受其主機(jī)的攻擊一樣,主機(jī)內(nèi)部的安全性也無(wú)法保護(hù)其免受特權(quán)容器的利用。“容器的設(shè)計(jì)應(yīng)該確保其運(yùn)行方式不會(huì)在主機(jī)環(huán)境中為其提供不必要的特權(quán)。”McKnight說(shuō)。
當(dāng)需要特權(quán)時(shí),應(yīng)該以精細(xì)的粒度謹(jǐn)慎地給予特權(quán),McKnight說(shuō)。“好實(shí)踐是避免在宿主環(huán)境中提供具有清除權(quán)限的容器。”
4. 過(guò)度暴露容器
同樣,需要在執(zhí)行時(shí)公開(kāi)給公共網(wǎng)絡(luò)的容器也需要以同樣的心態(tài)進(jìn)行設(shè)計(jì)。“應(yīng)該只打開(kāi)絕對(duì)必要的通道,而不是設(shè)計(jì)一個(gè)讓容器暴露于潛在攻擊的全面開(kāi)放的策略。”McKnight說(shuō)。
在實(shí)現(xiàn)容器本身時(shí)需要考慮很多問(wèn)題。“容器是通過(guò)一系列命令構(gòu)建的,這些命令會(huì)在映像規(guī)范中被定義,并在映像構(gòu)建時(shí)以root權(quán)限運(yùn)行,”McKnight說(shuō)。“開(kāi)發(fā)人員通常會(huì)在部署和執(zhí)行容器時(shí)錯(cuò)誤地保留這些權(quán)限。”
如果在運(yùn)行時(shí)使用root權(quán)限運(yùn)行容器內(nèi)的進(jìn)程,則該容器內(nèi)的數(shù)據(jù)和軟件將受到危害。為了解決這個(gè)問(wèn)題,要在容器中運(yùn)行的命令應(yīng)該是由非root用戶(hù)在沒(méi)有權(quán)限的情況下運(yùn)行的(如果可能的話),以避免容器中的任何權(quán)限提升。
在網(wǎng)絡(luò)方面,也需要仔細(xì)考慮容器的數(shù)據(jù)和進(jìn)程暴露給其他實(shí)體的方式。“容器的安全需要再一次從傳統(tǒng)的操作系統(tǒng)和網(wǎng)絡(luò)安全開(kāi)始,”McKnight說(shuō)。“必須檢查容器與外部卷、網(wǎng)絡(luò)和進(jìn)程之間的任何交互。”
5. 未能正確地審查映像
在部署容器時(shí),組織通常忽略的另一個(gè)因素是它們所基于的映像。“團(tuán)隊(duì)通常會(huì)犯這樣的錯(cuò)誤:在將另一方開(kāi)發(fā)的映像集成到他們的解決方案之前,沒(méi)有對(duì)其進(jìn)行適當(dāng)?shù)膶彶椤?rdquo;McKnight說(shuō)。
在從公共注冊(cè)中心部署容器或?qū)⑵溆米骰A(chǔ)映像之前,請(qǐng)對(duì)其進(jìn)行掃描,以查找惡意軟件和漏洞。此外,組織也應(yīng)該讓有經(jīng)驗(yàn)的開(kāi)發(fā)人員徹底檢查映像,找出漏洞,McKnight說(shuō)。
“假定推送到公共注冊(cè)中心的映像是安全的,這是非常危險(xiǎn)的,特別是在從這些映像構(gòu)建額外的映像時(shí)。”McKnight說(shuō)。
6. 不尊重不可變映像的原則
不可變的映像是不可以改變的,Asher指出。“這是Docker、Kubernetes和其它容器解決方案的原則,”他表示。“在internet上部署系統(tǒng)和數(shù)據(jù)時(shí)(internet是不受信任的媒體),需要?jiǎng)?chuàng)建一個(gè)能夠確保完整性的流程。”
不可變的映像提供了一些好處,例如可預(yù)測(cè)、可銷(xiāo)售以及提供了自動(dòng)恢復(fù)能力。他們還提供了完整性,Asher說(shuō),這是安全的核心目的之一。
“當(dāng)生產(chǎn)容器不遵循不可變的原則時(shí),應(yīng)用程序?qū)⒖梢赃B接到它們并進(jìn)行更改,”Asher說(shuō)。“這種行為引發(fā)了多重安全隱患。具體來(lái)說(shuō),它會(huì)破壞容器的完整性。”
最令人擔(dān)憂的風(fēng)險(xiǎn)之一是惡意參與者會(huì)修改容器以包含惡意代碼。這可能會(huì)對(duì)公司造成重大影響,Asher說(shuō)。監(jiān)視容器的完整性可以極大地降低這種風(fēng)險(xiǎn)。
“你需要改進(jìn)和糾正部署管道,以防止生產(chǎn)容器發(fā)生變化,”Asher說(shuō)。“確保在擁有質(zhì)量保證的測(cè)試環(huán)境中進(jìn)行更改,確保這些更改能夠得到批準(zhǔn),然后部署新的不可變映像來(lái)替代舊的映像。”
本文題目:6個(gè)需要避免的常見(jiàn)容器安全錯(cuò)誤
文章轉(zhuǎn)載:http://jinyejixie.com/news23/204873.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站導(dǎo)航、網(wǎng)站建設(shè)、服務(wù)器托管、網(wǎng)站營(yíng)銷(xiāo)、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容