云原生大数据平台零信任网络安全实践技术稿
近年来星环科技围绕着数据安全做了大量的工作,形成了一个数据安全的产品体系。本文主要给大家介绍下星环数据云基于零信任安全理念在网络安全上的思考与实践。
首先对星环数据云产品的安全需求进行梳理和分类,大致可分为四类:
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 实现了基于身份认证的网络安全访问。大数据组件的身份认证与网络身份认证整合,统一管理,支持策略联动。实现统一身份认证功
评论