云原生安全模型与实践
在传统的研发中,我们常常存眷的「安详」包罗代码安详、呆板(运行情形)安详、收集运维安详,而跟着云原生期间的到来,假如还按原有的几个维度切分的话,显然轻易忽略许多云原生情形引入的新挑衅,我们必要基于收集安详最佳实践——纵深防止原则,来慢慢分解「云原生的安详」,而且对差异条理的防止本领有所相识,从而成立本身的云原生安详理念,真正搭建一个内核安详的云原生体系。
注:“纵深防止”,指在计较机体系中的多个层面行使多种收集安详技能,从而镌汰进攻者操作要害营业资源或信息泄漏到体系外部的总体也许性。在动静转达和协作情形中,纵深防止系统可以确保恶意进攻勾当被阻止在基本布局内的多个搜查点,低落了威胁进入内部收集的也许性。 以某IDaaS体系为例,我们把一个云原生体系安详模子分为 4 个层面,由外至内别离是:云/数据中心/收集层、集群层、容器层、代码层,如下图所示: 对付这里安详模子的每一层,都是单向依靠于外层的。也就是说,外层的云、集群、容器安详假如做得好,代码层的安详就可以受益,而反过来,我们是无法通过进步代码层的安详性来补充外层中存在的安详裂痕或题目。基于上述这一点道理,我们的纵深防止计策是「自外而内」地举办“设防”。 一、云/数据中心/收集层安详 这一层也可以称之为基本办法安详,不管从何角度,公有或私有云或企业数据中心以及对应的收集安详,是 K8s 集群最基础的安详基本,假如这一层存在安详裂痕可能过于懦弱,则整个体系都不能在此基本上担保组件的安详。 我们除了必要防止传统的进攻,如 ARP 伪装、DDOS、收集层种种报文等进攻,应该针对 Kubernetes 集群采纳以下掩护法子: 不应承在 Internet 上果真对 Kubernetes 打点平台(Control Plane)的全部会见,同时仅开放部门可信 IP 可以会见 Kubernetes 打点 API。 全部节点只袒露指定的端口,包罗对打点平台的内部端口和来自 NodePort 和 LoadBalancer 范例的 Kubernetes 处事的毗连,而且不该该直接袒露到 Internet。 通过云提供商或机房的收集层安详组(譬喻 AWS 的 Security Group)对打点平台以及节点授予最小权限节制: 二、集群层 掩护 Kubernetes 集群有两个主体必要存眷: 集群与组件 运行的处事或应用 掩护 Kubernetes 集群组件与处事或应用: 针对这两个主体的掩护,我们的掩护可以分为 4 大块:打点 API 的会见节制、Kubelet 的会见节制、Runtime(运行时)事变负载或用户成果的会见节制、集群组件的安详裂痕防护,如下图所示。 (1) 打点 API 的会见节制 逼迫 TLS 掩护传输层 逼迫 API 认证 逼迫 API 授权机制(RBAC) (2) Kubelet 的会见节制 出产情形启用身份验证 身份授权(RBAC) 逼迫 TLS 掩护传输层 (3) Runtime(运行时)事变负载或用户成果的会见节制 限定行使特权容器 公道限定资源负载 防备加载非须要内核模块 限定 Pod 越权会见其他节点 基本数据凭据的会见节制 (4) 集群组件的安详裂痕防护 榨取未授权会见 etcd 启用考核日记记录 按期轮换基本架构凭据 按期进级修复裂痕 三、容器层 到了这一层,因为跟 Kubernetes 特征不是强相干,我们能提供一些通用的安详法子和提议: 四、代码层 措施代码层是最轻易受进攻,但也是最可控的部门之一。固然一样平常认真这块安详的职员不必然是运维开拓(DevOps),大噶?雳门的安详工程师(Sec Eng),但有一些根基共性理念和提议是可以相互小心的。 总体来说,云原生期间的这四层架构:云/数据中心/收集层、集群层、容器层、代码层,与传统架构比起来越发细化和更易受进攻。自外而内陆践行每一层的安详最佳实践,我们的纵深防止才气算是乐成的,每个在云原生技能上想恒久获益的团队必要对此有共鸣。 参考资料: https://baike.baidu.com/item/%E7%BA%B5%E6%B7%B1%E9%98%B2%E5%BE%A1/8282191?fr=aladdin https://kubernetes.io/docs/concepts/security/overview/ https://www.stackrox.com/post/2020/09/protecting-against-kubernetes-threats-chapter-8-lateral-movement/ 【责任编辑:赵宁宁 TEL:(010)68476606】 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |