云原生安全DevSecOps思考

本文涉及的产品
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
容器镜像服务 ACR,镜像仓库100个 不限时长
注册配置 MSE Nacos/ZooKeeper,182元/月
简介: 关于云原生安全DevSecOps思考,本文的目的是深入探讨云原生环境下的安全脆弱性,并介绍配套的工具和方法,帮助企业在步入云原生大门时关好每扇安全窗。

近年来,云原生技术应用日益广泛,而容器编排平台Kubernetes(k8s)的出现,使得我们的服务具备了前所未有的灵活性和扩展性。然而,这同时也带来了诸多云原生安全问题。近期曝出的Runc CVE-2024-21626 缺陷,造成了容器逃逸的问题,引发了很大的关注。这个问题出现的原因,是在runc 1.1.11及之前的版本中,因文件描述符泄露,容器进程在宿主文件系统中拥有了工作目录权限,从而容易被攻击者利用,实现容器逃逸。得益于这个问题,我们重新认识到了不论是身份和权限控制、网络攻击等方面的问题,都对我们的服务和数据安全构成了威胁。本文的目的是深入探讨云原生环境下的安全脆弱性,并介绍配套的工具和方法,帮助企业在步入云原生大门时关好每扇安全窗。

云原生技术架构的安全挑战

云原生技术架构下,一些常见的容器应用、K8s编排和其他构建模块的复杂性可能给系统安全带来挑战:

  1. 宿主机:宿主机是容器运行的基础,如果宿主机的安全性不能得到保障,那么运行在其上的所有容器都可能面临风险。宿主机操作系统存在漏洞、不安全的配置、未授权的访问、弱口令等情况,这些将直接影响到容器安全,内核是容器与宿主机交互的桥梁,任何内核级别的漏洞也可能被利用进行攻击。
  2. 容器管理工具:容器管理软件如Kubernetes、Docker等,如果管理软件存在漏洞或配置不当,可能会被攻击者利用。K8s作为编排引擎,存在的潜在风险包括API Server等组件未授权访问,错误配置的RBAC权限,服务账号的滥用和错误挂载等,均可能导致攻击者获得对集群的控制。
  3. 容器应用:应用层面的安全问题主要涉及到应用本身的安全性。如果应用存在漏洞或者被恶意修改,可能会被攻击者利用。微服务架构提供了高度的模块化和分布式系统的优势,但同时也带来的多种安全风险。微服务通过引入第三方框架或是开源组件来实现功能,这些框架和组件可能包含安全漏洞,比如远程命令执行漏洞,反序列化漏洞等。
  4. 运行时:容器运行时的安全问题主要涉及到容器的隔离性。如果容器的隔离性不强,可能会被攻击者利用。可能的安全风险包括:容器逃逸、资源滥用等。攻击者利用容器逃逸漏洞进行攻击,从而影响其他容器和宿主机。
  5. 镜像以及镜像仓库:容器镜像是构建容器的基础,容器镜像可能包含已知的漏洞和敏感信息。使用不受信任的镜像源、镜像仓库账号密码泄露、镜像仓库软件漏洞等,都是存在的安全风险。
  6. 服务间自由通信:k8s默认是内部服务之间自由通信(东西向通信),通常我们服务间会交互频繁,如果对这些流量未进行充分的管控,可能成为攻击者的横向穿越渠道。
    图片.png

    2023 年云栖大会相关PPT

安全方法论与最佳实践

为应对上描述的挑战,业界已经提出了一系列方法和最佳实践。比如,Gartner 的分析师David Cearley首次提出的DevSecOps模型。相比于传统软件开发流程中的安全防护,DevSecOps将安全防护理念融入到了整个软件开发生命周期中,同时保证了企业应用快速开发的前提下,达到全面自动化的安全部署,以达到软件和供应链的安全。
图片.png

DevSecOps


事实上,据Gartner预估,到2025年,60%的企业将采取并实质性实践DevSecOps。此外,2023年的云栖大会指出,多数企业目前的云原生安全发展程度还远远滞后于应用的云原生化程度。主要的改进方向包括:
身份和访问管理:线上授予的权限与实际需要的权限之间存在巨大差异,无疑会给攻击者可乘之机。
漏洞和配置管理:大多数的企业生产镜像都没有经过安全加固和最小化的裁剪收敛,另外很多线上应用因为开发调式的一时方便而在容器层配置了过高的特权。
监控和响应:缺少针对容器资产的运行时监控和防护手段,针对突发的攻击事件也无法有效完成定位和溯源。
图片.png

2023 年云栖大会相关PPT

而对于以上提出的改进方向,我们已经有了行之有效的解决方案:

  1. 工具扫描安全:使用如kube-bench和Trivy等工具,对集群配置和镜像进行定期扫描,及时发现和修补漏洞。
  2. 沙箱隔离:例如使用gVisor等沙箱技术进行容器隔离,防止潜在的内核攻击。
  3. RBAC权限限制:在集群中实施基于角色的访问控制(RBAC),保证最小权限原则,仅授权必要的操作权限。
  4. 准入控制:通过ImagePolicyWebhook等准入控制器检查和过滤不合规的镜像拉取和容器配置。
  5. 容器权限最小化:通过设置SecurityContext和Capabilities来限制容器内部进程的权限。
  6. 系统调用限制:使用Seccomp策略限制容器可以执行的系统调用,增强安全性。
  7. 敏感数据管理:使用Secrets妥善管理TLS证书、密码等敏感数据。
  8. 网络策略:设置合适的NetworkPolicy来定义和施行服务之间的通信规则,减少潜在的攻击面和风险。
  9. 容器行为监控:利用Falco工具监控容器运行时行为,并检测到可疑行为时发出警报。
  10. 建设安全平台:利用NeuVector平台定期漏洞扫描、检查运行时安全、网络和事件响应等功能。
  11. 审计日志:通过Audit日志记录所有K8s集群中活动,帮助我们追溯异常事件,并且确保可审计性。
  12. 灾难恢复:定期备份集群相关的数据,定期演练集群灾难恢复。
    图片.png

安全工具参考图

结语
云原生安全渐成为企业不可或缺的一环。采用主动防御策略,借助安全工具和技术建立起稳固的安全防线,是抵御网络攻击的基础。有效的安全方法论和云原生的安全最佳实践,可以帮助我们在云原生环境中构建一个更安全、更可靠的未来。

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
3月前
|
安全 Cloud Native 容器
开发者视角:构建坚不可摧的云原生安全工具 - 安全内生于开发流
云原生时代,运维团队面临容器漏洞、微服务失陷与CI/CD污染三大威胁。通过容器基因解码、微服务免疫与管道净化构建三维防御体系,结合板栗看板、Snyk、Check Point、Aqua等工具,实现从漏洞预测到实时拦截的全链路防护。未来,安全将内生于云原生技术,构建主动免疫防线。
开发者视角:构建坚不可摧的云原生安全工具 - 安全内生于开发流
|
4月前
|
存储 安全 Cloud Native
云原生安全必修课:RDS透明加密(TDE)与数据脱敏联动实施方案
云原生环境下,数据泄露风险日益严峻,传统安全方案面临加密与脱敏割裂、保护不连续、权限控制粗放三大挑战。本方案融合TDE透明加密与动态数据脱敏技术,构建存储-传输-计算全链路防护体系,通过SQL级加密与角色化脱敏规则,实现细粒度数据保护。结合密钥管理、权限控制与多云适配,提升安全性与性能,广泛适用于金融、医疗等高安全要求场景。
152 3
|
10月前
|
安全 Java API
Nacos 3.0 Alpha 发布,在安全、泛用、云原生更进一步
近期,我们欣喜地宣布 Nacos 3.0 的第一个版本 Nacos 3.0-ALPHA 已经发布。Nacos 3.0 的目标是在 2.0 的基础上,进一步优化安全性、易用性和标准化。同时,我们将引入更多功能,帮助用户在分布式协调、AI 大模型、云原生等多种场景中更好地使用 Nacos,以提升其广泛适应性。
467 133
|
人工智能 安全 Cloud Native
阿里云云原生安全能力全线升级,护航百万客户云上安全
【重磅发布】9月20日,在杭州云栖大会上,阿里云宣布云原生安全能力全线升级,首次发布云原生网络检测与响应产品NDR(Network Detection Response,简称NDR)。同时,阿里云还宣布将持续增加免费的安全防护能力,帮助中小企业客户以极低投入完成基础的云上安全风险治理。
387 15
|
安全 Cloud Native 测试技术
Star 3w+,向更安全、更泛化、更云原生的 Nacos3.0 演进
祝贺 Nacos 社区 Star 数突破 30000!值此时机,回顾过去的两年时间,Nacos 从 2.0.4 版本演进到了 2.4.2 版本,基本完成了当初构想的高性能、易拓展的目标,并且对产品的易用性和安全性进行了提升,同时优化了新的官网,并进行了多语言和更多生态支持。未来,Nacos 会向更安全、更泛化、更云原生的 Nacos3.0 演进。
376 125
|
7月前
|
安全 Java API
Nacos 3.0 Alpha 发布,在安全、泛用、云原生更进一步
Nacos 3.0 Alpha 发布,在安全、泛用、云原生更进一步
198 0
|
10月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
9月前
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
|
11月前
|
监控 安全 Cloud Native
云原生安全:Istio在微服务架构中的安全策略与实践
【10月更文挑战第26天】随着云计算的发展,云原生架构成为企业数字化转型的关键。微服务作为其核心组件,虽具备灵活性和可扩展性,但也带来安全挑战。Istio作为开源服务网格,通过双向TLS加密、细粒度访问控制和强大的审计监控功能,有效保障微服务间的通信安全,成为云原生安全的重要工具。
206 2
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
1029 0
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问