容器安全:DevOps 工程師的五大優(yōu)秀實(shí)踐
容器安全確保您的云原生應(yīng)用程序免受與容器環(huán)境相關(guān)的網(wǎng)絡(luò)安全威脅。
容器化導(dǎo)致許多企業(yè)和組織以不同方式開發(fā)和部署應(yīng)用程序。Gartner最近的一份報(bào)告表明,到 2022 年,超過 75% 的全球組織將在生產(chǎn)中運(yùn)行容器化應(yīng)用程序,高于 2020 年的不到 30%。然而,盡管容器具有許多好處,但它們無疑仍然是網(wǎng)絡(luò)攻擊的來源曝光,如果沒有適當(dāng)?shù)谋Wo(hù)。
以前,網(wǎng)絡(luò)安全意味著保護(hù)一個(gè)“邊界”。通過引入新的復(fù)雜層,容器使這個(gè)概念過時(shí)了。容器化環(huán)境具有更多的抽象級別,這就需要使用特定的工具來解釋、監(jiān)控和保護(hù)這些新應(yīng)用程序。
什么是容器安全?
容器安全性使用一組工具和策略來保護(hù)容器免受影響應(yīng)用程序、基礎(chǔ)設(shè)施、系統(tǒng)庫、運(yùn)行時(shí)等的潛在威脅。容器安全涉及為容器堆棧實(shí)施安全環(huán)境,其中包括以下內(nèi)容:
- 容器鏡像
- 容器引擎
- 容器運(yùn)行時(shí)
- 注冊表
- 主持人
- 協(xié)調(diào)器
大多數(shù)軟件專業(yè)人士自動(dòng)假設(shè) Docker 和 Linux 內(nèi)核是安全的,不受惡意軟件的侵害,這是一個(gè)很容易被高估的假設(shè)。
5 大容器安全最佳實(shí)踐
1.主機(jī)和操作系統(tǒng)安全
容器提供與主機(jī)的隔離,盡管它們共享內(nèi)核資源。經(jīng)常被忽視的是,這一方面使攻擊者更難但并非不可能通過內(nèi)核利用來破壞操作系統(tǒng),從而獲得對主機(jī)的 root 訪問權(quán)限。
運(yùn)行容器的主機(jī)需要通過確保底層主機(jī)操作系統(tǒng)是最新的來擁有自己的一組安全訪問權(quán)限。例如,它正在運(yùn)行最新版本的容器引擎。理想情況下,您將需要設(shè)置一些監(jiān)控以提醒主機(jī)層上的任何漏洞。此外,選擇一個(gè)“瘦操作系統(tǒng)”,這將加速您的應(yīng)用程序部署并通過刪除不必要的包并使您的操作系統(tǒng)盡可能小來減少攻擊面。
本質(zhì)上,在生產(chǎn)環(huán)境中,無需讓人工管理員通過 SSH 連接到主機(jī)來應(yīng)用任何配置更改。相反,最好通過 IaC 使用Ansible或Chef 來管理所有主機(jī), 例如。這樣,只有協(xié)調(diào)器才能持續(xù)訪問運(yùn)行和停止容器。
2. 容器漏洞掃描
應(yīng)定期對您的容器或主機(jī)進(jìn)行漏洞掃描,以檢測和修復(fù)黑客可能用來訪問您的基礎(chǔ)設(shè)施的潛在威脅。一些容器注冊表提供這種功能;當(dāng)您的圖像被推送到注冊表時(shí),它會(huì)自動(dòng)掃描它以查找潛在的漏洞。
一種主動(dòng)的方法是通過采用“左移”理念在 CI 管道中設(shè)置漏洞掃描,這意味著您在開發(fā)周期的早期實(shí)施安全性。同樣,Trivy 將是實(shí)現(xiàn)這一目標(biāo)的絕佳選擇。
假設(shè)您正嘗試對本地節(jié)點(diǎn)設(shè)置這種掃描。在這種情況下,Wazuh 是一個(gè)可靠的選擇,它將記錄每個(gè)事件并根據(jù)多個(gè) CVE(常見漏洞和暴露)數(shù)據(jù)庫驗(yàn)證它們。
3.容器注冊安全
容器注冊表提供了一種方便且集中的方式來存儲和分發(fā)圖像。通常會(huì)發(fā)現(xiàn)組織在其注冊表中存儲了數(shù)千個(gè)圖像。由于注冊表對于容器化環(huán)境的工作方式非常重要,因此必須妥善保護(hù)它。因此,您應(yīng)該考慮花時(shí)間監(jiān)控和防止未經(jīng)授權(quán)訪問您的容器注冊表。
4. Kubernetes 集群安全
您可以采取的另一項(xiàng)措施是圍繞您的容器編排加強(qiáng)安全性,例如防止來自過度特權(quán)帳戶或網(wǎng)絡(luò)攻擊的風(fēng)險(xiǎn)。遵循最低特權(quán)訪問模型,保護(hù) pod 到 pod 通信將限制攻擊造成的損害。在這種情況下,我們推薦的工具是Kube Hunter,它充當(dāng)滲透測試工具。因此,它允許您在 Kubernetes 集群上運(yùn)行各種測試,以便您可以開始采取措施來提高它的安全性。
你可能也對Kubescape感興趣,它類似于 Kube Hunter;它會(huì)掃描您的 Kubernetes 集群、YAML 文件和 HELM 圖表,為您提供風(fēng)險(xiǎn)評分:
5. 機(jī)密安全
容器或 Dockerfile 不應(yīng)包含任何秘密。(證書、密碼、令牌、API 密鑰等)而且,我們?nèi)匀唤?jīng)??吹矫孛鼙挥簿幋a到源代碼、圖像或構(gòu)建過程中。選擇機(jī)密管理解決方案將使您能夠?qū)C(jī)密存儲在安全、集中的保險(xiǎn)庫中。
結(jié)論
這些是您可以采取的一些主動(dòng)安全措施來保護(hù)您的容器化環(huán)境。這一點(diǎn)至關(guān)重要,因?yàn)?Docker 出現(xiàn)的時(shí)間很短,這意味著其內(nèi)置的管理和安全功能仍處于起步階段。值得慶幸的是,好消息是可以使用多種工具輕松地在容器化環(huán)境中實(shí)現(xiàn)良好的安全性,例如我們在本文中列出的工具。