云原生安全DevSecOps思考

本文涉及的产品
函数计算FC,每月15万CU 3个月
云原生网关 MSE Higress,422元/月
可观测链路 OpenTelemetry 版,每月50GB免费额度
简介: 关于云原生安全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

安全工具参考图

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

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。   相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
6月前
|
监控 安全 Cloud Native
云原生开源沙龙北京站开启报名 | 微服务安全零信任架构
「微服务安全零信任架构」主题技术沙龙将于4月13日在北京阿里中心举行,欢迎报名!~
云原生开源沙龙北京站开启报名 | 微服务安全零信任架构
|
6月前
|
云安全 安全 Cloud Native
企业如何做好云原生安全
云原生安全不仅仅关注云计算普及带来的安全问题,它更强调以原生的思维来构建云上的安全建设、部署与应用,推动安全与云计算的深度融合。将安全能力内置于云平台中,实现云化部署、数据联通、产品联动,这有助于充分利用安全资源,降低安全解决方案的使用成本,实现真正意义上的普惠安全。
|
2月前
|
人工智能 安全 Cloud Native
阿里云云原生安全能力全线升级,护航百万客户云上安全
【重磅发布】9月20日,在杭州云栖大会上,阿里云宣布云原生安全能力全线升级,首次发布云原生网络检测与响应产品NDR(Network Detection Response,简称NDR)。同时,阿里云还宣布将持续增加免费的安全防护能力,帮助中小企业客户以极低投入完成基础的云上安全风险治理。
167 15
|
7天前
|
监控 安全 Cloud Native
云原生安全:Istio在微服务架构中的安全策略与实践
【10月更文挑战第26天】随着云计算的发展,云原生架构成为企业数字化转型的关键。微服务作为其核心组件,虽具备灵活性和可扩展性,但也带来安全挑战。Istio作为开源服务网格,通过双向TLS加密、细粒度访问控制和强大的审计监控功能,有效保障微服务间的通信安全,成为云原生安全的重要工具。
24 2
|
2月前
|
安全 Cloud Native 测试技术
Star 3w+,向更安全、更泛化、更云原生的 Nacos3.0 演进
祝贺 Nacos 社区 Star 数突破 30000!值此时机,回顾过去的两年时间,Nacos 从 2.0.4 版本演进到了 2.4.2 版本,基本完成了当初构想的高性能、易拓展的目标,并且对产品的易用性和安全性进行了提升,同时优化了新的官网,并进行了多语言和更多生态支持。未来,Nacos 会向更安全、更泛化、更云原生的 Nacos3.0 演进。
141 14
|
25天前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
113 0
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
|
2月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
针对软件供应链的攻击事件在以每年三位数的速度激增,其中三方或开源软件已经成为攻击者关注的重要目标,其攻击方式和技术也在不断演进。通过供应链的传播,一个底层软件包的漏洞的影响范围可以波及世界。企业亟需更加标准和完善的供应链风险洞察和防护机制。本文将结合最佳实践的形式,面向容器应用完整的生命周期展示如何基于容器服务ACK/ACR/ASM助力企业构建云原生软件供应链安全。
|
2月前
|
存储 安全 Cloud Native
揭秘Quarkus安全秘籍:守护云原生应用,抵御未知威胁,助力企业稳健前行
随着云原生技术的发展,企业愈发倾向于在容器化环境中部署应用。作为一款专为云原优化的Java框架,Quarkus的安全性备受关注。本文介绍了Quarkus中的安全最佳实践,包括使用OpenID Connect进行身份认证、使用JWT进行权限控制以及保护敏感端点。通过这些实践,可有效提升应用安全性。同时,还需定期更新依赖库、使用HTTPS协议、加密存储敏感数据及定期进行安全审计,以确保应用的安全性和可靠性。
31 4
|
3月前
|
运维 Cloud Native 安全
核心系统转型问题之确保核心系统云原生分布式转型的安全可靠性如何解决
核心系统转型问题之确保核心系统云原生分布式转型的安全可靠性如何解决
|
5月前
|
存储 Kubernetes 安全
云上攻防-云原生篇&K8s安全&Config泄漏&Etcd存储&Dashboard鉴权&Proxy暴露
云上攻防-云原生篇&K8s安全&Config泄漏&Etcd存储&Dashboard鉴权&Proxy暴露
124 5