譯者 | 李睿
在構(gòu)建單片應(yīng)用程序時(shí),安全性主要是基于外圍的。這意味著使用防火墻保護(hù)網(wǎng)絡(luò)邊界和訪問控制。隨著微服務(wù)架構(gòu)的出現(xiàn),靜態(tài)和基于網(wǎng)絡(luò)的邊界不再有效。
如今,應(yīng)用程序是由Kubernetes等容器編排系統(tǒng)部署和管理的,這些系統(tǒng)分布在整個(gè)云平臺(tái)中。零信任網(wǎng)絡(luò)(ZTN)是跨基于云計(jì)算的網(wǎng)絡(luò)保護(hù)數(shù)據(jù)的一種不同方法。本文將探討Istio如何利用零信任網(wǎng)絡(luò)(ZTN)理念幫助保護(hù)微服務(wù)。
一、什么是零信任網(wǎng)絡(luò)(ZTN)?
零信任網(wǎng)絡(luò)(ZTN)是一種不向用戶、設(shè)備和服務(wù)授予隱式信任的安全范式,并持續(xù)驗(yàn)證其身份和訪問資源的授權(quán)。
在微服務(wù)架構(gòu)中,如果一個(gè)服務(wù)(服務(wù)器)接收到來自另一個(gè)服務(wù)(客戶端)的請(qǐng)求,服務(wù)器不應(yīng)該假設(shè)客戶端的可信度。服務(wù)器應(yīng)該首先連續(xù)地對(duì)客戶端進(jìn)行身份驗(yàn)證和授權(quán),然后允許安全地進(jìn)行通信(參見圖A)。
圖A:零信任網(wǎng)絡(luò)(ZTN)環(huán)境,在多云的微服務(wù)之間強(qiáng)制執(zhí)行連續(xù)身份驗(yàn)證和授權(quán)
二、為什么零信任網(wǎng)絡(luò)環(huán)境對(duì)于微服務(wù)來說是不可避免的?
在分布式服務(wù)網(wǎng)絡(luò)中保護(hù)網(wǎng)絡(luò)和數(shù)據(jù)的重要性再怎么強(qiáng)調(diào)也不為過。以下是面臨的一些挑戰(zhàn),指出了微服務(wù)需要零信任網(wǎng)絡(luò)(ZTN)環(huán)境的原因:
(1)缺乏網(wǎng)絡(luò)所有權(quán):應(yīng)用程序從基于外圍的移動(dòng)到具有微服務(wù)的多個(gè)云平臺(tái)和數(shù)據(jù)中心。因此,網(wǎng)絡(luò)也變得分散,為網(wǎng)絡(luò)入侵者提供了更多的攻擊面。
(2)網(wǎng)絡(luò)和安全漏洞增加:自從應(yīng)用程序遷移到公共云以來,云計(jì)算提供商之間的數(shù)據(jù)和安全漏洞越來越普遍。2022年,近一半的數(shù)據(jù)泄露事件發(fā)生在云端。
(3)管理多集群網(wǎng)絡(luò)策略已經(jīng)變得乏味:企業(yè)在多個(gè)Kubernetes集群和環(huán)境中部署數(shù)百個(gè)服務(wù)。網(wǎng)絡(luò)策略是集群的本地策略,通常不適用于多個(gè)集群。他們需要大量的定制和開發(fā)來定義和實(shí)現(xiàn)多集群和多云流量中的安全性和路由策略。因此,為每個(gè)服務(wù)配置和管理一致的網(wǎng)絡(luò)策略和防火墻規(guī)則成為一個(gè)持久而令人沮喪的過程。
(4)在Kubernetes中,服務(wù)到服務(wù)的連接本質(zhì)上并不安全:在默認(rèn)情況下,一個(gè)服務(wù)可以與集群內(nèi)的另一個(gè)服務(wù)通信。因此,如果一個(gè)服務(wù)pod被黑客攻擊,網(wǎng)絡(luò)攻擊者可以快速輕松地攻擊該集群中的其他服務(wù)(也稱為向量攻擊)。Kubernetes不為pod或服務(wù)之間的通信提供開箱即用的加密或身份驗(yàn)證。盡管Kubernetes提供了額外的安全特性,例如啟用mTLS,但這是一個(gè)復(fù)雜的過程,必須為每個(gè)服務(wù)手動(dòng)實(shí)現(xiàn)。
(5)缺乏對(duì)網(wǎng)絡(luò)流量的可見性:如果存在安全漏洞,運(yùn)維和SRE團(tuán)隊(duì)?wèi)?yīng)該能夠更快地對(duì)事件做出反應(yīng)?绛h(huán)境的網(wǎng)絡(luò)流量實(shí)時(shí)可見性差成為SRE團(tuán)隊(duì)及時(shí)診斷問題的瓶頸。這阻礙了他們的事件響應(yīng)能力,從而導(dǎo)致較高的平均恢復(fù)時(shí)間(MTTR)和災(zāi)難性的安全風(fēng)險(xiǎn)。
從理論上來說,零信任網(wǎng)絡(luò)(ZTN)理念解決了上述所有挑戰(zhàn)。在實(shí)踐中,Istio服務(wù)網(wǎng)格可以幫助運(yùn)維團(tuán)隊(duì)和SRE團(tuán)隊(duì)實(shí)現(xiàn)跨云的零信任網(wǎng)絡(luò)(ZTN)和安全微服務(wù)。
三、Istio服務(wù)網(wǎng)格如何為微服務(wù)啟用零信任網(wǎng)絡(luò)(ZTN)
Istio是一款流行的開源服務(wù)網(wǎng)格實(shí)現(xiàn)軟件,它提供了一種管理和保護(hù)微服務(wù)之間通信的方法。Istio將網(wǎng)絡(luò)抽象為一個(gè)專用的基礎(chǔ)設(shè)施層,并提供對(duì)微服務(wù)之間所有通信的可見性和控制。
Istio的工作方式是在網(wǎng)格中的每個(gè)服務(wù)旁邊注入一個(gè)Envoy代理(一個(gè)小型Sidecar守護(hù)進(jìn)程)(參見圖B)。Envoy是一個(gè)L4和L7代理,分別有助于確保微服務(wù)之間的安全連接和網(wǎng)絡(luò)連接。Istio控制平臺(tái)允許用戶管理所有這些Envoy代理,例如直接定義、級(jí)聯(lián)安全和網(wǎng)絡(luò)策略。
圖B:Istio使用Envoy代理來確保集群和云平臺(tái)之間的服務(wù)連接
Istio簡(jiǎn)化了跨云平臺(tái)為微服務(wù)實(shí)施零信任網(wǎng)絡(luò)(ZTN)環(huán)境的過程。受到Gartner公司的零信任網(wǎng)絡(luò)訪問的啟發(fā),概述了可以使用Istio實(shí)現(xiàn)零信任網(wǎng)絡(luò)的四個(gè)支柱。
Istio服務(wù)網(wǎng)格實(shí)現(xiàn)零信任網(wǎng)絡(luò)的四大支柱
1.使用Istio強(qiáng)制身份驗(yàn)證
安全團(tuán)隊(duì)需要為每個(gè)服務(wù)創(chuàng)建身份驗(yàn)證邏輯,以驗(yàn)證發(fā)送請(qǐng)求的用戶(人或機(jī)器)的身份。這個(gè)過程對(duì)于確保用戶的可信度是必要的。
在Istio中,它可以通過使用Peer Authentication和Request Authentication自定義資源(CRD)配置對(duì)等和請(qǐng)求認(rèn)證策略來實(shí)現(xiàn):
(1)對(duì)等身份驗(yàn)證策略涉及使用mTLS對(duì)服務(wù)到服務(wù)通信進(jìn)行身份驗(yàn)證。也就是說,為客戶端和服務(wù)器頒發(fā)證書以驗(yàn)證彼此的身份。
下面是一個(gè)PeerAuthentication資源示例,它對(duì)foo命名空間中的所有工作負(fù)載強(qiáng)制嚴(yán)格的mTLS身份驗(yàn)證:
YAML
復(fù)制
1 apiVersion: security.istio.io/v1beta1
2 kind: PeerAuthentication
3 metadata:
4 name: default
5 namespace: foo
6 spec:
7 mtls:
8 mode: STRICT
(2)請(qǐng)求身份驗(yàn)證策略涉及服務(wù)器確保是否允許客戶端發(fā)出請(qǐng)求。在這里,客戶端將把JWT (JSON Web Token)附加到服務(wù)器端身份驗(yàn)證請(qǐng)求。
下面是在foo命名空間中創(chuàng)建的RequestAuthentication策略示例。它指定對(duì)my-app服務(wù)的傳入請(qǐng)求必須包含JWT,該JWT由jwtRules中提到的實(shí)體使用公鑰進(jìn)行發(fā)布和驗(yàn)證。
YAML
復(fù)制
1 apiVersion: security.istio.io/v1beta1
2 kind: RequestAuthentication
3 metadata:
4 name: jwt-example
5 namespace: foo
6 spec:
7 selector:
8 matchLabels:
9 app: my-app
10 jwtRules:
11- issuer: "https://issuer.example.com"
12 jwksUri: "https://issuer.example.com/keys"
這兩個(gè)身份驗(yàn)證策略都存儲(chǔ)在Istio配置存儲(chǔ)中。
2.使用Istio實(shí)現(xiàn)授權(quán)
授權(quán)是驗(yàn)證是否允許通過身份驗(yàn)證的用戶訪問服務(wù)器(訪問控制)并執(zhí)行特定的操作。持續(xù)授權(quán)可以防止惡意用戶訪問業(yè)務(wù),從而確保其安全性和完整性。
Authorization Policy是另一個(gè)Istio CRD,它為部署在網(wǎng)格中的服務(wù)提供訪問控制。它有助于創(chuàng)建拒絕、允許策略,并針對(duì)入站請(qǐng)求執(zhí)行自定義操作。Istio允許設(shè)置具有不同操作的多個(gè)策略,以實(shí)現(xiàn)對(duì)工作負(fù)載的細(xì)粒度訪問控制。
以下Authorization Policy拒絕從dev命名空間中的工作負(fù)載到foo命名空間中工作負(fù)載的POST請(qǐng)求。
YAML
復(fù)制
1 apiVersion: security.istio.io/v1beta1
2 kind: AuthorizationPolicy
3 metadata:
4 name: httpbin
5 namespace: foo
6 spec:
7 action: DENY
8 rules:
9 - from:
10 - source:
11 namespaces: ["dev"]
12 to:
13 - operation:
14 methods: ["POST"]
3.Istio的多集群和多云可見性
零信任網(wǎng)絡(luò)(ZTN)的另一個(gè)重要支柱是網(wǎng)絡(luò)和服務(wù)可見性。SRE團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)需要實(shí)時(shí)監(jiān)控跨云平臺(tái)和集群邊界的微服務(wù)之間的流量。深入了解網(wǎng)絡(luò)將有助于SRE團(tuán)隊(duì)快速識(shí)別異常的根本原因,制定解決方案并恢復(fù)應(yīng)用程序。
Istio通過從數(shù)據(jù)和控制平臺(tái)的網(wǎng)格中收集以下遙測(cè)數(shù)據(jù),提供對(duì)通信流和應(yīng)用程序運(yùn)行狀況的可見性。
(1)日志:Istio收集各種日志,例如服務(wù)日志、API日志、訪問日志、網(wǎng)關(guān)日志等,這將有助于理解應(yīng)用程序的行為。日志還有助于更快地排除故障和診斷網(wǎng)絡(luò)事件。
(2)指標(biāo):它們有助于了解服務(wù)的實(shí)時(shí)性能,以識(shí)別異常并在運(yùn)行時(shí)對(duì)其進(jìn)行微調(diào)。Istio除了4個(gè)黃金指標(biāo)(錯(cuò)誤率、流量、延遲和飽和度)之外,還提供了許多指標(biāo)。
(3)分布式跟蹤:它是在網(wǎng)格中對(duì)流經(jīng)多個(gè)服務(wù)的請(qǐng)求進(jìn)行跟蹤和可視化。分布式跟蹤有助于理解微服務(wù)之間的交互,并提供網(wǎng)格中服務(wù)到服務(wù)通信的整體視圖。
4.使用Istio進(jìn)行網(wǎng)絡(luò)審計(jì)
審計(jì)是分析一個(gè)過程在一段時(shí)間內(nèi)的日志,其目的是優(yōu)化整個(gè)過程。審計(jì)日志為審計(jì)人員提供了對(duì)網(wǎng)絡(luò)活動(dòng)的有價(jià)值的見解,包括每次訪問的詳細(xì)信息、使用的方法、流量模式等。這些信息對(duì)于理解數(shù)據(jù)中心和公共云內(nèi)外的通信過程非常有用。
Istio提供了關(guān)于誰訪問(或請(qǐng)求)、何時(shí)訪問以及訪問什么資源的信息,這對(duì)于審計(jì)人員調(diào)查錯(cuò)誤情況非常重要。審計(jì)人員需要這些信息來建議改進(jìn)網(wǎng)絡(luò)整體性能和云原生應(yīng)用程序安全性的步驟。
四、部署Istio以獲得更好的安全態(tài)勢(shì)
在微服務(wù)架構(gòu)中,保護(hù)網(wǎng)絡(luò)和數(shù)據(jù)的挑戰(zhàn)將變得越來越復(fù)雜。網(wǎng)絡(luò)攻擊者總是在SRE團(tuán)隊(duì)中的任何人有時(shí)間注意到漏洞之前搶先發(fā)現(xiàn)并利用它們。
實(shí)現(xiàn)零信任網(wǎng)絡(luò)將提供可見性和保護(hù)Kubernetes集群免受內(nèi)部或外部威脅。Istio服務(wù)網(wǎng)格可以通過開箱即用實(shí)現(xiàn)零信任的能力,從前端引領(lǐng)這項(xiàng)工作。
文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請(qǐng)謹(jǐn)慎對(duì)待。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。
2024年的Adobe MAX 2024發(fā)布會(huì)上,Adobe推出了最新版本的Adobe Creative Cloud。
奧維云網(wǎng)(AVC)推總數(shù)據(jù)顯示,2024年1-9月明火炊具線上零售額94.2億元,同比增加3.1%,其中抖音渠道表現(xiàn)優(yōu)異,同比有14%的漲幅,傳統(tǒng)電商略有下滑,同比降低2.3%。
“以前都要去窗口辦,一套流程下來都要半個(gè)月了,現(xiàn)在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關(guān)材料,僅幾秒鐘,重慶市民曾某的賬戶就打進(jìn)了21600元。
華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,憑借其優(yōu)秀的性能配置和精準(zhǔn)的色彩呈現(xiàn)能力,為您的創(chuàng)作工作帶來實(shí)質(zhì)性的幫助,雙十一期間低至2799元,性價(jià)比很高,簡(jiǎn)直是創(chuàng)作者們的首選。
9月14日,2024全球工業(yè)互聯(lián)網(wǎng)大會(huì)——工業(yè)互聯(lián)網(wǎng)標(biāo)識(shí)解析專題論壇在沈陽成功舉辦。