网关安全(一)-微服务安全面临的挑战及常见架构

1、微服务安全面临的挑战

  在微服务的架构下,对比单体应用架构的API安全有哪些新的挑战呢?

  1.1、更多的入口点,更高的安全风险

    单体应用的场景下,入口点只有一个,所有的请求都会从这个入口点进来,在这个入口点去建立一组Filter或者Interceptor,就可以控制所有的风险。

    微服务场景下,业务逻辑不是在一个单一的进程里,而是分散在很多的进程里。每一个进程都有自己的入口点,这就会导致防范的攻击面,比原来大得多,风险也会高的多。

  1.2、性能问题

    单体应用的场景下,所有的业务逻辑都在同一个进程里面,关于安全的信息也都在这里面,想验证身份权限,在这个进程里可以完成的。

    微服务场景下,需要的安全信息,很可能在当前进程里是没有的,比如说,访问一个订单服务的时候,用户的信息、权限的信息,在订单服务中是拿不到的。需要调用安全中心认证中心去获取相关的这些信息。那么,每一个请求,不管是从外部进来的,还是服务间的调用,都要去做安全校验时,这个远程连接所带来的延迟,有可能会导致服务产生一些性能问题。尤其是对性能极其敏感的一些服务。原来那个服务可能本身几毫秒就能响应了。因为要做远程调用来验证安全,可能又增加了几毫秒。

  1.3、服务间通讯安全

    单体应用的场景下,订单调用价格,调用物流都是在同一个tomcat中,不需要考虑安全问题。

    微服务场景下,当订单去调用物流的时候,需要跨网络,从一个进程进入另一个进程,要保证这个通讯也是安全的。

  1.4、跨多个微服务的请求难以追踪

    对于一个服务来说,可观测性是一个很重要的指标。可观测性包含了三方面的意义:

    1.4.1、log日志:在分布式的应用中,每一个进程会单独记录一些日志,这时候就需要有一个机制把所有的日志串起来。

    1.4.2、Metrics指标监控:就是把日志的一些信息聚合起来,形成一个在一段时间上的某个指标的统计。比如说流量,在单体应用中很好控制。但是在微服务中,每个服务能承受的流量不同,需要有一个机制能控制整个系统的流控。

    1.4.3、Tracing调用链监控:比如一个请求进来,在订单服务耗时多少,库存服务耗时多少,价格服务服务耗时多少。能看到整个服务的瓶颈在哪里,这也是需要解决的。

  1.5、容器化部署问题

    微服务场景下,最常用的部署手段那就是容器化,证书和IP访问控制比以前复杂。

  1.6、微服务间共享用户的登录状态

    微服务场景下,如何在多个应用之间共享用户的登陆状态,在这个请求中,所涉及到的微服务都可以知道当前用户是谁。

  1.7、多语言架构要求每个团队都要有一定的安全经验

    微服务场景下,每个微服务都可以使用适合的语言开发,有可能订单是java写的,物流是用go写的...。这种情况下,要求各个团队都要有安全经验。

2、常见的微服务安全整体架构

上图为常见的微服务安全架构,这里我们主要学习安全中心、如何在网关上做安全处理。

原文地址:https://www.cnblogs.com/caofanqi/p/12246103.html

时间: 2024-08-29 14:39:51

网关安全(一)-微服务安全面临的挑战及常见架构的相关文章

Spring Cloud微服务安全实战_4-1_微服务网关安全_概述&微服务安全面临的挑战

  第四章  网关安全 这一章从简单的API的场景过渡到复杂的微服务的场景 4.1 概述 微服务安全面临的挑战:介绍中小企业的一个微服务架构,相比第三章的单体应用的简单的API所面临的哪些挑战 OAuth2协议与微服务安全:介绍OAuth2中的各个角色,以及相互之间的关系,介绍具体的代码实现 微服务网关安全:搭建网关,安全中心,两个微服务,怎么将安全从微服务中解耦出来放到网关上,与OAuth协议联系起来解决微服务安全面临的新的挑战. 4.2 微服务安全面临的挑战  更多的入口点,更高的安全风险

有容云:微服务容器化的挑战和解决之道

注: 本文根据6月是18日七牛云微服务课堂-微服务容器化的挑战和解决之道演讲内容整理而成,演讲者:有容云联合创始人兼首席架构师马洪喜,与大家一起探讨了如何通过容器技术将微服务和 DevOps 落地. 嘉宾介绍: 马洪喜,此前担任 Rancher Labs 中国区技术负责人.Citrix 公司资深架构师.Oracle 公司虚拟化产品开发经理等职务,在容器云.IaaS 云.桌面云建设方面拥有丰富的经验. 单体架构 VS 微服务架构 传统单体架构存在各种各样的问题,如加载编译耗时长.代码管理复杂.横向

微服务容器化的挑战和解决之道

注: 本文根据6月是18日七牛云微服务课堂-微服务容器化的挑战和解决之道演讲内容整理而成,演讲者:有容云联合创始人兼首席架构师马洪喜,与大家一起探讨了如何通过容器技术将微服务和 DevOps 落地. 嘉宾介绍: 马洪喜,此前担任 Rancher Labs 中国区技术负责人.Citrix 公司资深架构师.Oracle 公司虚拟化产品开发经理等职务,在容器云.IaaS 云.桌面云建设方面拥有丰富的经验. 单体架构 VS 微服务架构 传统单体架构存在各种各样的问题,如加载编译耗时长.代码管理复杂.横向

微服务要面临的问题

微服务是将原来独立系统拆分成多个小的.独立进程运行的小服务单元,服务单元之间通过RPC或HTTP协议来相互通信协作.每个独立的服务内部都有自己的数据存储.业务逻辑.运维部署机制. 我们在享受微服务化后带来的灵活.便利.扩展性同时,对我们的运维和服务治理也提出了新的挑战.从早先单体应用的代码依赖变成了通信依赖.同时还要考虑网络延迟.分布式事务.异步消息等问题. 在将单体应用微服务化时我们先要从大的方面梳理出一个系统包含哪些功能,然后找出最核心的功能,再对这些核心功能梳理出主要的流程,并明确流程上的

go微服务框架go-micro深度学习(一) 整体架构介绍

产品嘴里的一个小项目,从立项到开发上线,随着时间和需求的不断激增,会越来越复杂,变成一个大项目,如果前期项目架构没设计的不好,代码会越来越臃肿,难以维护,后期的每次产品迭代上线都会牵一发而动全身.项目微服务化,松耦合模块间的关系,是一个很好的选择,随然增加了维护成本,但是还是很值得的. 微服务化项目除了稳定性我个人还比较关心的几个问题: 一: 服务间数据传输的效率和安全性. 二: 服务的动态扩充,也就是服务的注册和发现,服务集群化. 三: 微服务功能的可订制化,因为并不是所有的功能都会很符合你的

Spring Cloud微服务安全实战_5-1_单点登录基本架构

下面是常见的前后端分离的架构,准确的说,这是一种半分离的架构,这种架构存在一些问题: 1,SEO,搜索引擎只能识别静态的HTML资源,爬HTML的DOM树,它是没法识别js动态渲染出来的内容的,所以如果是这种架构,SEO会有问题 2,页面渲染是在浏览器完成的,如果业务复杂,要数据量大,可能会对浏览器造成压力,可能会卡顿. 鉴于以上前后端分离的架构存在的问题,我们要搭的一个前后端分离的架构是下面的架构: 主要区别是把Nginx换成了nodeJS,nodejs可以实现nginx的所有的功能. 而且还

Java从单体到微服务打造房产销售平台

第1章 课程介绍本章从整体上介绍课程有什么收获,以及课程如何安排,其中包括微服务的两个不同学习阶段--单体开发阶段(基于SpringBoot)和微服务改造阶段(基于SpringCloud),知识点梳理&问答:https://www.imooc.com/article/234081-1 课程导学 第2章 单体架构之项目概要设计&数据表设计本章会带着大家对房产销售平台一功能.模型.流程三个方面进行需求分析,之后我们将抽取出项目中的功能模型,分析功能模型之间的关联关系,同时在本章我们会对房产销售

2019年必须掌握的29个微服务面试问题(含答案解析)

这29个微服务面试题基本涵盖了方方面,希望对你有所帮助! 一.什么是Spring Cloud? 在微服务中,SpringCloud是一个提供与外部系统集成的系统.它是一个敏捷的框架,可以短平快构建应用程序.与有限数量的数据处理相关联,它在微服务体系结构中起着非常重要的作用.以下为 Spring Cloud 的核心特性: 版本化/分布式配置. 服务注册和发现. 服务和服务之间的调用. 路由. 断路器和负载平衡. 分布式消息传递. 二.什么是Spring Boot? Spring boot是微服务面

聊聊微服务架构实践之路的4大挑战,3月31日见真章!

当容器化的兴起,为应用开发部署带来变革,也为应用设计架构和运维部署带来变化: 当持续交付.DevOps.微服务,成为企业在软件成果对抗当中胜出的有力武器,微服务架构已经随处可见: 但随之而至的是微服务框架.微服务监控.微服务配置.微服务治理等一系列挑战, 从架构到发布,挑战重重,该如何应对容器化微服务架构的各种技术难题? 2018年3月31日,数人云联合ServiceComb社区,开启Building Microservice 系列活动 第2期 北京站 带你了解最新的微服务开源框架, 解析微服务