雲原生大數據平台零信任網路安全實踐技術稿

近年來星環科技圍繞著數據安全做了大量的工作,形成了一個數據安全的產品體系。本文主要給大家介紹下星環數據云基於零信任安全理念在網路安全上的思考與實踐。

首先對星環數據云產品的安全需求進行梳理和分類,大致可分為四類:

l 數據應用層需要可信的數據應用機制,能夠通過對內授權、對外隱私計算等方式幫助數據安全流通。

l 數據資源層需要對進行數據安全治理和安全防護,對數據分級分類、脫敏、溯源,管理許可權等。

l 大數據平台層需要可信的軟體環境,能夠進行平台組件管理,數據加密傳輸和存儲,審計操作,確權訪問等。

l 雲基礎設施層需要可信的計算環境,能夠對資源進行安全監控,資源隔離,漏洞檢測等。

針對這四類需求,星環科技都針對性的提供了對應的安全產品用來提供相應的服務能力:

l 在數據應用層能提供了 可信數據流通和可信隱私計算。

l 在數據資源層提供了 數據安全治理,數據安全防護。

l 在大數據平台層提供了 數據傳輸存儲安全,數據安全射進,平台許可權管控產品。

l 在雲基礎設施層提供看基礎設施安全監控,包括容器隔離,鏡像掃描,動態漏洞檢測大家可以看到目前星環科技提供了很多維度的安全產品。

本文主要圍繞網路和認證相關的底層技術如:微隔離安全區、 集群安全邊界以及統一身份認證講述零信任網路實踐。

首先介紹的是微隔離安全區功能。

針對大數據業務場景,我們對微隔離功能進行了深度打磨,從基本元語/元素到功能/特性實現做了大量的工作。不再使用傳統網路中的五元組作為基本元素,而是更多的使用了多元化的邏輯標識作為微隔離的基本元語 :Node、Namespace、Label、Service&Endpoints、Service Account、IPBlock等。

基於基本元語以網路安全區為核心重新定義微隔離基本元素,靈活配置微隔離邏輯範圍,避免過度隔離或者隔離不到位。新的微隔離基本元素有:SecurityZone、SecurityGroup、SecurityRule。

SercurityZone是以微隔離基本元語為應用單位劃分的靈活的微隔離邏輯範圍。同時我們對安全策略通過SecurityGroup以組的形式進行管理。而SecurityRule則是具體微隔離安全策略的具體規則。SecuriytyRule最終會翻譯為OpenFlow Pipeline,實現安全策略功能。

微隔離安全區功還支援多種特性如:

l 流量可觀測性:多個維度對微隔離流量進行統計,並可視化展示,如:Node維度、Pod維度、Pod-Pod維度、Pod-Service維度、SecurityZone維度。

​l 支援L7的安全策略:我們不僅支援L2-L4的安全策略訪問控制,還在流量可觀測性的基礎上實現L7的更細粒度的安全防護。比如基於L7中的protocols、method以及pach等欄位實現應用層的安全訪問控制。

l 流量按需加密功能:在不藉助service mesh的情況下實現輕量級的流量按需加密,比如可以對SecurityZone內部流量進行按需加密或者對SecurityZone和外部的流量按需加密。

l 微隔離安全區與 CNI 插件解耦:可以兼容多種主流 CNI 插件,如可以支援Flannel、Calico以及Antrea。

l 安全策略引擎:對流量進行多維度的計算和學習。實現網路安全區內上架的應用的動態感知,自動根據流量通訊記錄學習生成安全策略。

接著介紹的是集群安全邊界功能。

前面介紹的微隔離安全區功能,主要確保了集群內的網路訪問安全。而集群外部安全的訪問集群內的應用也是重要的功能,為了確保這類訪問安全,我們做了三方面的技術防護:

第一個是安全邊界負載均衡器:我們統一集群南北流量,在做到高性能,高可用的同時,增強了安全相關的特性。如白名單管理、真實源 IP以及網路加密。

K8s本身不包含負載均衡器,基本上通過nodeport或者ingress對外提供服務,我們為了確保安全訪問,自研了輕量的負載均衡器,統一了南北流量的訪問入口,可以將集群內部應用統一對外暴露,在確保高性能,節點高可用,AZ高可用的同時,增強了以下安全功能。

l 白名單管理,放行指定源 IP/CIDR 對指定集群應用的訪問,並支援對阻止的報文進行流量審計。配合ingress可以做到七層網路的安全訪問控制。

​l 真實源 IP,支援透傳客戶端 IP 功能,確保報文進入集群內部後進一步的安全審計處理。

l 網路加密,支援 WireGuard 隧道通訊模式,包括用戶和集群間以及集群之間建立 WireGuard 隧道進行加密通訊。

​第二個是跨集群安全通訊:我們之前已經實現了跨集群的Full Mesh 通訊,即不藉助網關節點兩個集群之間pod和pod可以直接通訊,在這之上,我們增強了安全相關特性,確保跨集群 Pod-To-Pod 的安全通訊。

可以在兩個SLB之間建立wireguard隧道。兩個集群的pod之間集中通過SLB進行加密通訊同時針對有能力配置wireguard隧道的用戶,負載均衡器也支援和用戶建立wireguard隧道,確保整個鏈路的安全加密。

​第三個是邊界防火牆:支援對 NodePort 類型的 Service、HostNetwork 類型的 Pod 以及部分配置埠映射的Pod設置集群維度、節點維度、外部訪問維度等多個維度邊界安全規則。

​最後介紹的是統一身份認證。

無論是隔離防護功能還是邊界防護功能主要是主動或者被動防護的功能,我們還需要星環數據云中的workloads之間通訊的身份認證 。我們認為星環數據云中的workloads之間網路通訊都是不可信的,需要一個統一身份認證,在給workloads分配統一的標識ID的同時,實現基於ID的認證和通訊策略管理。

​星環數據云是一個多租戶雲平台,支援租戶嚴格的授權和安全管控以及租戶數據管理。我們基於 SPIFFE 標準,集成 Spire 實現了基於身份認證的網路安全訪問。大數據組件的身份認證與網路身份認證整合,統一管理,支援策略聯動。實現統一身份認證功能。

Tags: