保障云原生集群安全解析_第1页
保障云原生集群安全解析_第2页
保障云原生集群安全解析_第3页
保障云原生集群安全解析_第4页
保障云原生集群安全解析_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

保障云原生集群安全解析

很多早期建设容器云的企业已经深深感知到,面对容器技术的全新架构,“高筑城墙以御外敌”的传统安全方案已经不合时宜,更多的攻击面、监控和防护难度大、安全管控难度高,企业必须重新审视容器云环境的安全策略。容器安全防护范围需要前移,防护粒度需要更细,也需要静态安全与动态安全防护相结合。联盟容器云安全课题组的目标是帮助企业健全容器安全防护工作体系,提供镜像安全、基础设施安全、运行时安全等能力建设参考,减少摸索时间,让更多重要生产应用运行在安全的容器环境中。本文是“云原生应用创新实践联盟——容器云安全方向课题组”近期举办的一次线上交流活动的精华内容汇总。

如何保障云原生集群安全?

导读

随着容器化技术的不断成熟、在生产环境中落地的案例不断增多,越来越多的金融机构选择通过采用容器云作为基础设施的方式来进行数字化转型,提升科技服务响应速度和效率,提升行业竞争力。目前Kubernetes已是容器应用编排与管理的事实标准,金融行业因稳定性和安全性要求的行业特点,在使用Kubernetes时需要部署多套集群,但是Kubernetes原生的管理能力目前仍然停留在单集群级别。采用传统的运维方式,对多套集群的节点、网络、存储单独维护给运维人员带来了较大的工作量,而且工作量随着集群的增加而增加,这给容器云的多集群大规模推广使用带来了一定的影响,多集群的管理已成为了大规模使用容器云的一个常见痛点和迫切的需求。因此很多企业都在使用容器云,都建设统一的容器云PaaS管理平台,实现统一的多集群管理、集群高可用、应用编排、故障自动迁移等目标。所以,围绕容器集群划分原则、容器集群安全分类以及如何进行规避、容器集群节点的安全是如何保障等等,本期论坛组织了“容器云安全系列之容器集群安全”探讨,由课题组专家及社区同行针对以上各方面进行了充分的讨论,现将交流内容和精彩回答整理如下,以供大家学习参考。执笔专家孙洪轩容器云安全用户委员会委员云原生应用创新实践联盟——容器云安全方向课题组专家。光大科技自动化专家,多年IT研发经验,近几年一直深耕区块链,云原生等前沿技术领域。先后为集团设计并建设了区块链云服务平台,容器云PaaS平台等中大型项目。具备丰富的软件架构设计,项目落地经验。顾问专家罗文江容器云安全用户委员会委员twt社区云原生应用创新实践联盟——容器云安全方向课题组组长,招商银行云计算架构师,当前从事银行私有云和公有云基础设施、以及混合云架构的建设,参与包括容器云等相关云服务的规划、技术选型、架构设计和实施,以及业务连续性等保障体系的建设工作。陈建军容器云安全用户委员会委员云原生应用创新实践联盟——容器云安全方向课题组专家。某保险资深工程师,10年以上网络安全行业从业经验。拥有甲方乙方的工作经历,对传统IDC安全和混合云安全都有实践经验。擅长网络安全架构规划、落地建设和优化运营。张立容器云安全用户委员会委员云原生应用创新实践联盟——容器云安全方向课题组专家。现就职于某银行信息科技部系统管理中心,容器云平台技术负责人,负责行内容器云平台建设以及应用容器化改造规范制定。(更多参与专家可见下方具体内容)

1、容器云集群安全有哪些具体分类?每个安全分类下如何预防及解决?如果预防后还是发生了,应急措施是什么?专家建议:罗文江容器云安全用户委员会委员:1)容器云安全可细分为:平台和基础设施安全、应用安全、运行安全三类。---平台和基础设施安全:加固宿主机节点的主机安全、容器引擎的技术安全、容器集群各组件的技术安全、容器平台的访问管控安全。---应用安全:解决镜像仓库安全、应用系统的镜像安全问题---运行安全:解决基于安全闭环的合规审计。运行态的南北流量中的入侵检测、入侵拦截等安全防护问题,以及东西流量中的网络微隔离和网络阻断安全问题。还需要在检测和监控中提供资产管理,补丁管理,提供统一日志、监控、可视化、故障定位等支持能力。2)在预防后还是发生问题时,应急措施可以分问题场景,譬如对南北流量做入侵拦截,在东西流量中做网络阻断。对业务应用系统CVE漏洞进行镜像安全补丁加固升级或运行降级。对集群进行CIS审计和安全加固处理。孙洪轩容器云安全用户委员会委员:容器云集群安全涉及到的层面较多,覆盖的范围较广,自下而上梳理主要有以下几点:1)基础设施资源安全。基础设施资源主要涉及到网络安全和存储安全,容器云平台要能够灵活的定义各种网络策略,对pod的流量进行限制,隔离。同时容器的数据不能放在容器内的存储上,包括日志数据。数据要及时采集备份到外部的数据中心。数据中心要有完善的安全措施。2)基础组件安全。容器云平台需要实现统一认证中心和权限中心等基础组件,这是建立企业级微服务平台和微服务生态系统的要求,也是实现单点登录、基于角色的权限管理、授权认证、访问控制等安全能力的要求。3)容器安全。作为使用k8s的开发或者运维人员,主要关注点应该是如何防止在容器中运行的进程逃离容器的隔离边界并获得对宿主机的访问权限,应尽可能避免使用以特权身份(privileged)运行Pod,同时为每个容器设置请求和资源限制,避免资源争夺或DoS攻击。4)镜像安全。容器是镜像的运行时,镜像安全直接影响着容器的安全。如果镜像存在安全隐患,容器云平台就面临着威胁。所以镜像仓库的镜像安全扫描能力就显得尤为重要。容器云集群要具备完善的漏洞扫描修补机制。5)DevOps流程安全。持续集成代码安全,包括安全的代码存储,编码的安全,预防编码中潜在的漏洞和Sql注入等。实现自动的代码质量检查和代码漏洞检查,自动化测试等能力。同时,devops流程中一些关键的环节,比如生产环境部署要建立审批机制。6)日志和审计能力。在容器云集群中,建立完备的日志审计能力,可以帮助集群管理人员记录或追溯不同用户的日常操作,发现异常操作及时告警,及时处理,是集群安全运维中重要的环节。2、关于容器云上集群划分原则?【问题描述】请教各位专家个关于容器云的问题,容器云上的集群划分都是依据的什么原则?是一个大集群还是按业务系统的业务连续性级别或者按系统进行划分的?或者其他原则?欢迎大家交流经验。专家建议:actor168

中国联通软件研究院研发工程师:就企业的实践来看,容器云集群建议按照系统的规模和业务连续性级别划分。针对于业务连续性较强的集群,单独建立集群,并由上一级的管理平台进行管理;针对于小规模、业务连续性要求不高的集群,直接混合部署至一个集群即可,按照集群本身的隔离原则和隔离能力,实现划分。对于我们而言,在设计云平台时考虑到多租户的实现,多租的实现方式有基于逻辑的隔离、基于物理的隔离。我们实现的高密度集群管理,即可以基于单个主机部署多套K8S(基于虚拟网络、虚拟存储)实现了小集群的自治和大集群的统管,这样减少了整体大量小集群的管理、运维工作,是一种不错的体验,但会增加一部分的资源占用。主要考虑各个租户对于隔离性的要求,选择合适方案即可。张立容器云安全用户委员会委员:如果是共享计算节点的集群,建议按照计算类型和内存使用类型做区分。绝大部分应用都可以共享集群节点,但是一些计算或者网络I/O非常密集型的应用(如ES,Spark),建议还是用单独集群承载。此外,对于网络模型有特殊要求,需要使用宿主机本地存储的,建议也用独立的集群或者节点承载。不同重要级别的应用共用集群,要做好准入控制,避免一些低级别应用的问题影响到节点的状态,对同节点上的高级别应用产生影响。nameless技术总监:1)根据自己的业务需求,如果对业务隔离性、性能要求没那么高,可以所有业务在同一个k8s集群,不同namespace;2)如果业务有强制隔离需求,如金融行业,不同分区强制物理隔离,那只能在不同的环境部署k8s集群;3)如果业务仅对性能有不同需求,可以根据不同的业务属性,部署同一套k8s集群,只是work节点根据不同的硬件配置分区管理。lych370北银金科

系统运维工程师:除去k8s的管理集群,剩下的节点一般都用来做业务集群,为不同的应用或系统分配不同的资源,绑定不同的名称空间,容器天生就是集群模式,又不是集群,只能说逻辑上集群,物理位置上相对打散,保持集群或者容器的高可用性。罗文江容器云安全用户委员会委员:银行容器云的规划中,集群划分依据2个原则:1)满足监管要求,匹配基础设施的规划,譬如两网隔离下的生产环境、开发测试环境,需单独搭建不同的集群。生产环境中的安全要求下,DMZ区和BIZ内区也需单独搭建不同的集群。2)根据不同的平台类型的隔离要求,搭建不同的集群,譬如Serverless平台、总行应用平台和分行应用平台、信创应用平台也是单独搭建不同的集群。3、企业如果不做容器云集群安全会带来哪些具体危害?出现的具体症状是什么?专家建议:孙洪轩容器云安全用户委员会委员:任何事物都有两面性,容器云集群也不例外;它虽然实现了运维自动化,极大的提高了研发运营的效率,但是容器云集群包含了很多层级和组件,它比其他基础平台更接近业务,这就带来了更多的风险点。容器云安全涉及到的范围很广,很复杂,是信息安全中的新兴领域,类似于网络安全的拓展。如果不做容器云集群安全,带来的风险是显而易见的。下面我列举一些常见的风险:1)软件安全层面风险。容器云集群如果没有建立完善的容器镜像安全扫描,漏洞检测等机制,很容易造成恶意镜像启动,病毒入侵等。黑客可以轻松利用应用层的漏洞入侵容器,并在容器中进行后续的渗透和横向传播行为,造成难以估量的损失。2)通信安全层面风险。容器编排引擎k8s的apiserver是整个容器平台的入口,任何用户和程序对集群资源的增删改查操作都要通过apiserver实现。如果api-server没有完备的安全认证机制和信息加密手段,攻击者一旦找到漏洞,无需认证就可以访问到容器数据,恶意删改数据,从而造成敏感信息泄露,甚至瘫痪整个集群。3)网络安全层面风险。企业在构建容器云集群的时候要考虑增强网络访问控制,提升网络安全。如果采用默认的网络模型,比如flannel,这种扁平化的网络,在横向网络访问隔离方面缺少必要的安全保障,一旦某个节点被攻破,黑客很容易通过横向渗透瘫痪整个集群的业务。4、容器集群是如何建设审计能力的,通过高效的审计工具,集群管理员可以轻松的分析集群的安全风险,并采取应对策略?专家建议:nameless技术总监:一般分为平台和业务安全风险;平台审计主要是平台操作记录,用于审计;业务安全风险包括镜像安全(静态和运行态)、服务安全等,国内大厂一般都有镜像安全方案,一些初创公司也有。孙洪轩容器云安全用户委员会委员:容器集群的审计是通过采集相关的审计日志来建设的,审计日志主要来源于k8s集群中的api-server,部署节点,以及重要敏感的云上业务等。审计日志可以帮助集群管理人员记录或追溯不同用户的日常操作,是集群安全运维中重要的环节。基于采集的审计日志,要开发审计报表功能,审计报表主要内容可以包含以下几方面:1)各类资源的详细操作;2)用户和组件对集群执行的操作;3)重要或者敏感业务的详细操作;4)重要操作(登录容器、访问保密字典、删除资源等)的详细列表;5)非法的,有安全隐患的网络资源请求记录等;choukongbai系统架构师:一、开源容器安全:1)DockerBenchforSecurity用于根据安全基准审核容器额度脚本2)Anchore使用cve数据和用户定义策略检查容器安全性工具3)Dagda用于扫描docker容器中的漏洞、病毒和漏洞的工具如上是我用过的开源容器安全产品。二、国内商业化正在用的商业化产品,包括主机安全和容器安全,对运维人员来说,简单省事。lych370北银金科

系统运维工程师:可以使用一些第三方的审计工具。谷歌的Grafeas为关于容器的元数据提供了一个公共API,包含从镜像、构建细节到安全漏洞。5、容器集群节点的安全是如何保障的?专家建议:孙洪轩容器云安全用户委员会委员:1)及时修复集群节点的软件漏洞;2)集群节点尽量不要暴露到公网,并通过合理配置防火墙或者安全组规则,限制非必要的端口和IP访问;3)禁止容器获取节点宿主机的元数据。qingkong2022光大科技

容器云运维:使用指定用户运行容器阻止容器以root用户运行在容器中禁止使用内核功能阻止对容器根文件系统的写入允许为特定的容器添加指定的内核功能6、企业应该如何最大限度的保障etcd集群的安全?【问题描述】kubernetes集群的重要数据都存在etcd集群中,比如token,secret,config等;etcd集群如果被攻破,可瞬间造成容器集群瘫痪,企业应该如何最大限度的保障etcd集群的安全?专家建议:孙洪轩容器云安全用户委员会委员:部署etcd集群的各个节点应该被授予最小的访问权限,同时还要尽量避免这些节点被用作其他用途。另外etcd对数据的读写要求很高,这里磁盘最好是SSD类型。etcd集群要配置双向TLS认证(mTLS),用于Etcd各个节点之间的通信。同时APIServer对etcd集群的访问最好也要基于mTLS。通过Kubeadm搭建出来的集群,默认已经采取这种配置方式。qingkong2022光大科技

容器云运维:在启动Etcd时,使用client-cert-auth参数打开证书校验;Etcd数据加密存储,确保Etcd数据泄露后无法利用;正确的配置listen-client-urls参数,防止外网暴露;尽量避免在Etcd所在的节点上部署Web应用程序,以防通过Web应用漏洞攻击Etcdlocalhost地址。actor168中国联通软件研究院

研发工程师:1)定期备份2)高可用模式3)做好监控7、从安全管理、性能优化、应用发布等角度,生产实践中容器云ingress集中管理好,还是按业务或功能拆分好?专家建议:孙洪轩容器云安全用户委员会委员:一般情况下,外部访问内部的流量称为南北向流量,内部服务之间的流量称为东西向流量。有些企业为了节省机器成本和运维压力,会选择将南北向流量和东西向流量共用一个IngressProvider。这种部署方式无法针对外部流量或者内部流量做精细化的流量治理,也会扩大故障影响面。最佳的做法是针对外网、内网的场景分别独立部署IngressProvider,并且根据实际请求规模控制副本数以及硬件资源,在缩小爆炸半径的同时尽可能提供资源利用率。从整个集群业务的稳定性角度来说,不建议对ingress采用集中式管理。8、企业在建设容器集群的时候,需要如何设计网络策略保障集群资源的安全?【问题描述】集群网络也是Kubernetes的一个核心概念,涉及到容器、Pod、服务和外部服务之间的通信。默认情况下,几乎没有网络策略来隔离资源,防止集群失陷时的横向移动或权限提升。企业在建设容器集群的时候,需要如何设计网络策略保障集群资源的安全?专家建议:罗文江容器云安全用户委员会委员:1)建议对集群做一下规划,譬如部署在DMZ区、内网区、办公区中应用系统的安全要求是不同的。2)对单集群,启用命名空间的机制隔离不同租户的资源。3)对集群的管理权限严格控制,防止重要凭证泄露造成非法变更集群的策略。4)网络流量一般对南北流量可延用传统安全,以及IAAS的VPC能力进行控制,东西流量在内网环境通常不限制。5)是否启用K8S的网络策略(NetworkPolicy)策略,需要综合评估单位的安控要求,上述措施有效性、团队的运维能力和管理成本再决策。lych370

北银金科

系统运维工程师:管理集群和工作集群本身就隔离的,应用部署使用不同的名称空间自然也是隔离的,如果一味地追求安全,那便利性就会存在问题,比如服务端口的暴露,云上云下的网络开通等,所以没有绝对的好的或者安全的方案,综合平衡就好,绝对的安全也是有代价的9、容器云平台内部集群的网络隔离问题?【问题描述】容器云平台主要分集群控制平面、管理平面和业务pod平面,各平面之间有无用防火墙隔离?各安全区域之间的不同集群用防火墙隔离,那么在同一个安全区域内的多个集群之间、单个集群内部的多种业务pod之间怎么做安全隔离?如需隔离一般依据什么原则?采用硬件防火墙隔离还是network-policy等等?专家建议:罗文江容器云安全用户委员会委员:1)容器云平台的建设,通常是采用分层模式规划设计的。---面向应用的管理平面,是统一的一个,实际在生产环境、开发测试环境是单独且不同的二个管理平台。---容器云平台是需要纳管多个K8S集群,也就是一个管理平台对应有多个K8S集群控制平面。不同的K8S集群视其部署的网络分区所在,网络分区之间会有防火墙。也即管理平面和K8S集群控制平面中间是有防火墙。---业务POD平面:容器云平台是集中管控模式下,业务应用系统通常是以命名空间进行隔离的。也即一个业务POD平面,逻辑上是由多个K8S集群中的多个命名空间组成的。所以视K8S集群部署所在的网络分区不同,业务POD平面中也有防火墙。2)同一个安全区域内的多个集群之间的安全隔离性,需要看各个单位的IAAS、基础网络的情况而定。譬如K8S集群只使用传统的Underlay网络,在同一网络分区(或可称同一安全区域),集群之间是不加防火墙。另外譬如在overlay网络的VPC环境中,根据管控半径或K8S用户群隔离的要求的话,不同K8S集群部署在不同的VPC中,则集群之间就有VPC的安全隔离性了。3)硬件防火墙隔离,通常用在容器云平台的管理平面和在不同的网络分区间的集群控制平面之间的访问。而启用network-policy指的是在一个K8S集群中,实现业务pod平面的安全隔离性。陈建军容器云安全用户委员会委员:单个集群内部的多种业务pod之间目前从原生k8s来看还没有比较好的方式,而且与使用的网络插件有关,这块我们的思路是看一些新兴的安全厂商在这块的一些解决方案。有一些从技术原理上看还不错。qingkong2022光大科技

容器云运维:不同安全区域内使用防火墙隔离,遵照企业的主机网络隔离策略,开通需要业务访问的端口;同一安全区

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论