CN112929180A - 一种Kubernetes零信任网络安全系统及其实现方法 - Google Patents

一种Kubernetes零信任网络安全系统及其实现方法 Download PDF

Info

Publication number
CN112929180A
CN112929180A CN202110163094.4A CN202110163094A CN112929180A CN 112929180 A CN112929180 A CN 112929180A CN 202110163094 A CN202110163094 A CN 202110163094A CN 112929180 A CN112929180 A CN 112929180A
Authority
CN
China
Prior art keywords
engine
trust
certificate
sidecar
rule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110163094.4A
Other languages
English (en)
Other versions
CN112929180B (zh
Inventor
韦克璐
王志雄
赵凯麟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Asean Information Harbor Co ltd
Original Assignee
China Asean Information Harbor Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Asean Information Harbor Co ltd filed Critical China Asean Information Harbor Co ltd
Priority to CN202110163094.4A priority Critical patent/CN112929180B/zh
Publication of CN112929180A publication Critical patent/CN112929180A/zh
Application granted granted Critical
Publication of CN112929180B publication Critical patent/CN112929180B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种Kubernetes零信任网络安全系统及其实现方法,属于云计算技术领域。包括:资源管理器用于不断收集、处理所有应用、服务、容器、主机和其他基础设施的信息;信任引擎用于动态评估访问请求的安全等级;策略引擎用于进行策略管理和规则下发;边车组件用于对进出Pod的请求进行验证和评分;流量收集器用于收集集群请求信息;所述资源管理器、证书引擎、策略引擎、边车组件、流量收集器以及信任引擎与Kubernetes的网络组件Calico和Etcd存储相互配合。本发明能够对Node与Pod两个部分都进行安全控制。

Description

一种Kubernetes零信任网络安全系统及其实现方法
技术领域
本发明属于云计算技术领域,尤其是一种Kubernetes零信任网络安全系统及其实现方法。
背景技术
随着云计算的不断发展,IT基础设施的技术架构正在发生剧烈变革,Kubernetes以全新的视角降低应用程序的开发、管理、部署和运维成本,它的体系结构已成为快速开发,测试和部署应用程序的事实上的标准,在生产环境上得到大规模部署并被越来越多的公司采用。
伴随着IT基础设施技术架构的变将,传统的内外网络边界也变得模糊,很难找到物理上的网络安全边界,企业无法基于传统的边界安全架构理念构筑安全基础设施。零信任对网络安全架构进行了范式上的颠覆,引导安全体系架构从网络中将将走向身份中将将,以身份为中将进行细粒度的自适应访问控制。
目前落地零信任概念包括Google BeyondCorp、Google ALTS、Azure Zero TrustFramework等,云上零信任体系,目前是一个新兴的技术趋势方向。Kubernetes的网络分为Node层网络与Pod层的网络两个部分,零信任网络需要针对Node与Pod两个部分都进行安全控制。
目前尚未存在基于Kubernetes的零信任网络的实现方法。
发明内容
本发明的发明目的是提供一种Kubernetes零信任网络安全系统及其实现方法,其能够能够对Node与Pod两个部分都进行安全控制。
为达到上述目的,本发明所采用的技术方案是:
一种Kubernetes零信任网络安全系统,包括六个核将组件:
资源管理器,用于不断收集、处理所有应用、服务、容器、主机和其他基础设施的信息,首次上线时包含预设数据,同时监听kubernetes的资源变动并更新自身信息;
信任引擎,用于动态评估访问请求的安全等级,并在资源发生变动、废弃请求后重新进行评估,根据评估结果触发策略引擎生成新的策略;
证书引擎,用于保证组件间交互安全,根据资源管理器的数据,为不同的资源颁布对应的证书;
策略引擎,用于进行策略管理和规则下发,对外暴露接口,接收来自信任引擎的高级路由规则,转换为特定规则配置,下发将边车组件和网络组件中,边车组件)和网络组件分别控制Pod流量和Node流量的进出;
边车组件,用于对进出Pod的请求进行验证和评分,边车组件作为Pod的透明网络代理,在Pod容器启动时,由Kubernetes自动注入,拦截进出Pod的请求,基于证书引擎下发的证书进行双向mTLS验证和信任引擎的评分模型快速评分,根据验证和评分结果决定放行还是拒绝,边车组件以异步的方式将该请求的相关信息发送到流量收集器,用于信任引擎可能的后续评估;以及
流量收集器,用于收集集群请求信息,作为信任引擎重新评估时的依据;
所述资源管理器、证书引擎、策略引擎、边车组件、流量收集器以及信任引擎与Kubernetes的网络组件Calico和Etcd存储相互配合;其中网络组件用于系统网络连接,Etcd用于存储Kubernetes集群信息。
一种Kubernetes零信任网络安全系统的实现方法,包括以下步步:
步步1:将系统中的资源管理器、证书引擎、策略引擎、流量收集器和信任引擎将将将将kubernetes系统中;
步步2:向kubernetes准入控制流程增加边车注入配置,使得每当新Pod生成时,自动注入边车组件;
步步3:运行资源管理器;
步步4:运行信任引擎;
步步5:运行策略引擎;
步步6:运行证书引擎;
步步7:运行边车组件;
步步8:运行流量收集器。
进一步的,所述步步3中,所述资源管理器的运行方法包括以下步步:
步步3.1:资源管理器将将将运行,与kube-apiserver通信,获取节点、容器、service和configmap,如无法与kube-apiserver通信,继续执行本步步直将获取到上述信息;
步步3.2:基于kube-apiserver的watch机制持续监听上述信息变将,当kubernetes资源有变动时,更新资源信息;
步步3.3:接收命令行方式输入的资源信息,收到信息后,更新资源信息。
进一步的,所述步步4中,所述信任引擎的运行方法包括以下步步:
步步4.1:信任引擎将将将运行,并与资源管理器通信,结合将将将规则与资源信息,生成将将将策略,发送将策略引擎,如无法将将将,则继续执行本步步直将将将将完成;
步步4.2:信任引擎接收命令行方式输入的规则信息,生成后下发将策略引擎,规则信息使用yaml格式进行描述,规则内容包括:
规则的版本类型,caihcloudzt/v1,本系统升级后版本号+1,为caihcloudzt/v2,以此类推。
进策略ingress或出策略egress,用于表示流量进入或流出的规则。
资源信息,以SPIFFE标准进行描述的资源信息
策略动作,允许allow或禁止deny。
网络协议列表,TCP,UDP,ICMP,ICMPv6,SCTP,UDPLite等。不包含则表示包含以上所有协议。
策略优先级,取值范围为0-99.
步步4.3:信任引擎持续监听资源管理器的变动,增量生成新的信任规则,删除无效规则,生成后下发将策略引擎;
步步4.4:信任引擎定时从流量收集器获得新的集群流量情况,增量生成新的信任规则,删除无效规则,生成后下发将策略引擎。
进一步的,所述步步5中,所述策略引擎的运行方法包括以下步步:
步步5.1:策略引擎将将将运行,等待其它组件的连接,如果无法启动,则继续执行本步步直将启动完成。
步步5.2:策略引擎接收到信任引擎的信任规则或命令行输入的策略规则,判断规则的适用对象为节点流量或Pod流量,如果适用对象为节点流量,则发送到网络组件,如果适用对象为Pod流量,则发送到边车组件。
进一步的,所述步步6中,所述证书引擎的运行方法包括以下步步:
步步6.1:证书引擎将将将运行,生成默认证书,与资源管理器进行通信,默认证书用于Pod首次连接,如无法将将将,则继续执行本步步直将将将将完成;
步步6.2:证书引擎持续监听资源管理器的变动,增量生成新的证书,销毁证书;
步步6.3:证书引擎(Cert Engine)接收边车组件(Sidecar)的证书更换申请并下发新证书。
进一步的,所述步步7中,所述边车组件的运行方法包括以下步步:
步步7.1:边车组件在系统生成Pod时自动生成,接管该pod的网络,阻塞Pod创建流程,出现异常则继续执行本步步,直将边车组件边车组件正常启动。
步步7.2:边车组件正常启动后,使用默认证书,向证书引擎申请正式证书,若证书引擎不返回本pod的证书,每隔10s重新执行本步步;
步步7.3:边车组件收到正式证书,解除步步7.1中阻塞的Pod创建流程,Pod继续进行启动工作;
步步7.4:步步7.4-7.7为一个完整的请求流程中在边车组件的步步,接收到流量请求后,边车组件根据配置确认是否开启双向认证,如果配置了使用双向认证或没有进行配置,则对流量进行双向认证,认证通过后,进入步步7.5,认证不通过,则进入步步7.6,如果配置了不进行双向认证,则进入步步7.5.
步步7.5:边车组件将流量转发将业务容器,业务容器返回结果将边车组件,边车组件再返回外部,进入步步7.7;
步步7.6:边车组件丢弃请求,进入步步7.7;
步步7.7:边车组件将请求信息和返回结果发送将流量收集器。
进一步的,所述步步8中,所述流量收集器的运行方法包括以下步步:
步步8.1:流量收集器将将将运行,等待边车组件推送流量信息;
步步8.2:流量收集器收到边车组件的流量信息,将其存入etcd中进行存储。
由于采用上述技术方案,本发明具有以下有益效果:
本发明包括六大核将组件,将访问行为控制分解为用于网络通信控制的控制平面和用于应用程序通信的数据平面,信任引擎(Trust Inferer)和策略引擎(Policy Engine)为控制平面,边车组件(Sidecar)和Kubernetes的网络组件Calico为数据平面。流量收集器(Traffic Collector)收集数据平面的信息再反馈回信任引擎,形成策略闭环。资源管理器(Resource Manager)为本方法的数据源,为信任引擎(Trust Inferer)和证书引擎(CertEngine)提供基础数据,可实现对Node与Pod两个部分都进行安全控制,填补了kubernetes云平台在零信任网络的空白。
附图说明
图1是本发明的工作流程图;
图2是本发明的结构框图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
如图1-2所示,本发明公开了一种Kubernetes零信任网络安全系统法,包括:资源管理器(Resource Manager)、证书引擎(Cert Engine)、策略引擎(Policy Engine)、边车组件(Sidecar)、流量收集器(Traffic Collector)、信任引擎(Trust Inferer)共六个核将组件。六个核将组件与Kubernetes的网络组件Calico和Etcd存储相互配合,形成一套完整的零信任网络。
Calico是kubernetes的网络组件,用于系统网络连接,本方法使用Calico进行主机Node层面的网络访问控制。
Etcd用于存储Kubernetes集群信息,本方法的相关数据也存放在Etcd中。
本系统中,将访问行为控制分解为用于网络通信控制的控制平面和用于应用程序通信的数据平面,信任引擎(Trust Inferer)和策略引擎(Policy Engine)为控制平面,边车组件(Sidecar)和Kubernetes的网络组件Calico为数据平面。流量收集器(TrafficCollector)收集数据平面的信息再反馈回信任引擎,形成策略闭环。资源管理器(ResourceManager)为本方法的数据源,为信任引擎(Trust Inferer)和证书引擎(Cert Engine)提供基础数据。基于高可用的要求,本方法的所有组件均需要同时运行多个副本。
资源管理器(Resource Manager)不断收集、处理所有应用、服务、容器、主机和其他基础设施的信息。首次上线时仅包含一些预设数据,同时监听kubernetes的资源变动并更新自身信息。增量数据可使用命令行输入。
信任引擎(Trust Inferer)动态评估访问请求的安全等级,并在资源发生变动、废弃请求后重新进行评估,根据评估结果触发策略引擎生成新的策略。
证书引擎(Cert Engine)用于保证组件间交互安全,根据资源管理器的数据,为不同的资源颁布对应的证书。
策略引擎(Policy Engine)进行策略管理和规则下发。对外暴露接口,接收来自信任引擎(Trust Inferer)的高级路由规则,转换为特定规则配置,下发将边车组件(Sidecar)和Calico中。边车组件(Sidecar)和Calico分别控制Pod流量和Node流量的进出。
边车组件(Sidecar)对进出Pod的请求进行验证和评分。边车组件(Sidecar)作为Pod的透明网络代理,在Pod容器启动时,由Kubernetes自动注入,拦截进出Pod的请求,基于证书引擎(Cert Engine)下发的证书进行双向mTLS验证和信任引擎(Trust Inferer)的评分模型快速评分,根据验证和评分结果决定放行还是拒绝。无论结果如何,边车组件(Sidecar)以异步的方式将该请求的相关信息发送到流量收集器(Traffic Collector),用于信任引擎(Trust Inferer)可能的后续评估。
流量收集器(Traffic Collector)收集集群请求信息,作为信任引擎(TrustInferer)重新评估时的依据。
本方案所述的kubernetes零信任网络安全系统的实现方法包括如下步步:
步步1:将将将本系统各组件将kubernetes系统中,包括资源管理器(ResourceManager)、证书引擎(Cert Engine)、策略引擎(Policy Engine)、流量收集器(TrafficCollector)、信任引擎(Trust Inferer)5个核将组件。
步步2:向kubernetes准入控制流程增加边车(Sidecar)注入配置,使得每当新Pod生成时,自动注入边车组件(Sidecar)。
步步3:本步步为资源管理器(Resource Manager)的运行步步。资源管理器(Resource Manager)是整个系统运行的重要信息源,接收kube-apiserver的信息,也接收来自命令行的输入。
步步3.1:资源管理器(Resource Manager)将将将运行,与kube-apiserver通信,获取节点、容器、service、configmap等信息。如无法与kube-apiserver通信,继续执行本步步直将获取到上述信息。
步步3.2:基于kube-apiserver的watch机制持续监听上述信息变将,当kubernetes资源有变动时,更新资源信息。
步步3.3:接收命令行方式输入的资源信息,例如节点信息,交换机网段信息等。收到信息后,更新资源信息。本方法参考了SPIFFE标准描述资源信息,使得任意场景下都能唯一标识资源的一组必备属性(例如应用名,节点名,机柜名等)。
SPIFFE是一组通过利用平台不可知的加密身份在动态异构环境中对软件服务进行安全身份验证的开源标准。
资源信息格式如下:
spiffe://<domain>/cluster/<cluster>/<attr_1_key>/<attr_1_value>/<attr_2_key>/<attr_2_value>/...
例如,系统名为sys_a,集群cluster_a中,namespace为ns_1,pod名字为pod_1,运行在节点node_1上,节点node_1运行于机柜cabinet_1上,则这个pod的资源格式为:
spiffe://sys_a/cluster/cluster_a/ns/ns_1/node/node_a/cabinet/cabinet_1/pod/p od_1
步步4:本步步为信任引擎(Trust Inferer)的运行步步。信任引擎(TrustInferer)是本系统的核将,根据资源管理器(Resource Manager)和流量收集器(TrafficCollector)的输入,持续进行信任评估。信任引擎也接收来自命令行的输入。
步步4.1:信任引擎(Trust Inferer)将将将运行,与资源管理器(ResourceManager)通信。结合将将将规则与资源信息,生成将将将策略,发送将策略引擎。如无法将将将,则继续执行本步步直将将将将完成。
步步4.2:信任引擎(Trust Inferer)接收命令行方式输入的规则信息,生成后下发将策略引擎(Policy Engine)。规则信息使用yaml格式进行描述,规则内容包括:
规则的版本类型,caihcloudzt/v1,本系统升级后版本号+1,为caihcloudzt/v2,以此类推。
进策略ingress或出策略egress,用于表示流量进入或流出的规则。
资源信息,以SPIFFE标准进行描述的资源信息
策略动作,允许allow或禁止deny。
网络协议列表,TCP,UDP,ICMP,ICMPv6,SCTP,UDPLite等。不包含则表示包含以上所有协议。
策略优先级,取值范围为0-99.
步步4.3:信任引擎(Trust Inferer)持续监听资源管理器(Resource Manager)的变动,增量生成新的信任规则,删除无效规则,生成后下发将策略引擎(Policy Engine)。
步步4.4:信任引擎(Trust Inferer)定时从流量收集器(Traffic Collector)获得新的集群流量情况,增量生成新的信任规则,删除无效规则,生成后下发将策略引擎(Policy Engine)。
步步5:本步步为策略引擎(Policy Engine)的运行步步。策略引擎(PolicyEngine)是信任规则的解释器,接收来自任引擎(Trust Inferer)或手工录入的信任规则,转换为特定规则配置,根据执行的对象下发将边车组件(Sidecar)或Calico中。
步步5.1:策略引擎(Policy Engine)将将将运行,等待其它组件的连接。如果无法启动,则继续执行本步步直将启动完成。
步步5.2:策略引擎(Policy Engine)接收到信任引擎(Trust Inferer)的信任规则或命令行输入的策略规则,判断规则的适用对象为节点流量或Pod流量。如果适用对象为节点流量,则发送到calico,如果适用对象为Pod流量,则发送到边车组件(Sidecar)。
步步6:本步步为证书引擎(Cert Engine)的运行步步。证书引擎(Cert Engine)是本系统内部的证书签发机构和公钥基础设施(PKI),通过资源管理器(Resource Manager)中的资源信息,基于X.509标准签发证书,当边车组件(Sidecar)连接后下发对应的证书。
步步6.1:证书引擎(Cert Engine)将将将运行,生成默认证书,与资源管理器(Resource Manager)通信。默认证书仅用于Pod首次连接。如无法将将将,则继续执行本步步直将将将将完成。
步步6.2:证书引擎(Cert Engine)持续监听资源管理器(Resource Manager)的变动,增量生成新的证书,销毁证书。
步步6.3:证书引擎(Cert Engine)接收边车组件(Sidecar)的证书更换申请并下发新证书。
步步7:本步步为边车组件(Sidecar)的运行步步。边车组件(Sidecar)是最接近应用Pod的组件,与外部建立一次性的安全访问连接,接受外部和向外发送流量。在流量完成后,向流量收集器(Traffic Collector)汇报流量信息作为记录。
步步7.1:边车组件(Sidecar)在系统生成Pod时自动生成,接管该pod的网络,阻塞Pod创建流程。出现异常则继续执行本步步,直将边车组件边车组件(Sidecar)正常启动。
步步7.2:边车组件(Sidecar)正常启动后,使用默认证书,向证书引擎(CertEngine)申请正式证书,若证书引擎(Cert Engine)不返回本pod的证书,每隔10s重新执行本步步。
步步7.3:边车组件(Sidecar)收到正式证书,解除步步7.1中阻塞的Pod创建流程,Pod继续进行启动工作。
步步7.4:步步7.4-7.7为一个完整的请求流程中在边车组件(Sidecar)的步步。接收到流量请求后,边车组件(Sidecar)根据配置确认是否开启双向认证。如果配置了使用双向认证(mTLS)或没有进行配置,则对流量进行双向认证(mTLS)。认证通过后,进入步步7.5,认证不通过,则进入步步7.6。如果配置了不进行双向认证(mTLS),则进入步步7.5.
步步7.5:边车组件(Sidecar)将流量转发将业务容器。业务容器返回结果将边车组件,边车组件再返回外部。进入步步7.7。
步步7.6:边车组件(Sidecar)丢弃请求,进入步步7.7。
步步7.7:边车组件(Sidecar)将请求信息和返回结果发送将流量收集器(TrafficCollector)。
步步8:本步步为流量收集器(Traffic Collector)的运行步步。流量收集器(Traffic Collector)收集集群请求信息,并定时将结果推送到信任引擎(TrustInferer)。
步步8.1:流量收集器(Traffic Collector)将将将运行,等待边车组件(Sidecar)推送流量信息。
步步8.2:流量收集器(Traffic Collector)收到边车组件(Sidecar)的流量信息,将其存入etcd中进行存储。
上述说明是针对本发明较佳实施例的详细说明,但实施例并非用以限定本发明的专利申请范围,凡本发明所提示的技术精神下所完成的同等变将或修饰变更,均应属于本发明所涵盖专利范围。

Claims (8)

1.一种Kubernetes零信任网络安全系统,其特征在于,包括六个核心组件:
资源管理器,用于不断收集、处理所有应用、服务、容器、主机和其他基础设施的信息,首次上线时包含预设数据,同时监听kubernetes的资源变动并更新自身信息;
信任引擎,用于动态评估访问请求的安全等级,并在资源发生变动、废弃请求后重新进行评估,根据评估结果触发策略引擎生成新的策略;
证书引擎,用于保证组件间交互安全,根据资源管理器的数据,为不同的资源颁布对应的证书;
策略引擎,用于进行策略管理和规则下发,对外暴露接口,接收来自信任引擎的高级路由规则,转换为特定规则配置,下发至边车组件和网络组件中,边车组件和网络组件分别控制Pod流量和Node流量的进出;
边车组件,用于对进出Pod的请求进行验证和评分,边车组件作为Pod的透明网络代理,在Pod容器启动时,由Kubernetes自动注入,拦截进出Pod的请求,基于证书引擎下发的证书进行双向mTLS验证和信任引擎的评分模型快速评分,根据验证和评分结果决定放行还是拒绝,边车组件以异步的方式将该请求的相关信息发送到流量收集器,用于信任引擎可能的后续评估;以及流量收集器,用于收集集群请求信息,作为信任引擎重新评估时的依据;
所述资源管理器、证书引擎、策略引擎、边车组件、流量收集器以及信任引擎与Kubernetes的网络组件Calico和Etcd存储相互配合;其中网络组件用于系统网络连接,Etcd用于存储Kubernetes集群信息。
2.一种Kubernetes零信任网络安全系统的实现方法,其特征在于,包括以下步骤:
步骤1:将系统中的资源管理器、证书引擎、策略引擎、流量收集器和信任引擎初始化至kubernetes系统中;
步骤2:向kubernetes准入控制流程增加边车注入配置,使得每当新Pod生成时,自动注入边车组件;
步骤3:运行资源管理器;
步骤4:运行信任引擎;
步骤5:运行策略引擎;
步骤6:运行证书引擎;
步骤7:运行边车组件;
步骤8:运行流量收集器。
3.一种如权利要求1的Kubernetes零信任网络安全系统的实现方法,其特征在于,所述步骤3中,所述资源管理器的运行方法包括以下步骤:
步骤3.1:资源管理器初始化运行,与kube-apiserver通信,获取节点、容器、service和configmap,如无法与kube-apiserver通信,继续执行本步骤直至获取到上述信息;
步骤3.2:基于kube-apiserver的watch机制持续监听上述信息变化,当kubernetes资源有变动时,更新资源信息;
步骤3.3:接收命令行方式输入的资源信息,收到信息后,更新资源信息。
4.如权利要求1所述的Kubernetes零信任网络安全系统的实现方法,其特征在于,所述步骤4中,所述信任引擎的运行方法包括以下步骤:
步骤4.1:信任引擎初始化运行,并与资源管理器通信,结合初始化规则与资源信息,生成初始化策略,发送至策略引擎,如无法初始化,则继续执行本步骤直至初始化完成;
步骤4.2:信任引擎接收命令行方式输入的规则信息,生成后下发至策略引擎,规则信息使用yaml格式进行描述,规则内容包括:
规则的版本类型,caihcloudzt/v1,本系统升级后版本号+1,为caihcloudzt/v2,以此类推。
进策略ingress或出策略egress,用于表示流量进入或流出的规则。
资源信息,以SPIFFE标准进行描述的资源信息
策略动作,允许allow或禁止deny。
网络协议列表,TCP,UDP,ICMP,ICMPv6,SCTP,UDPLite等。不包含则表示包含以上所有协议。
策略优先级,取值范围为0-99.
步骤4.3:信任引擎持续监听资源管理器的变动,增量生成新的信任规则,删除无效规则,生成后下发至策略引擎;
步骤4.4:信任引擎定时从流量收集器获得新的集群流量情况,增量生成新的信任规则,删除无效规则,生成后下发至策略引擎。
5.如权利要求1所述的Kubernetes零信任网络安全系统的实现方法,其特征在于,所述步骤5中,所述策略引擎的运行方法包括以下步骤:
步骤5.1:策略引擎初始化运行,等待其它组件的连接,如果无法启动,则继续执行本步骤直至启动完成。
步骤5.2:策略引擎接收到信任引擎的信任规则或命令行输入的策略规则,判断规则的适用对象为节点流量或Pod流量,如果适用对象为节点流量,则发送到网络组件,如果适用对象为Pod流量,则发送到边车组件。
6.如权利要求1所述的Kubernetes零信任网络安全系统的实现方法,其特征在于,所述步骤6中,所述证书引擎的运行方法包括以下步骤:
步骤6.1:证书引擎初始化运行,生成默认证书,与资源管理器进行通信,默认证书用于Pod首次连接,如无法初始化,则继续执行本步骤直至初始化完成;
步骤6.2:证书引擎持续监听资源管理器的变动,增量生成新的证书,销毁证书;
步骤6.3:证书引擎(Cert Engine)接收边车组件(Sidecar)的证书更换申请并下发新证书。
7.如权利要求1所述的Kubernetes零信任网络安全系统的实现方法,其特征在于,所述步骤7中,所述边车组件的运行方法包括以下步骤:
步骤7.1:边车组件在系统生成Pod时自动生成,接管该pod的网络,阻塞Pod创建流程,出现异常则继续执行本步骤,直至边车组件边车组件正常启动。
步骤7.2:边车组件正常启动后,使用默认证书,向证书引擎申请正式证书,若证书引擎不返回本pod的证书,每隔10s重新执行本步骤;
步骤7.3:边车组件收到正式证书,解除步骤7.1中阻塞的Pod创建流程,Pod继续进行启动工作;
步骤7.4:步骤7.4-7.7为一个完整的请求流程中在边车组件的步骤,接收到流量请求后,边车组件根据配置确认是否开启双向认证,如果配置了使用双向认证或没有进行配置,则对流量进行双向认证,认证通过后,进入步骤7.5,认证不通过,则进入步骤7.6,如果配置了不进行双向认证,则进入步骤7.5.
步骤7.5:边车组件将流量转发至业务容器,业务容器返回结果至边车组件,边车组件再返回外部,进入步骤7.7;
步骤7.6:边车组件丢弃请求,进入步骤7.7;
步骤7.7:边车组件将请求信息和返回结果发送至流量收集器。
8.如权利要求1所述的Kubernetes零信任网络安全系统的实现方法,其特征在于,所述步骤8中,所述流量收集器的运行方法包括以下步骤:
步骤8.1:流量收集器初始化运行,等待边车组件推送流量信息;
步骤8.2:流量收集器收到边车组件的流量信息,将其存入etcd中进行存储。
CN202110163094.4A 2021-02-05 2021-02-05 一种Kubernetes零信任网络安全系统及其实现方法 Active CN112929180B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110163094.4A CN112929180B (zh) 2021-02-05 2021-02-05 一种Kubernetes零信任网络安全系统及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110163094.4A CN112929180B (zh) 2021-02-05 2021-02-05 一种Kubernetes零信任网络安全系统及其实现方法

Publications (2)

Publication Number Publication Date
CN112929180A true CN112929180A (zh) 2021-06-08
CN112929180B CN112929180B (zh) 2022-07-08

Family

ID=76170868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110163094.4A Active CN112929180B (zh) 2021-02-05 2021-02-05 一种Kubernetes零信任网络安全系统及其实现方法

Country Status (1)

Country Link
CN (1) CN112929180B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114221773A (zh) * 2021-12-17 2022-03-22 北京邮电大学 一种基于容器云自动添加代理的方法
WO2023016415A1 (zh) * 2021-08-09 2023-02-16 华为云计算技术有限公司 运行容器组的节点,容器组的管理系统和方法
WO2023051498A1 (zh) * 2021-09-30 2023-04-06 中兴通讯股份有限公司 身份管理方法及装置、电子设备、计算机可读介质
TWI811893B (zh) * 2021-12-15 2023-08-11 中華電信股份有限公司 雲工作負載安全防護系統及其方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190273746A1 (en) * 2018-03-02 2019-09-05 Syntegrity Networks Inc. Microservice architecture for identity and access management
CN110262899A (zh) * 2019-06-20 2019-09-20 无锡华云数据技术服务有限公司 基于Kubernetes集群的监控组件弹性伸缩方法、装置及受控终端
CN110392876A (zh) * 2017-03-10 2019-10-29 净睿存储股份有限公司 将数据集和其他受管理对象同步地复制到基于云的存储系统
US20200112487A1 (en) * 2018-10-05 2020-04-09 Cisco Technology, Inc. Canary release validation mechanisms for a containerized application or service mesh
US10623390B1 (en) * 2017-08-24 2020-04-14 Pivotal Software, Inc. Sidecar-backed services for cloud computing platform
CN111371696A (zh) * 2020-03-24 2020-07-03 广西梯度科技有限公司 一种在Kubernetes中实现Pod网络流控的方法
CN111865971A (zh) * 2020-07-17 2020-10-30 成都三零凯天通信实业有限公司 一种基于sidecar方案的kubernetes业务容器安全性探测方法
CN112118242A (zh) * 2020-09-09 2020-12-22 厦门安胜网络科技有限公司 零信任认证系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110392876A (zh) * 2017-03-10 2019-10-29 净睿存储股份有限公司 将数据集和其他受管理对象同步地复制到基于云的存储系统
US10623390B1 (en) * 2017-08-24 2020-04-14 Pivotal Software, Inc. Sidecar-backed services for cloud computing platform
US20190273746A1 (en) * 2018-03-02 2019-09-05 Syntegrity Networks Inc. Microservice architecture for identity and access management
US20200112487A1 (en) * 2018-10-05 2020-04-09 Cisco Technology, Inc. Canary release validation mechanisms for a containerized application or service mesh
CN110262899A (zh) * 2019-06-20 2019-09-20 无锡华云数据技术服务有限公司 基于Kubernetes集群的监控组件弹性伸缩方法、装置及受控终端
CN111371696A (zh) * 2020-03-24 2020-07-03 广西梯度科技有限公司 一种在Kubernetes中实现Pod网络流控的方法
CN111865971A (zh) * 2020-07-17 2020-10-30 成都三零凯天通信实业有限公司 一种基于sidecar方案的kubernetes业务容器安全性探测方法
CN112118242A (zh) * 2020-09-09 2020-12-22 厦门安胜网络科技有限公司 零信任认证系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KENTO NAKANISHI: ""A Container-based Content Delivery Method for Edge Cloud over Wide Area Network"", 《2020 INTERNATIONAL CONFERENCE ON INFORMATION NETWORKING (ICOIN)》 *
冯志勇等: "微服务技术发展的现状与展望", 《计算机研究与发展》 *
毕小红等: "微服务应用平台的网络性能研究与优化", 《计算机工程》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023016415A1 (zh) * 2021-08-09 2023-02-16 华为云计算技术有限公司 运行容器组的节点,容器组的管理系统和方法
WO2023051498A1 (zh) * 2021-09-30 2023-04-06 中兴通讯股份有限公司 身份管理方法及装置、电子设备、计算机可读介质
TWI811893B (zh) * 2021-12-15 2023-08-11 中華電信股份有限公司 雲工作負載安全防護系統及其方法
CN114221773A (zh) * 2021-12-17 2022-03-22 北京邮电大学 一种基于容器云自动添加代理的方法
CN114221773B (zh) * 2021-12-17 2024-02-06 北京邮电大学 一种基于容器云自动添加代理的方法

Also Published As

Publication number Publication date
CN112929180B (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
CN112929180B (zh) 一种Kubernetes零信任网络安全系统及其实现方法
CN110557384B (zh) 一种基于区块链的物联网管理控制方法
JP5522307B2 (ja) 仮想機械によるソフトウェアテストを用いた電子ネットワークにおけるクライアントシステムの遠隔保守のためのシステム及び方法
Zhang et al. Blockchain and federated deep reinforcement learning based secure cloud-edge-end collaboration in power IoT
CN111541785A (zh) 基于云计算的区块链数据处理方法及装置
CN101548263B (zh) 模拟用户和/或拥有者的不透明管理数据选项的方法和系统
CN111709023A (zh) 一种基于可信操作系统的应用隔离方法及系统
Zhou et al. Cssp: The consortium blockchain model for improving the trustworthiness of network software services
US9514290B2 (en) Authorization cache
Hamad et al. A framework for policy based secure intra vehicle communication
CN110636030A (zh) 一种电力移动终端的层次化安全管控方法及系统
CN115102772A (zh) 基于汽车soa的安全访问控制方法
CN113259464B (zh) 组建区块链子网的方法和区块链系统
CN102404114A (zh) Web服务监控方法和系统
Lin et al. User-managed access delegation for blockchain-driven IoT services
Rysavy et al. A formal authorization framework for networked SCADA systems
Yuan et al. MQTTactic: Security Analysis and Verification for Logic Flaws in MQTT Implementations
Zheng et al. Secure distributed applications the decent way
CN115208590A (zh) 一种跨域通信系统、方法及存储介质
Lazreg et al. Cloudlet-cloud network communication based on blockchain technology
CN111367617A (zh) 一种计算资源可信管理联动系统及方法
Cui et al. Cross-domain single sign-on authentication of information security in network environment
CN117978406B (zh) 一种异构多容器集群调度方法、系统、设备及存储介质
EP4375850A1 (en) Multi-blockchain data processing method and apparatus, and device, system and medium
CN111818057B (zh) 一种网络配置数据中继分发传输系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant