當(dāng)容器淪為惡夢時,你該怎么做?
譯文【51CTO.com快譯】容器(當(dāng)然是指在公共云上運行的容器)現(xiàn)在其實是老古董。這些獨立的輕量級軟件包帶有自己的運行時環(huán)境,可以在平臺之間移動,通常無需大幅改動代碼。容器包括應(yīng)用程序及其依賴項,比如庫、其他二進制代碼以及運行它們所需的配置文件。
容器是最流行的應(yīng)用程序開發(fā)方法之一,也支持“包裝”存在于容器中的應(yīng)用程序,但容器面臨系統(tǒng)性的缺陷和漏洞。因此,使用容器成為云安全專家最害怕的事情之一,也是不法分子的首選攻擊途徑。
核心問題是任何暴露很容易牽扯連接到容器的其他系統(tǒng)、應(yīng)用程序和數(shù)據(jù)。此外,這些組件中的缺陷可能使攻擊者能夠控制系統(tǒng)以及系統(tǒng)可以訪問的任何敏感數(shù)據(jù)。這時候會發(fā)生糟糕的事情。
檢測容器漏洞的最佳方法是什么?更重要的是,可以做些什么來最大程度地減少對必須使用容器構(gòu)建系統(tǒng)的人造成的干擾?
答案實際上分為兩部分:掃描漏洞和構(gòu)建以避免漏洞。
考慮到掃描是CI/CD(持續(xù)集成和持續(xù)交付)管道的一部分,掃描是最常見的方法。在創(chuàng)建、測試、審查和部署代碼時以及操作期間,掃描可查找安全問題。自動化掃描過程可以發(fā)現(xiàn)漏洞,而且在一些情況下,無需開發(fā)人員的任何參與即可自動糾正漏洞。
掃描注冊中心或查遍存儲庫集合查找異??梢淮尾榭炊鄠€容器映像。當(dāng)容器映像從注冊中心實例化到生產(chǎn)系統(tǒng)時,無論是不是在云端,這些都成為運行中的容器。
運行時環(huán)境掃描是另一種方法,旨在掃描執(zhí)行中的容器以查找安全問題。
最好的辦法是利用類型盡可能多的漏洞掃描,從而消除構(gòu)建和部署基于容器的應(yīng)用程序方面的部分(但不是全部)風(fēng)險。
構(gòu)建以避免漏洞常常是利用常識——考慮可能因愚蠢的做法而引入的漏洞,比如使用來自不可靠來源的基礎(chǔ)映像。其他方法將是充分利用經(jīng)過安全審計部門審查的工具,僅使用來歷清楚的代碼,并為開發(fā)人員提供特殊培訓(xùn),以便在構(gòu)建安全容器時做出正確的選擇。
選擇合適的工具用于掃描,并對構(gòu)建、測試、暫存和部署的容器加大掃描力度。檢查每個階段的安全問題其實并不減慢進度,而是完全可以降低風(fēng)險。
這不是什么艱深的科學(xué)。您充分利用已有的經(jīng)過驗證的工具。話雖如此,許多容器開發(fā)人員并沒有使用一些最基本的安全工具和方法??紤]到大多數(shù)遷移到云的IT部門是高度依賴容器的,我們需要解決這個問題。
原文標(biāo)題:When containers become a nightmare,作者:David Linthicum
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】