云原生集成開發(fā)環(huán)境——TitanIDE
通過網(wǎng)頁在任何地方更安全、更高效地編碼2022-10-11
589
原文出自:CNCF(云原生基金會)Blog
原文作者:Giri Radhakrishnan
在機器學(xué)習(xí) (ML) 和人工智能 (AI) 技術(shù)的幫助下,數(shù)據(jù)分析領(lǐng)域微服務(wù)架構(gòu)的采用率大幅上升。容器在機器學(xué)習(xí) (ML) 開發(fā)人員中流行的一些原因,是得益于容器易于移植、可擴展性強以及可以使用服務(wù)(特別是網(wǎng)絡(luò)服務(wù))快速訪問數(shù)據(jù)。隨著云原生應(yīng)用程序的興起,尤其是在大數(shù)據(jù)分析領(lǐng)域,使得這些應(yīng)用程序成為了網(wǎng)絡(luò)犯罪的主要目標(biāo)。
防止威脅參與者破壞網(wǎng)絡(luò)并訪問關(guān)鍵數(shù)據(jù)或應(yīng)用程序,這對于個人開發(fā)者或者一個團隊來說都是一項艱巨的任務(wù)。DevOps 和安全工程師、SRE 和平臺架構(gòu)師都需要共同努力來促進這一過程。這些團隊通常面臨兩方面的挑戰(zhàn):
1. 由于微服務(wù)的基本架構(gòu)模型是分布式的,因此必須存在東西向流量。在大多數(shù)使用多云或混合模型的常見部署中,沒有真正的網(wǎng)絡(luò)邊界。
2. 一個或多個微服務(wù)將訪問第三方云服務(wù)、API 和應(yīng)用程序等外部服務(wù),從而為南北流量產(chǎn)生多個入口/出口點。
接下來,本文將會介紹IT架構(gòu)不得不了解的有關(guān)云原生工作負載零信任的知識,以及云原生零信任與傳統(tǒng)的零信任網(wǎng)絡(luò)有何不同。
什么是零信任?
使用各種方法來保護傳統(tǒng)工作負載,包括為每個區(qū)域使用具有不同防火墻規(guī)則的安全區(qū)域、通過訪問列表過濾流量以及使用虛擬專用網(wǎng)絡(luò) (VPN) 進行遠程訪問……所有這些方法都在一個共同的假設(shè)下運行,那就是——內(nèi)部網(wǎng)絡(luò)是可信的;而外網(wǎng)不是。對于外網(wǎng)而言,這種安全思考方式顯然是存在問題的,并且會導(dǎo)致許多外部和內(nèi)部威脅,例如數(shù)據(jù)泄露,以及橫向威脅,例如惡意軟件和勒索軟件等。
最終,我們將會意識到需要一種不同的方法,這便產(chǎn)生了零信任網(wǎng)絡(luò)的概念——沒有任何東西是可信的,而且一切都必須得到驗證(持續(xù)驗證,從未信任)。大約十年前,行業(yè)分析師和安防公司共同認為,零信任是抵御不良行為攻擊的最佳方法。支持的形式是美國聯(lián)邦政府提交行政命令,要求各機構(gòu)在 2024 財年末之前滿足某些符合零信任成熟度模型的網(wǎng)絡(luò)安全標(biāo)準(zhǔn)。
公開資料解釋:零信任是一種安全模型,它對嘗試訪問網(wǎng)絡(luò)及其資產(chǎn)的任何用戶、服務(wù)或設(shè)備進行嚴格驗證。
基于 CISA(網(wǎng)絡(luò)安全和基礎(chǔ)設(shè)施安全機構(gòu))成熟度模型的零信任的核心支柱是:
· 身份 - 持續(xù)驗證(密碼、多因素身份驗證)
· 設(shè)備 - 合規(guī)執(zhí)法
· 網(wǎng)絡(luò)/環(huán)境—— 宏觀或 微觀分段
· 應(yīng)用程序工作負載—— 基于訪問的控制
· 數(shù)據(jù) – 最小權(quán)限,加密
云原生工作負載的零信任
在云原生環(huán)境中,保護和監(jiān)控單個 pod 或節(jié)點是一項挑戰(zhàn)。當(dāng)虛擬機 (VM) 取代舊式服務(wù)器時,配置防火墻仍然相當(dāng)容易,因為這些虛擬機本質(zhì)上大多是靜態(tài)的。但是微服務(wù)的細粒度組件(例如 pod)是動態(tài)的并且是短暫的——有時只有幾分鐘的生命周期——并且對于單體應(yīng)用程序具有的相同類型的工作具有更大的占用空間(增加的攻擊面)。假設(shè)您已經(jīng)通過在每個節(jié)點或 pod 周圍放置防火墻來解決保護這些小型工作負載的問題。威脅可能仍潛伏在您的網(wǎng)絡(luò)中,源自內(nèi)部。
云工作負載的零信任強制對任何進出工作負載的訪問都將進行嚴格驗證。
當(dāng)您考慮為云原生工作負載設(shè)計安全策略有多么困難時,唯一合乎邏輯的解決方案就是遵循云原生應(yīng)用程序的構(gòu)建方式。使用 IP 地址創(chuàng)建區(qū)域和策略的外圍防火墻構(gòu)建零信任網(wǎng)絡(luò)永遠不會奏效,因為當(dāng) pod 重新啟動時地址會不斷變化。Kubernetes 和其他基于容器的解決方案本質(zhì)上是聲明性的(即任何配置更改都由代碼處理),并且策略基于標(biāo)簽或 DNS,而不是 IP 地址。使用相同的原則,安全專業(yè)人員可以使用云原生程序針對他們的安全用例實施策略。
應(yīng)該從哪里開始設(shè)計構(gòu)建零信任模型?
要了解從哪里開始以及如何為基于 Kubernetes 或容器的設(shè)計構(gòu)建零信任模型,企業(yè)需要確定網(wǎng)絡(luò)的保護面(對企業(yè)最有價值的東西)并了解其攻擊面。零信任背后的理念是保護關(guān)鍵業(yè)務(wù)資產(chǎn),包括客戶數(shù)據(jù)。
為了了解企業(yè)的攻擊面,企業(yè)需要查看企業(yè)的應(yīng)用程序以及相關(guān)的通信和訪問。對于云原生應(yīng)用程序,每個微服務(wù)不僅需要與集群內(nèi)的其他微服務(wù)通信,而且在某些情況下還需要與外部服務(wù)(例如,SaaS 服務(wù)、API 或駐留在私有數(shù)據(jù)中心的應(yīng)用程序)進行通信。
當(dāng)談到 Kubernetes 集群內(nèi)的網(wǎng)絡(luò)連接時,默認情況下所有 pod 都可以相互通信。一個好的安全原則是識別每個工作負載的功能,這就是 DevOps 最佳實踐派上用場的地方?,F(xiàn)在我們已經(jīng)根據(jù)身份(微服務(wù)的功能,例如 storefront-compliance)確定了要提供授權(quán)和訪問的組件,下一步是創(chuàng)建最小權(quán)限訪問的策略。這將確保只有某些工作負載可以與某些其他工作負載通信,并根據(jù)端口、服務(wù)帳戶等驗證一組相關(guān)條件。(持續(xù)驗證,從未信任)
我們通過這個過程所取得的成果便是,能夠在發(fā)生安全漏洞時有效地減少攻擊面。我們對從工作負載發(fā)送到工作負載的流量的控制越多,當(dāng)需要隔離受感染的工作負載時,我們對惡意軟件的橫向移動的控制就越多。
有關(guān)云原生更多技術(shù)干貨,請免費獲取《2022云原生技術(shù)應(yīng)用情況調(diào)研報告》,點擊下圖,免費下載>>