用於隔離和邊界保護的多網格部署
將需要隔離的環境部署到單獨的網格中,並通過網格聯合啟用網格間通信。
各種合規標準要求保護敏感資料環境。一些重要的標準及其保護的敏感資料類型如下表所示
標準 | 敏感資料 |
---|---|
PCI DSS | 支付卡資料 |
FedRAMP | 聯邦資訊、資料和元資料 |
HIPAA | 個人健康資料 |
GDPR | 個人資料 |
例如,PCI DSS 建議將持卡人資料環境放在與系統其餘部分隔離的網路上。它還要求使用DMZ,並在公共網際網路和 DMZ 之間,以及在 DMZ 和內部網路之間設定防火牆。
將敏感資料環境與其他資訊系統隔離可以減少合規檢查的範圍並提高敏感資料的安全性。根據合規要求,減少範圍可以降低未能通過合規檢查的風險,並降低合規成本,因為需要檢查和保護的組件較少。
您可以通過將處理資料的應用程式部分分離到單獨的服務網格中(最好在單獨的網路中),然後在多網格部署中將具有不同合規要求的網格連接在一起,從而實現敏感資料的隔離。連接網格間應用程式的過程稱為網格聯合。
請注意,使用網格聯合來建立多網格部署與建立多叢集部署截然不同,多叢集定義了一個由跨越多個叢集的服務組成的單一服務網格。與多網格不同,多叢集部署不適用於需要隔離和邊界保護的應用程式。
在本部落格文章中,我將描述隔離和邊界保護的要求,並概述多網格部署的原則。最後,我將簡要介紹目前 Istio 的網格聯合支援和自動化工作。
隔離和邊界保護
隔離和邊界保護機制在NIST 特別出版物 800-53,修訂版 4,《聯邦資訊系統和組織的安全與隱私控制》,附錄 F,安全控制目錄,SC-7 邊界保護 中進行了解釋。
特別是,邊界保護、資訊系統組件隔離控制增強功能
各種合規標準建議將處理敏感資料的環境與組織的其餘部分隔離。支付卡產業 (PCI) 資料安全標準建議為持卡人資料環境實施網路隔離,並要求將此環境與DMZ隔離。FedRAMP 授權邊界指南描述了聯邦資訊和資料的授權邊界,而NIST 特別出版物 800-37,修訂版 2,《資訊系統和組織的風險管理框架:安全和隱私的系統生命週期方法》建議在附錄 G,授權邊界考量中保護此類邊界。
特別是,邊界保護意味著
- 在邊界處放置一個存取控制機制(防火牆、網關等)
- 監控邊界處的傳入/傳出流量
- 所有存取控制機制預設必須為全部拒絕
- 不要從邊界公開私有 IP 位址
- 不要讓邊界外的組件影響邊界內的安全性
多網格部署有助於將系統劃分為具有不同安全性和合規性要求的子系統,並有助於邊界保護。您可以將每個子系統放入單獨的服務網格中,最好是在單獨的網路中。您可以使用網關連接 Istio 網格。網關會監控和控制每個網格邊界的跨網格流量。
多網格部署的功能
- 非統一命名。在一個網格的
accounts
命名空間中的withdraw
服務可能具有與其他網格的accounts
命名空間中的withdraw
服務不同的功能和 API。在組織內沒有統一的命名空間和服務策略,或者當網格屬於不同的組織時,可能會發生這種情況。 - 預設不公開任何內容。預設情況下,網格中的任何服務都不會公開,網格擁有者必須明確指定要公開哪些服務。
- 邊界保護。必須在入口網關處強制執行流量的存取控制,這會阻止禁止的流量進入網格。此要求實施了深度防禦原則,並且是某些合規標準的一部分,例如支付卡產業 (PCI) 資料安全標準。
- 可能不存在通用信任。由於某些安全要求,或者由於網格擁有者最初並未計畫聯合網格,因此一個網格中的 Istio sidecar 可能不信任其他網格中的 Citadel 憑證。
雖然預設不公開任何內容和邊界保護是促進合規性和提高安全性所必需的,但當連接不同組織的網格,或無法強制執行統一命名或無法或可能無法在網格之間建立通用信任的組織時,則需要非統一命名和可能不存在通用信任。
您可能想要使用的可選功能是服務位置透明度:使用本機服務名稱將請求傳送到遠端網格中公開的服務。使用中的服務不知道某些目的地在遠端網格中,而某些目的地是本機服務。存取是統一的,使用本機服務名稱,例如,在 Kubernetes 中,reviews.default.svc.cluster.local
。服務位置透明度在您想要能夠更改使用服務的位置時很有用,例如當某些服務從私有雲遷移到公有雲時,而無需更改應用程式的程式碼。
目前的網格聯合工作
雖然您現在可以使用標準 Istio 配置執行網格聯合,但這需要編寫大量樣板 YAML 檔案,而且容易出錯。目前正在努力自動化網格聯合過程。在此期間,您可以查看這些多網格部署範例,以了解生成的聯合可能包含的內容。
摘要
在本部落格文章中,我描述了使用 Istio 多網格部署隔離和邊界保護敏感資料環境的要求。我概述了 Istio 多網格部署的原則,並報告了目前在 Istio 中進行的網格聯合工作。
我很樂意聽到您對多網格和多叢集的意見,請前往 discuss.istio.io。