保持容器基礎(chǔ)設(shè)施安全的5個(gè)最佳辦法
軟件容器無(wú)疑正處于上升期的,開(kāi)發(fā)人員在構(gòu)建更高效且能迅速帶到市場(chǎng)的原生云應(yīng)用程序時(shí),更會(huì)看重容器所提供的靈活性。同時(shí)由于容器所帶來(lái)的資源利用率的提高,也有益于提高生產(chǎn)力,降低成本。有些人認(rèn)為,容器的安全性低于部署虛擬機(jī)(VM),但在適當(dāng)?shù)膶?shí)現(xiàn)中,容器可以提供更安全的環(huán)境。網(wǎng)絡(luò)安全是一個(gè)復(fù)雜的問(wèn)題,但業(yè)內(nèi)人士都在致力于開(kāi)發(fā)所需的工具和流程來(lái)解決這個(gè)問(wèn)題。
此外,容器和VM不是非此即彼的命題。如果你愿意,也可以將容器部署到虛擬機(jī)上,或使用像英特爾Clear容器或開(kāi)源Hyper這樣的技術(shù)去實(shí)現(xiàn)一個(gè)兩全其美的方案:同時(shí)具備VM的隔離性與容器的靈活性。
容器和分布式系統(tǒng)帶來(lái)了一個(gè)進(jìn)展,使得靈活性與速度超過(guò)了傳統(tǒng)流程。而越遲應(yīng)用的企業(yè),競(jìng)爭(zhēng)力則會(huì)越弱。一旦你決定遷移到容器部署,還要確保采取了適當(dāng)?shù)霓k法步驟去保護(hù)你的基礎(chǔ)設(shè)施。
這里有5個(gè)最佳的辦法,可保護(hù)你的分布式系統(tǒng):
1、使用一個(gè)輕量級(jí)的Linux操作系統(tǒng)
一個(gè)輕量級(jí)的操作系統(tǒng),除了其他的收益外,也降低了表面的易受攻擊性。這也使得應(yīng)用更新容易得多,因?yàn)椴僮飨到y(tǒng)更新與應(yīng)用程序不掛鉤,而且更新后重新啟動(dòng)會(huì)花費(fèi)更少的時(shí)間。
2、保持所有圖像是最新的
保持所有圖像是最新的,確保它們被打補(bǔ)丁,以防止最新的漏洞利用。實(shí)現(xiàn)這一目標(biāo)的最好方法是使用一個(gè)集中的存儲(chǔ)庫(kù)來(lái)幫助進(jìn)行版本控制。通過(guò)使用版本號(hào)標(biāo)記每個(gè)容器,更新會(huì)更容易管理。容器本身也持有自己的依賴(lài)性,需要維護(hù)。
3、自動(dòng)安全更新
自動(dòng)更新能確保補(bǔ)丁很快應(yīng)用于基礎(chǔ)設(shè)施,將發(fā)布補(bǔ)丁與應(yīng)用于生產(chǎn)之間的時(shí)間間隔最小化。解耦的容器可以相互獨(dú)立更新,并且可以遷移到另一個(gè)主機(jī),如果主機(jī)操作系統(tǒng)需要更新的話(huà)。無(wú)需為基礎(chǔ)設(shè)施安全更新會(huì)影響你堆棧的其他部分而擔(dān)心。
4、掃描容器圖像排 除潛在缺陷
有很多工具可以幫助你做到這一點(diǎn)。這些工具會(huì)對(duì)比容器的已知漏洞列表,且會(huì)對(duì)你進(jìn)行提醒,無(wú)論它們是探測(cè)到了一些可能會(huì)影響你容器啟動(dòng)的舊漏洞還是發(fā)現(xiàn)了一個(gè)會(huì)影響你容器運(yùn)行的新漏洞。
5、不要在容器中運(yùn)行無(wú)關(guān)的面向網(wǎng)絡(luò)的服務(wù)
不在容器中運(yùn)行Secure Shell(SSH)被認(rèn)為是最好的做法——對(duì)容器訪問(wèn)而言,編排API通常會(huì)有更好的訪問(wèn)控制。一個(gè)好的經(jīng)驗(yàn)法則是,如果你不希望個(gè)人容器執(zhí)行日常維護(hù)任務(wù),就不要允許任何登錄訪問(wèn)。相對(duì)于VM來(lái)說(shuō),設(shè)計(jì)一個(gè)生命更短的容器也是一個(gè)好辦法,它可以確保每個(gè)生命周期都能夠獲得最新的安全性能。
容器領(lǐng)域的安全會(huì)繼續(xù)發(fā)展。通過(guò)上文中概述的5個(gè)最佳辦法,我希望能有助于消除容器不安全的言論,幫助企業(yè)更好地利用容器所帶來(lái)的生產(chǎn)力,同時(shí)盡可能保證安全。