云原生安全实践

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 在安全防护过程中,可能会产生一些成本方面的考虑,任何环节薄弱性才决定整体的安全级别。需要慎重对风险进行研判作出决策。

文章首发于:

火线Zone云安全社区

作者:Clare

https://pic3.zhimg.com/80/v2-c4ebc86de014c6583e6afda08f4d811a_1440w.jpgimage.png

Clare是安全架构师,专注于信息安全攻防研究和深度测试,今天分享的主题是“云原生安全实践”。

https://pic2.zhimg.com/80/v2-c7668e5b67054a1547d59b70d9f8a1fd_1440w.jpgimage.png

我讲的议题是,云原生安全实践,主要从两个方面来介绍云原生安全。

第一个是云原生安全面临的风险
第二个是云原生安全实践

https://pic3.zhimg.com/80/v2-0d195d10e67fe0201d390ff00347491a_1440w.jpgimage.png

云原生的定义:它是一种构建和运行应用程序的现代方法,它主要代表的是容器,微服务,持续集成交付和devops为代表的一个技术体系。

https://pic3.zhimg.com/80/v2-a0340ec46a71464f02053ff5fc06ade2_1440w.jpgimage.png

它给开发迭代带来了新的革命,提高了研发交付的效率和提高了高可用性。但是,云原生继承了传统网络安全几乎所有的风险,传统的安全模型主要关注基于边界的安全(perimeter-based security),不足以保护云原生架构的安全。所以相对于传统安全,云原生安全仍然是真正的挑战。

云原生安全,它是一种保护云原生平台及基础设施和整个应用程序安全实践,包括自动化数据分析,威胁检测,确保应用整个安全性及纵深防御。

https://pic4.zhimg.com/80/v2-4fc0a4d55314b988886e6f1d2e87f23f_1440w.jpgimage.png

刚才提到了云原生安全面临的风险,像Kubernetes一些漏洞,还有一些常见的像k8s上用的组件漏洞,包括其他的内部组件的高危漏洞等都威胁整个云原生平台的安全性。

在图上看到很多漏洞,风险是比较高的,出现的频率也比较多。包括之前讲到一些容器逃逸等等这些在容器里面都遇到的非常多。

https://pic2.zhimg.com/80/v2-a27475c4a9f69058efc03ef351042575_1440w.jpgimage.png

云原生安全面临的风险,主要是缺乏对威胁攻击的这种感知能力。在很多的企业里面,他们对这种异常流量的监测,缺乏实时的感知能力。还有一些应用安全本身存在的漏洞,也会导致云原生面临的漏洞。

一些中间件、操作系统、外部的漏洞,还有比如人文因素,错误配置导致或者权限设置失效导致的被黑客入侵等等。再比如API缺乏有效的鉴权,缺少有效的应用安全防护,微服务等会影响到整个云平台的一些安全。

其实给我们带来便利的同时,也带来了很多的安全需求和挑战。

https://pic4.zhimg.com/80/v2-d514a0873b69b4b0679236bec0284bff_1440w.jpgimage.png

云安全风险的来源包括应用多样化、网络攻击环境等等,都在对应用服务、集群容器、代码层面的安全造成很大的风险。

https://pic2.zhimg.com/80/v2-da32095005c24b287ff59b073998943d_1440w.jpgimage.png

另外,我们从攻击者的角度来看待云原生安全。一些容器相关的组件历史漏洞,还有内部没有受到严格保护的一些API,都会导致像比如说Kubernetes的平台等等被入侵,或者是利用他这些服务,入侵到容器内部或是控制整个集群等。

再比如不安全的容器镜像,不可信的镜像,它本身会导致被入侵。有些容器本身带有恶意脚本,黑客利用容器进行“挖矿”,而且云原生过程中API没有受到严格的保护,也是一个很大的安全问题。平台的安全管控,和其他相关联的安全隐患,都会对云平台导致很大的风险。

https://pic3.zhimg.com/80/v2-00cdde0cdae572ea26b5481ed9c6a556_1440w.jpgimage.png

接下来第二个,就是云原生安全实践,主要讲述在云原生整个过程中,如何应对遇到的风险。

云原生的生命周期,它包括运行时的安全,分发构件部署等整个安全防护。

https://pic2.zhimg.com/80/v2-2adec0d80838f35fb1d7094b26e8c719_1440w.jpgimage.png

整个云原生平台,整个依赖于基础平台的安全,计算平台的安全,容器,应用微服务方面的安全,任何一个环节的问题,都会导致N起事故的发生,所以都要从多个方面对威胁进行评估和提前主动防御。

https://pic1.zhimg.com/80/v2-abc48694c42539334fe4708ab1fc06a4_1440w.jpgimage.png

Kubernetes的服务安全加固,罗列了一些简单的方法。Kubernetes版本很多漏洞就不用详细介绍了,从未知来源下载镜像,在平台上运行,还有Kubernetes基于角色的访问控制,都会提升安全性。

API管理端口访问控制,就不需要分配或足够的鉴权,访问控制资源,还是有一些软件配置自定义参数上来提升整个安全,容器不应该以root用户运行,但是很多企业的安全实践中,还是有很多用户以root权限运行的,包括API Server认证授权,完全以身份认证授权来控制。

很多时候在排查故障,发现有些日志根本没有记录,对排查故障也存在一个很大的问题。所以就需要记录所有有价值的日志,最好在一个独立的日志中心存储、查看或分析。

另外主要提到一个隔离Kubernetes节点,如果是自己单独部署的话,可能单独分配独立的网络,加强一些ACL的控制,防止被攻击者入侵。

https://pic4.zhimg.com/80/v2-8aee5ad3bd7ce47047772d2b7f77797b_1440w.jpgimage.png

容器安全,关于容器安全方面的比较有价值的一些工具,包括扫描容器安全性,比如说它是严重或者高危等等,都会给我们提供一些参考。

https://pic4.zhimg.com/80/v2-26d41cb21648050f738db9f7937dfafb_1440w.jpgimage.png

另外一个是Kubernetes集群中的安全漏洞,这个是针对于K8S集群进行一些渗透测试,然后会发现整个集群存在哪些严重的问题。对这些问题,可能需要人工进一步的确认,判断哪些可能有重大的隐患,再进行修复。这里提到的一些方法主要以开源的工具为主。

https://pic4.zhimg.com/80/v2-f34df2de369e32e1d5f1c663bcaab663_1440w.jpgimage.png

还有这个Falco,这是安全运行的安全监控,监控它的容器运行的可疑行为,执行了哪些可疑的操作。发送警报,集中分析这样一个工具,然后它会进行一系列的告警,喷制等等,这个也是经过实验,是挺好用的一个工具。

它可以部署在本地机器上、云上或者Kubernetes的集群中,它会很直观的看到当前容器的很多安全事件,安全风险的排行。

https://pic1.zhimg.com/80/v2-1ca62c30386f90f8dcff4d7b3a5e85f0_1440w.jpgimage.png

开源走进安全检测其实是洞态IAST进行针对研发测试过程中的全自动安全测试,我用了大概一段时间,后来再正式测试环境进行应用,效果感觉不错。

因为它可以从测试阶段全自动化的分析到采用了哪些安全组件,哪些组件安全是属于高危?而且它不影响研发人员测试效率,完全不用人工太过干预,全自动的,在发觉漏洞中发挥了巨大的作用。

然后我们采用一些关键字的检索,很快就知道哪些项目引用了这些不安全组件和存在这样的高危风险,然后快速去验证,去修复,节约了不少时间。大家可以深入了解一下。

https://pic2.zhimg.com/80/v2-7c0a501920e2b595ee4553cc4ce41645_1440w.jpgimage.png

其实在整个运行过程中,真的提升了漏洞检测效率,对测试流程毫无影响。当应急响应的时候,我们另一方面采用对版本库里的很多去解包、检索,还有就是当时想到我们在使用洞态IAST检索会更快,第一时间采用洞态IAST的结果,筛查使用这些可被利用的组件的项目进行修复缓解处置,然后再排查其他的一些遗留项目,极大的比以前排查组件漏洞提升了应急响应效率。

API的安全防护和web应用防护的这些系列的缺失,其实在很多的企业当中,对API的安全不是很重视,还有一些应用防护很多有waf,但是它配置的基于规则库的规则防护模式不是很智能,容易被绕过。

还有API网关,要能够感知到每个API流量请求,异常分析等等。RASP运行时保护这些,传统WAF只针对入口的应用层攻击进行防护,采用针对云原生的waf,APP安全网关,渗透测试,对于应用安全都是一个有效的补充。

在线测试中,我们要重点关注一下哪些APP和API的高危漏洞。很多云原生环境使用了针对一些虚拟化的基于容器化的这种防火墙的防护,可以防护多个集群,不同节点统一下发策略等等。最核心的是规则和风险感知,对于API进行全生命周期做到更深度的防护都是非常有必要的,它能够分析API的整个调用链路追踪等等。

另外一个就是DevSecOps,它在云原生中也是很需要加强的,包括容器安全、应用分析、静态的检测和sca等,还有软件成分分析等,像洞态iast交互式安全检测其实都是进一步提升应用安全保护的方法。DevSecOps和API安全的重要性都会随着云原生的使用进一步地提升。

包括很多安全审计在云原生平台,我们一定要加强每一个安全事件的管理。

要确保满足可审计哪些行为,执行了哪些命令,容器内部是否有偏离正常的行为等等。其实最主要做到可感知,这个在于云原生平台可感知能力,如果没有相应的手段防护,很多安全隐患是不能够及时有效的被发现。

https://pic3.zhimg.com/80/v2-36b71ebcc89107ddbbc2b86fc3b893da_1440w.jpgimage.png

最后总结一下,安全是一个整体。

在安全防护过程中,可能会产生一些成本方面的考虑,任何环节薄弱性才决定整体的安全级别。需要慎重对风险进行研判作出决策。

我们应该从全局出发,把风险罗列出来,我们重点去针对严重问题进行主动性的防护修复,取得主动权来应对黑客的一些攻击。然后对各种攻击,做到实时感知,做到详细可视化以及主动策略防护。

对于漏洞管理,有些软件的一些漏洞,我们都要及时关注或者建立一个清单,然后重点关注这些软件的公告,安全公告漏洞、安全厂商的漏洞等等。

企业内部也要建立这种机制,加强漏洞管理,从各个渠道获取漏洞信息,POC,然后及时跟进和进行评估验证修复,结合实际需求制定安全基线,还有就是一些自动化的第三方厂商的工具来进行评估整个的安全漏洞等。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
7天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####
|
8天前
|
Kubernetes 负载均衡 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第27天】Kubernetes(简称K8s)是云原生应用的核心容器编排平台,提供自动化、扩展和管理容器化应用的能力。本文介绍Kubernetes的基本概念、安装配置、核心组件(如Pod和Deployment)、服务发现与负载均衡、网络配置及安全性挑战,帮助读者理解和实践Kubernetes在容器编排中的应用。
31 4
|
8天前
|
Kubernetes Cloud Native API
云原生架构下微服务治理的深度探索与实践####
本文旨在深入剖析云原生环境下微服务治理的核心要素与最佳实践,通过实际案例分析,揭示高效、稳定的微服务架构设计原则及实施策略。在快速迭代的云计算领域,微服务架构以其高度解耦、灵活扩展的特性成为众多企业的首选。然而,伴随而来的服务间通信、故障隔离、配置管理等挑战亦不容忽视。本研究聚焦于云原生技术栈如何赋能微服务治理,涵盖容器编排(如Kubernetes)、服务网格(如Istio/Envoy)、API网关、分布式追踪系统等关键技术组件的应用与优化,为读者提供一套系统性的解决方案框架,助力企业在云端构建更加健壮、可维护的服务生态。 ####
|
8天前
|
Kubernetes 监控 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第26天】随着云计算技术的发展,容器化成为现代应用部署的核心趋势。Kubernetes(K8s)作为容器编排领域的佼佼者,以其强大的可扩展性和自动化能力,为开发者提供了高效管理和部署容器化应用的平台。本文将详细介绍Kubernetes的基本概念、核心组件、实践过程及面临的挑战,帮助读者更好地理解和应用这一技术。
36 3
|
9天前
|
监控 安全 Cloud Native
云原生安全:Istio在微服务架构中的安全策略与实践
【10月更文挑战第26天】随着云计算的发展,云原生架构成为企业数字化转型的关键。微服务作为其核心组件,虽具备灵活性和可扩展性,但也带来安全挑战。Istio作为开源服务网格,通过双向TLS加密、细粒度访问控制和强大的审计监控功能,有效保障微服务间的通信安全,成为云原生安全的重要工具。
27 2
|
9天前
|
弹性计算 监控 Cloud Native
云原生架构下的性能优化实践与策略####
在数字化转型加速的今天,云原生技术以其弹性、敏捷和高效的特点成为企业IT架构转型的首选。本文深入探讨了云原生架构的核心理念,通过具体案例分析,揭示了性能优化的关键路径与策略,为开发者和企业提供了可操作的实践指南。 ####
|
11天前
|
敏捷开发 Cloud Native 持续交付
云原生技术在现代企业中的应用与实践
【10月更文挑战第23天】本文将深入探讨云原生技术在现代企业中的广泛应用,并结合具体案例分析其对企业数字化转型的推动作用。我们将从云原生技术的基本原理出发,逐步揭示其在提高业务敏捷性、降低成本和增强系统可靠性方面的优势。同时,文章还将分享一系列成功实施云原生技术的企业案例,为读者提供实践中的参考和启示。最后,我们将讨论云原生技术面临的挑战及未来的发展趋势,为企业在这一领域的进一步探索提供指导。
|
2天前
|
Cloud Native API 云计算
云原生架构的深度探索与实践####
本文深入探讨了云原生架构的核心概念、技术特点及其在现代软件开发中的应用实践。通过分析云原生架构如何促进企业数字化转型,提升业务敏捷性与可扩展性,本文旨在为读者提供一个全面而深入的理解框架。我们将从云原生的定义出发,逐步深入到其关键技术组件、最佳实践案例及面临的挑战与解决方案,为开发者和企业决策者提供宝贵的参考与启示。 ####
|
2天前
|
Cloud Native 持续交付 云计算
云原生时代的技术革新与实践探索
【10月更文挑战第33天】在云计算的浪潮下,云原生技术如雨后春笋般涌现。本文将深入浅出地介绍云原生的基本概念、优势及其在现代IT架构中的应用,并探讨如何通过云原生技术推动企业的数字化转型,最后通过实际案例分析,展示云原生技术的强大潜力和广阔前景。
|
8天前
|
缓存 资源调度 Cloud Native
云原生架构下的性能优化实践与策略####
【10月更文挑战第26天】 本文深入探讨了云原生环境下性能优化的核心原则与实战技巧,旨在为开发者和企业提供一套系统性的方法,以应对日益复杂的微服务架构挑战。通过剖析真实案例,揭示在动态扩展、资源管理、以及服务间通信等方面的常见瓶颈,并提出针对性的优化策略,助力企业在云端环境中实现更高效、更稳定的应用部署。 ####
18 0