【云原生】云原生在网络安全领域的应用

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 微服务器框架

 

博主昵称:跳楼梯企鹅

博主方向:网络安全渗透测试、人工智能、数据库、云原生

创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。
博主座右铭:发现光,追随光,成为光,散发光;
博主研究方向:渗透测试、机器学习 ;
博主寄语:感谢各位技术友的支持,您的支持就是我前进的动力 ;

微信图片_20220810004845.jpg

一、概述

企鹅今天想分享云原生应用安全防护系列,本文笔者主要针对微服务架构下的应用安全、Serverless安全提出一些防护见解及思考。文章篇幅较长,内容上与之前笔者发表的若干文章有相互交叉对应的部分,希望能为各位读者带来帮助

二、微服务架构模式

图片.png

image.gif

1.数字时代的微服务安全

微服务架构已经成为构建现代应用程序的默认方式。要从微服务中获得最大的收益,需要清楚地了解微服务安全及其架构设计。微服务安全的设计应是预设安全,需要站在微服务架构角度进行安全治理,结合数字化时代及业务特性,保证业务价值实现。

这里CSA发布《微服务架构模式》,给出了 CSA 的最佳实践与总结,通过 CSA 微服务安全参考架构以及安全控制措施叠加的新思路,保证了微服务在架构层面的安全性

成功地开发基于微服务架构的应用软件,需要掌握一系列全新的架构思想和实践。 [2]  在这本独特的书籍中,微服务架构的先驱、Java 开发者社区的意见领袖 Chris Richardson 收集、分类并解释了 44 个架构设计模式,这些模式用来解决诸如服务拆分、事务管理、查询和跨服务通信等难题。

(1)数字化时代的网格管理

数字化转型是全球的热门话题,是组织应用新兴技术从根本上提高组织的业绩及创新的新兴方法。在云计算、大数据、物联网(IoT)、人工智能、5G(6G),和移动应用等新兴技术的应用,加速了整个社会及组织形态的变化。这些新兴技术已经改变了传统的工作流程,并使组织成为数字化时代网格模式与网格管理

数字化时代网格模式在数字化转型中无处不在,在每个行业都在发生。网格模式影响组织的所有活动、功能和流程,也影响着组织每个部门,因为它可以影响业务模型本身。数字化时代的网格管理是指在数字转型背景下,业务、功能、流程、安全等都是相互关联的,网格管理模式是数字化的核心表现。

网格管理模式下组织的生存离不开效率,效率是敏捷性最重要的指标。组织级敏捷转型的终级目标是把敏捷应用到整个组织中,给业务带来创新与收益。组织采用敏捷建模可以提升响应能力,微服务架构是敏捷建模(AM)的应用体现。

(2)微服务安全是数字化成功的重要基石

数字化转型成功的重要基石之一是业务与IT的关系,需要缩小两者之间的差距,专注于相同的目标。这也是微服务可以在数字转型过程中发挥作用的地方。

微服务可谓当下一大热门词汇,与之并驾齐驱的包括物联网、容器化与区块链等新兴技术。微服务提供敏捷性、可靠性、可维护性、可扩展性和可部署性,帮助组织完成数字化转型过程。微服务架构越来越多地用于设计和实现基于云部署的基础设施、大型应用程序和服务中的应用程序系统。

在应用微服务架构时需要解决许多安全挑战,这也刺激着组织思考微服务安全性在数字化转型中的价值实现,即业务放到云基础设施上并不等于走入数字化时代,业务放到云基础设施必须保证架构的安全性,微服务安全是数字化转型必守之城。

2.如何设计微服务成为可信安全系统

(1)CSA 微服务安全参考架构

DevSecOps模式成为DevOps最新的演进路线,帮助组织在数字化转型过程中实现云原生的安全性。通过将架构的使用、架构模式和安全控制措施叠加成为一个整体,在技术上实现了网格模式,确保了组织应用的机密性、完整性和可用性(CIA)。

无论组织领导者倾向于购买现成解决方案还是 “内部构建”,微服务和API消费的集成都会是一种常见的系统集成预期。随着组织继续对流程数字化,安全团队必须应对增加的攻击矢量和更复杂的管理,同时还要与越来越复杂的攻击者保持同步。面对这一巨大的挑战,安全团队必须评估和更新他们的遗留安全过程、工具和技能集,以适应新的、可适应的组织安全方法。

为了便于指导安全控制措施叠加对微服务的施用,通用微服务架构模式通过两个分支形成了两个不同的视角。第一个视角着眼于组织层面。组织层面包含了可协助实现微服务架构治理的信息技术资产。组织期望减少控制措施状态的变数。自定义编码、生产状态变通方案和一次性修改都会增加开发成本。第二个视角着眼于软件层面。分布式微服务应用的分解图,这种状况存在于软件层面,是最接近软件代码的表现方式。

(2)安全控制措施叠加

安全叠加概念:是指运用裁剪标准及指南的方法裁剪控制基线后得出的一个全套特定控制措施、控制措施强化和补充指南集,帮助组织实现安全管控。

安全控制措施叠加可通过执行相关业务和安全策略把风险降至一个可接受水平。控制挑选是在业务需要、投放市场时间和风险容忍度之间平衡的结果。安全叠加包装了一种软件模式,尽管它可能会带来更大的安全控制覆盖范围,但是,适合于一种模式的,只会有一个安全叠加。在微服务架构内的不同位置和层级发挥作用的控制措施,会产生形成软件深度防御的累加效应。

三、微服务应用安全

认证服务

由于攻击者在进行未授权访问前首先需要通过系统的认证,因而确保认证服务的有效性非常重要,尤其在微服务应用架构下,服务的不断增多将会导致其认证过程变得更为复杂。

授权服务

授权服务是针对未授权访问风险最直接的防护手段,微服务应用架构下,由于服务的权限映射相对复杂,因而会导致授权服务变得更难。

数据安全防护

与《云原生应用安全风险思考》一文中分析数据安全防护的必要性一样,但微服务应用架构下,服务间通信不仅使用HTTP协议,还会使用gRPC协议等,这是我们需要注意的地方。

其它防护

除了上述防护方法之外,微服务治理框架与API网关/WAF可以结合以进行深度防护,例如可以在一定程度上缓解微服务环境中被拒绝服务攻击的风险。

1.认证服务

微服务架构下,服务可以采用JWT或基于Istio的认证方式

(1) 基于JWT(JSON Web Token)的认证

微服务架构下,每个服务是无状态的,传统的session认证方式由于服务端需要存储客户端的登录状态因此在微服务中不再适用。理想的实现方式应为无状态登录,流程通常如下所示:

    1. 客户端请求某服务,服务端对用户进行登录认证;
    2. 认证通过,服务端将用户登录信息进行加密并形成令牌,最后再返回至客户端作为登录凭证;
    3. 在2步骤之后,客户端每次请求都需携带认证的令牌;
    4. 服务端对令牌进行解密,判断是否有效,若有效则认证通过,否则返回失败信息;

    为了满足无状态登录,我们可通过JWT实现,JWT是JSON风格轻量级认证和授权规范,也就是上述流程中提到的令牌,主要用于分布式场景,

    图片.png

    JWT交互流程与上述提到的理想流程基本上是相似的,需要注意的是,JWT令牌中会包含用户敏感信息,为防止被绕过的可能,JWT令牌采用了签名机制。此外,传输时需要使用加密协议

    (2)基于Istio的认证

    Istio的安全架构

    image.gif图片.png

    Istio的认证和授权两部分,Istio的安全机制涉及诸多组件,控制平面由核心组件Istiod提供,其中包含密钥及证书颁发机构(CA)、认证授权策略、网络配置等;数据平面则由Envoy代理、边缘代理(Ingress和Egress)组件构成。借助控制平面Istiod内置的CA模块,Istio可实现为服务网格中的服务提供认证机制,该认证机制工作流程包含提供服务签名证书,并将证书分发至数据平面各个服务的Envoy代理中,当数据平面服务间建立通信时,服务旁的Envoy代理会拦截请求并采用签名证书和另一端服务的Envoy代理进行双向TLS认证从而建立安全传输通道,保障了数据安全

    2.授权服务

    微服务架构下,授权服务可以通过基于角色的授权以及基于Istio的授权实现

    (1)基于角色的授权服务

    基于角色的授权服务为RBAC(RoleBased Access Control),通过角色关联用户,角色关联权限的方式间接赋予用户权限。在微服务环境中作为访问控制被广泛使用,RBAC可以增加微服务的扩展性,例如微服务场景中,每个服务作为一个实体,若要分配服务相同的权限,使用RBAC时只需设定一种角色,并赋予相应权限,再将此角色与指定的服务实体进行绑定即可。若要分配服务不同的权限,只需为不同的服务实体分配不同的角色,而无需对服务具体的权限进行修改,通过这种方式不仅可以大幅提升权限调整的效率,还降低了漏调权限的概率

    (2)基于Istio的授权服务

    提到的Istio认证机制作为基础,Istio还提供授权机制,其主要用于对服务进行授权。在Istio 1.4版本之前,其授权机制依赖于Kubernetes的RBAC策略,相比Kubernetes的原生RBAC策略,Istio对其进行了进一步的封装,可让用户直接通过Istio的声明式API对具体的服务进行授权,不过Istio为了更好地用户体验,在其1.6版本中引入了AuthorizationPolicyCRD[16](Custom Resource Definition),相比1.4版本,AuthorizationPolicy CRD带来了更多的优势,一方面该CRD将RBAC的配置变得更为简化为从而大幅提升了用户体验,另一方面该CRD支持了更多的用例,例如对Ingress/Egress的支持,且同时不会增加复杂性。

    图片.png

    image.gif (3)Istio授权策略:

    apiVersion:security.istio.io/v1beta1
    kind: AuthorizationPolicy
    metadata:
     name: httpbin
     namespace: foo
    spec:
     selector:
       matchLabels:
         app: httpbin
         version: v1
     rules:
     – from:
       – source:
           principals:[“cluster.local/ns/default/sa/sleep”]
       to:
       – operation:
           methods: [“GET”]
       when:
       – key: request.headers[version]
         values: [“v1”, “v2”]

    image.gif

    3.数据安全

    传统应用架构中,我们可以通过安全编码、使用密钥管理系统和使用安全协议的方式防止数据泄露,在微服务应用架构中,我们可以考虑使用Kubernetes原生的安全机制或微服务治理框架的安全机制去进行防护。

    针对Kubernetes原生的安全机制,例如Secret机制,我们可以使用其进行密钥存储,从而规避了敏感信息硬编码带来的数据泄露风险。

    针对微服务治理框架的安全机制,如Istio支持服务间的TLS双向加密、密钥管理及服务间的授权,因而可以有效规避由中间人攻击或未授权访问攻击带来的数据泄露风险。

    4.其他防护机制

    采用微服务治理框架的防护方式可在一定程度上有效规避云原生应用的新风险,但其防护点主要针对的是微服务架构下应用的东西向流量,针对南北向的流量防护稍显脆弱,由于微服务架构下的应用防护应当是全流量防护,因而针对南北向所存在的问题,我们可以考虑将微服务治理框架与API网关和WAF相结合,从而提升南北向的防护能力。

    (1)Istio和API网关协同的全面防护

    image.gif图片.png

    针对应用的南北流量而言,Istio采取的解决方案为使用边缘代理Ingress与Egress分别接管用户或外界服务到服务网格内部的入/出站流量,Ingress与Egress实则为Istio部署的两个Pod,Pod内部为一个Envoy代理,借助Envoy代理的安全Filter机制,在一定程度上可对恶意Web攻击进行相应防护,但现有的Envoy安全Filter种类相对较少,面对复杂变化场景下的Web攻击仍然无法应对,可行的解决方案为在服务网格之外部署一层云原生API网关.

    (2)Istio和WAF结合的深度防护

    WAF作为一款抵御常见Web攻击的主流安全产品,可以有效对Web流量进行深度防护,并且随着云原生化概念的普及,国内外安全厂商的容器化WAF产品也在迅速落地,未来容器化WAF与Istio的结合将会在很大程度上提升微服务安全。

    图片.png

    image.gif

    另一种解决方案是Radware提出的Kubernetes WAF方案,该方案基于Istio实现,其中WAF被拆分为Agent程序和后端服务两部分,Agent程序作为Sidecar容器置于Pod的Envoy容器和业务容器间,该Sidecar的主要作用为启动一个反向代理,以便将外部请求流量代理至Pod外部的WAF后端服务中。该套方案带来的好处是无需关心外部请求如何路由至Pod、与Istio结合的理念更接近云原生化、实现了以单个服务为粒度的防护。

    图片.png

    image.gif

    参考资料  

    四、总结

    云原生大概念下,安全问题必然是最重要的问题之一,需要我们每一位开发者和测试者的努力。

    image.gif

    相关文章
    |
    6天前
    |
    机器学习/深度学习 人工智能 自然语言处理
    深度学习中的自适应神经网络:原理与应用
    【8月更文挑战第14天】在深度学习领域,自适应神经网络作为一种新兴技术,正逐渐改变我们处理数据和解决问题的方式。这种网络通过动态调整其结构和参数来适应输入数据的分布和特征,从而在无需人工干预的情况下实现最优性能。本文将深入探讨自适应神经网络的工作原理、关键技术及其在多个领域的实际应用,旨在为读者提供一个全面的视角,理解这一技术如何推动深度学习向更高效、更智能的方向发展。
    |
    12天前
    |
    Cloud Native 搜索推荐 云计算
    云原生技术在现代企业中的应用与挑战
    【8月更文挑战第8天】本文深入探讨了云原生技术在现代企业中的广泛应用及其带来的挑战。文章首先定义了云原生技术,并概述了其在企业数字化转型中的关键作用。随后,通过分析不同行业的应用案例,展示了云原生技术的多样性和灵活性。最后,讨论了企业在采用云原生技术时面临的主要挑战,包括安全性、合规性、成本管理以及技术复杂性,为读者提供了全面而深入的洞见。
    |
    4天前
    |
    存储 安全 网络安全
    信息安全:网络安全审计技术原理与应用.
    信息安全:网络安全审计技术原理与应用.
    22 4
    |
    3天前
    |
    机器学习/深度学习 编解码 人工智能
    【生成式对抗网络】GANs在数据生成、艺术创作,以及在增强现实和虚拟现实中的应用
    生成对抗网络(Generative Adversarial Networks, GANs)在数据生成领域具有显著的应用价值。GANs通过生成器(Generator)和判别器(Discriminator)两个相互竞争的神经网络,不断迭代优化,从而生成高质量的数据样本。这一技术在数据增强方面尤为重要,特别是在数据稀缺或难以获取的领域,如医疗影像分析、自动驾驶等。GANs能够生成与真实数据相似的新数据样本,从而扩充数据集规模,提高模型的泛化能力。此外,GANs还可以用于生成仿真数据,如金融领域中的股票价格走势,用于训练预测模型,提高预测准确性
    13 2
    |
    8天前
    |
    Cloud Native 安全 云计算
    云原生技术在现代企业中的应用与挑战
    随着云计算技术的蓬勃发展,云原生技术已经成为推动企业数字化转型的重要力量。本文将深入浅出地探讨云原生技术的核心概念、优势以及在实际应用中所面临的挑战和解决策略,旨在为读者提供一个全面而清晰的云原生技术应用框架,助力企业在数字化浪潮中乘风破浪。
    |
    4天前
    |
    安全 关系型数据库 网络安全
    信息安全:网络安全漏洞防护技术原理与应用.
    信息安全:网络安全漏洞防护技术原理与应用.
    22 3
    |
    4天前
    |
    Cloud Native 持续交付 云计算
    云原生之旅:从传统IT到现代应用的蜕变
    在数字化浪潮中,云原生技术成为推动企业创新和效率提升的关键力量。本文将带您一探云原生的核心概念、优势以及实施路径,揭示如何通过拥抱云原生架构,实现从传统IT向灵活、高效的现代应用转型。
    12 2
    |
    7天前
    |
    运维 Cloud Native 云计算
    云原生技术在现代企业中的应用与挑战
    【8月更文挑战第13天】随着云计算技术的不断发展,云原生作为一种新型的架构模式,正在被越来越多的企业所采用。本文将探讨云原生技术的核心概念、优势以及在现代企业中的应用案例,同时分析企业在实施云原生过程中可能遇到的挑战和解决方案。
    |
    8天前
    |
    Cloud Native 安全 持续交付
    云原生技术在现代企业中的应用与挑战
    随着云计算技术的飞速发展,云原生已成为推动企业数字化转型的关键力量。本文将深入探讨云原生技术的核心概念、优势以及在实际应用中面临的挑战,旨在为读者提供一份全面的云原生应用指南,帮助理解其对企业IT架构和服务交付方式的深远影响。
    22 4
    |
    10天前
    |
    运维 Cloud Native 持续交付
    云原生技术在现代企业中的应用与挑战
    【8月更文挑战第10天】随着云计算的不断发展和成熟,云原生技术已经成为现代企业数字化转型的重要推动力。本文将探讨云原生技术的核心概念、优势以及在企业中的应用案例,同时分析企业在采纳云原生技术过程中可能遇到的挑战,并提出相应的解决策略。通过深入分析,旨在为企业实施云原生技术提供参考和指导。

    热门文章

    最新文章