容器安全是使用安全工具和策略來保護(hù)容器化應(yīng)用程序的各個方面免受潛在風(fēng)險(xiǎn)的過程。Container Security 管理整個環(huán)境的風(fēng)險(xiǎn),包括軟件供應(yīng)鏈或 CI/CD 管道、基礎(chǔ)設(shè)施以及容器運(yùn)行時和容器上運(yùn)行的生命周期管理應(yīng)用程序的所有方面。在實(shí)施容器網(wǎng)絡(luò)安全解決方案時,請確保它們與底層 容器編排集成, 以實(shí)現(xiàn)應(yīng)用程序的上下文感知。
為什么容器安全很重要?
雖然容器提供了一些固有的安全優(yōu)勢,包括增強(qiáng)的應(yīng)用程序隔離,但容器也擴(kuò)展了組織的威脅環(huán)境。未能識別和計(jì)劃與容器相關(guān)的特定安全措施可能會增加組織的安全風(fēng)險(xiǎn)。
生產(chǎn)環(huán)境中容器采用的顯著增加使容器成為惡意行為者更具吸引力的目標(biāo)。此外,單個易受攻擊或受損的容器可能會成為進(jìn)入組織更廣泛環(huán)境的入口點(diǎn)。隨著穿越數(shù)據(jù)中心和云的東西向流量的增加,很少有安全控制來監(jiān)控這個主要的網(wǎng)絡(luò)流量來源。所有這些都凸顯了容器安全的重要性,因?yàn)閭鹘y(tǒng)的網(wǎng)絡(luò)安全解決方案無法抵御橫向攻擊。
容器安全有什么好處?
隨著整體容器使用量的增長,容器安全性已成為人們關(guān)注的焦點(diǎn)。這本身就是有益的,因?yàn)楦鞣N利益相關(guān)者都承認(rèn)應(yīng)用程序容器安全的重要性,并在其平臺、流程和培訓(xùn)中對其進(jìn)行投資。因?yàn)槿萜靼踩婕氨Wo(hù)容器化應(yīng)用程序及其基礎(chǔ)設(shè)施的所有方面,這產(chǎn)生了它的首要好處之一:它可以成為提高整體 IT 安全性的催化劑和力量倍增器。通過要求對開發(fā)、測試和生產(chǎn)環(huán)境進(jìn)行持續(xù)的安全監(jiān)控(也稱為 DevSecOps),您可以提高整體安全性——例如,通過在 CI/CD 管道的早期引入自動掃描。
如何保護(hù)容器?
雖然最好將容器安全視為一個整體領(lǐng)域,但它顯然側(cè)重于容器本身。美國國家標(biāo)準(zhǔn)與技術(shù)研究院發(fā)布了其 應(yīng)用容器安全指南,其中總結(jié)了幾種基本方法。以下是 NIST 報(bào)告中的三個關(guān)鍵考慮因素:
使用容器特定的主機(jī)操作系統(tǒng)。NIST 建議使用特定于容器的主機(jī)操作系統(tǒng),這些主機(jī)操作系統(tǒng)是用減少的功能構(gòu)建的,以減少攻擊面。
按用途和風(fēng)險(xiǎn)狀況對容器進(jìn)行細(xì)分。盡管容器平臺通常可以很好地隔離容器(彼此之間以及與底層操作系統(tǒng)),但 NIST 指出,您可以通過按容器的“用途、敏感性和威脅態(tài)勢”對容器進(jìn)行分組來實(shí)現(xiàn)更大的“防御深度”,并且在不同的主機(jī)操作系統(tǒng)上運(yùn)行它們。這遵循限制事件或攻擊的爆炸半徑的一般 IT 安全原則,這意味著違規(guī)的后果被限制在盡可能窄的區(qū)域內(nèi)。
使用特定于容器的漏洞管理和運(yùn)行時安全工具。傳統(tǒng)的漏洞掃描和管理工具在容器方面經(jīng)常存在盲點(diǎn),這可能導(dǎo)致不準(zhǔn)確地報(bào)告容器鏡像、配置設(shè)置等一切正常。同樣,確保運(yùn)行時的安全性是容器部署和操作的一個關(guān)鍵方面。傳統(tǒng)的、面向邊界的工具(例如入侵防御系統(tǒng))在構(gòu)建時通常沒有考慮到容器,因此無法正確保護(hù)它們。
NIST 還建議使用基于硬件的信任根,例如可信平臺模塊 (TPM),以獲得另一層安全信心,以及構(gòu)建 適合容器和云原生開發(fā)的文化和流程(例如DevOps或 DevSecOps)。
容器安全的基本要素是什么?
容器安全有幾個重要的支柱:
配置:許多容器、編排和云平臺提供強(qiáng)大的安全功能和控制。然而,這些需要正確設(shè)置,然后隨著時間的推移重新調(diào)整——它們很少“開箱即用”進(jìn)行優(yōu)化。此配置包括訪問/特權(quán)、隔離和網(wǎng)絡(luò)等領(lǐng)域的關(guān)鍵設(shè)置和強(qiáng)化。
自動化:由于大多數(shù)容器化應(yīng)用程序及其底層基礎(chǔ)設(shè)施的高度動態(tài)和分布式特性,如果手動完成,漏洞掃描和異常檢測等安全需求可能成為一項(xiàng)幾乎無法克服的任務(wù)。這就是為什么自動化是許多容器安全特性和工具的關(guān)鍵特性,就像容器編排有助于自動化大規(guī)模運(yùn)行容器所涉及的大量運(yùn)營開銷一樣。
容器安全解決方案:一些團(tuán)隊(duì)將在專為容器化環(huán)境構(gòu)建的組合中添加新的安全工具和支持。此類工具有時專注于云原生生態(tài)系統(tǒng)的不同方面,例如 CI 工具、容器運(yùn)行時安全性和 Kubernetes。
要避免哪些常見的容器安全錯誤?
在保護(hù)容器和環(huán)境方面有幾個常見的錯誤,包括:
忘記基本的安全衛(wèi)生。容器是一種相對較新的技術(shù),需要一些更新的安全方法。但這并不意味著放棄某些安全基礎(chǔ)。例如,保持系統(tǒng)修補(bǔ)和更新,無論是操作系統(tǒng)、容器運(yùn)行時還是其他工具,仍然是一項(xiàng)重要的策略。
未能配置和強(qiáng)化您的工具和環(huán)境。良好的容器和編排工具——就像許多云平臺一樣——具有重要的安全功能。但是,要釋放它們的好處,您必須為您的特定環(huán)境配置它們,而不是在默認(rèn)設(shè)置下運(yùn)行它們。示例包括僅授予容器實(shí)際運(yùn)行所需的功能或特權(quán),以最大程度地降低特權(quán)升級攻擊等風(fēng)險(xiǎn)。
忽略監(jiān)控、記錄和測試。當(dāng)團(tuán)隊(duì)開始在生產(chǎn)環(huán)境中運(yùn)行容器時,如果不小心,他們可能會失去對其應(yīng)用程序運(yùn)行狀況和環(huán)境的可見性。這是一些團(tuán)隊(duì)未能認(rèn)識到的一個大風(fēng)險(xiǎn),并且對于可能跨多個云環(huán)境以及本地基礎(chǔ)架構(gòu)運(yùn)行的高度分布式系統(tǒng)尤其重要。確保您有適當(dāng)?shù)谋O(jiān)控、日志記錄和測試是減少未知漏洞和其他盲點(diǎn)的關(guān)鍵。
沒有保護(hù) CI/CD 管道的所有階段。容器安全策略的另一個潛在缺點(diǎn)是忽略了軟件交付管道的其他元素。優(yōu)秀的團(tuán)隊(duì)會通過“左移”理念避免這種情況,這意味著您應(yīng)盡早在軟件供應(yīng)鏈中優(yōu)先考慮安全性,然后始終如一地應(yīng)用工具和策略。