云原生应用交付

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【10月更文挑战第26天】云原生环境下的安全问题易被忽视,导致潜在风险。应用层渗透测试和漏洞扫描是检测安全的关键,尤其是对于CVE漏洞的修复。然而,常见误解认为安全由外部防护处理且不易引入问题。

应用层的渗透测试和漏洞扫描相当于对应用整体安全的一个检测机制,在安全问题引入之后,通过安全测试和漏洞扫描发现这些问题,推进修改。在安全管理维护方面,最经常处理的是CVE漏洞,CVE漏洞通常是一些隐藏较深、有一定修复难度的问题。对负责业务开发和业务运维的工程师来说,由于接触应用层安全问题的机会不多,仅有的几次机会也是对CVE漏洞的修复,修复的方案往往也是通过版本及第三方库的升级来完成的。长时间的操作过程造成了对应用安全处理机制的两个错误理解,一是认为安全问题是由外部安全防护机制来处理的,二是认为安全问题不太容易引入。


对安全问题的这两个印象实际上是不对的,特别是在云原生环境下,由于疏忽很容易引入安全漏洞。拿一个例子来看,一个容器中的进程如果以root身份运行,那么这个进程在主机操作系统内部也是root身份的,这个程序容易被利用并通过SUID扩大攻击范围;或者有些时候,由于错误地配置了网络策略,业务接口向平台中的所有业务应用开放,破坏了业务的隔离性。这些问题在实际应用中经常发生。


由于云原生业务应用的运行环境已经不同于传统业务应用场景,在传统业务应用场景下,安全管控主要依赖网络边界设备,比如防火墙、IDS/IPS、WAF等。云原生业务系统运行在云化的环境中,网络边界普遍已经虚拟化和模糊化。另外,云原生环境有大量的多租户共享以及多业务应用共用的情况,各业务系统需要在代码、配置和技术选型使用上注意安全问题。如果不遵守一个好的安全规范,日积月累的小安全问题会让业务系统漏洞百出。在常规情况下也许业务系统能够稳定运行,在扩展性和性能等方面表现良好,但是一旦遇到攻击,很容易就会出现严重的安全事故,比如数据泄露、资源泄露或者遭受网络欺诈,造成严重后果。所以云原生应用在开发流程执行过程中就需要确立好安全规范,并把安全规范的执行检查嵌入到DevOps流程中。


安全规范需要考虑平台安全使用规范、容器镜像安全规范、云原生应用安全规范、安全审计规范这四个领域。这四个领域中安全规范的作用和目的如下。


1)平台安全使用规范:规定平台层(包括主机、Kubernetes集群)的配置和使用规则

云原生平台是应用运行的基础,安全工程师的一个重要职责是维护平台的安全。平台安全建设的约束和规范在应用开发流程中可以体现的点并不多,主要是在用户和文件权限及Kubernetes平台配置。


2)容器镜像安全规范:规定应用镜像打包规范,约束使用的基础镜像以及基础镜像的使用方法

  • 只能使用指定的容器基础镜像(如alpine的固定版本)。
  • Dockerfile中不能包含敏感信息(比如密码等)。
  • 需通过USER命令指定容器进程的启动用户,不能以默认的root身份启动。
  • 镜像不能挂载包括/etc、/bin、/root等路径在内的系统关键路径。
  • 发布的镜像需通过镜像扫描平台进行安全扫描。
  • 非特殊情况,不允许在基础镜像的基础上再下载扩展软件包。
  • 某些情况下,安装扩展软件包时,需通过安全工程师来操作,安全的软件包需精简,去除无用的附属文件(如debug工具、帮助文件等)。


3)云原生应用安全规范:规定Pod的定义规则、namespace的隔离规则以及各应用之间的访问规则;还包括应用在架构上的安全定义规则

云原生应用安全规范的内容较多,包括应用中间件的选型和使用、应用Pod声明文件包含的必要配置、应用Pod之间的隔离策略、Security Context和Pod Security Policy的使用规范以及平台服务账号及其角色绑定的配置规范等。


4)安全审计规范:规定应用的操作日志、与安全相关的应用运行日志的打印规范

安全审计规范中定义了应用操作日志、与安全相关的运行日志及运行事件的输出规范,主要包括以下内容。

  • 用户对资源的操作和管理需记录操作日志,操作日志的信息字段需记录操作源IP等关键字段。
  • Web层接口的调用入口及出口需记录调用日志,调用日志的级别需为WARN。调用日志需标记出调用时间、输入参数和能够标记调用用户的字段信息。
  • 应用日志中不能输出用户的隐私信息(比如用户密码等)。
  • 应用日志需对应用异常情况进行捕获,并输出应用运行的整体情况日志,如在线程池满的时候,输出线程总数及请求队列的统计信息。
  • 需开启kube-apiserver审计,记录平台的事件信息。


平台以及应用层规范的制定主体是安全工程师。安全工程师除了提出和制定安全流程规范外,还负责在DevSecOps流水线中配置自动化的安全规范检查机制,将安全的检查工作融入日常的开发流程中,利用云平台的自动化机制来实现自动化的持续安全。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7月前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
178 13
|
7月前
|
运维 Cloud Native 安全
云原生技术在现代企业中的应用与挑战####
本文探讨了云原生技术在现代企业IT架构中的关键作用,分析了其带来的优势和面临的主要挑战。通过实际案例分析,揭示了如何有效应对这些挑战,以实现业务敏捷性和技术创新的平衡。 ####
|
7月前
|
Cloud Native 持续交付 开发者
云原生技术在现代企业中的应用与实践####
本文深入探讨了云原生技术的核心概念及其在现代企业IT架构转型中的关键作用,通过具体案例分析展示了云原生如何促进企业的敏捷开发、高效运维及成本优化。不同于传统摘要仅概述内容,本部分旨在激发读者对云原生领域的兴趣,强调其在加速数字化转型过程中的不可或缺性,为后续详细论述奠定基础。 ####
|
3月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
250 12
|
7月前
|
Kubernetes Cloud Native 物联网
云原生技术在现代软件开发中的应用与挑战####
本文探讨了云原生技术的兴起背景、核心理念及其在现代软件开发中的广泛应用。通过具体案例分析,揭示了云原生架构如何促进企业数字化转型,并指出了在实施过程中面临的主要挑战及应对策略。 ####
|
7月前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
7月前
|
Cloud Native JavaScript Docker
云原生技术:构建现代应用的基石
在数字化转型的浪潮中,云原生技术如同一艘承载梦想的航船,引领企业驶向创新与效率的新海域。本文将深入探索云原生技术的核心价值,揭示其如何重塑软件开发、部署和运维模式,同时通过一个简易代码示例,展现云原生应用的构建过程,让读者领略到云原生技术的魅力所在。
|
8月前
|
监控 Cloud Native 持续交付
云原生技术在现代企业中的应用与实践
本文将深入探讨云原生技术如何改变现代企业的运作模式,提升业务灵活性和创新能力。通过实际案例分析,我们将揭示云原生架构的关键要素、实施步骤以及面临的挑战,为读者提供一套清晰的云原生转型指南。
|
8月前
|
消息中间件 Cloud Native 持续交付
云原生技术在现代企业中的应用与优势###
本文深入探讨了云原生技术在现代企业中的具体应用及其带来的显著优势。随着云计算的普及,云原生作为一种新兴的技术架构,正逐渐成为企业数字化转型的关键驱动力。文章将详细介绍云原生的核心概念、主要技术组件以及在实际业务场景中的成功案例,旨在为读者提供一个全面且实用的参考框架,以便更好地理解和应用云原生技术。 ###
|
8月前
|
存储 Prometheus 运维
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案。该集成结合了ARMS的基础设施监控能力和Prometheus的灵活配置及社区支持,实现了全面、精准的系统状态、性能和错误监控,提升了应用的稳定性和管理效率。通过统一的数据视图和高级查询功能,帮助企业有效应对云原生挑战,促进业务的持续发展。
217 3