Spring Cloud Gateway 突发高危漏洞,下一代云原生网关恰逢其时?

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 除了按照官方进行网关升级,是否存在一劳永逸的方案?

作者:百丈,阿里云 MSE 研发工程师

Spring Cloud Gateway 突发高危漏洞

Log4j2 的漏洞刚告一段落,Spring 官方在2022年3月1日发布了 Spring Cloud Gateway 的两个 CVE 漏洞,分别为 CVE-2022-22946(严重性:Medium)与 CVE-2022-22947(代码注入漏洞,严重性:Critical)。

官方公告地址:https://spring.io/blog/2022/03/01/spring-cloud-gateway-cve-reports-published

漏洞详情:

  • CVE-2022-22947: Spring Cloud Gateway Code Injection Vulnerability
  • CVE-2022-22946: Spring Cloud Gateway HTTP2 Insecure TrustManager

官方建议通过 升级方式 进行修复:

Spring Cloud users should upgrade to 2021.0.1 (which includes 3.1.1) or for 2020.0.x users should upgrade Spring Cloud Gateway to 3.0.7.

除了升级,是否存在一劳永逸的方案?

既然漏洞是和网关相关,那显然需要从网关建设的视角,在根源上避免这类安全风险。接下来,我们以微服务引擎MSE提供的云原生网关能力来进行展开。

体系化安全保障

1645003593619-acb08012-bf0f-4c66-820a-cba0da1065ae.png

在容器技术与 K8s 主导的云原生时代,云原生网关打破了传统的流量网关与微服务网关的两层架构,将其合二为一,此外还提升了体系化安全保障。

微服务引擎MSE-云原生网关,内置 WAF(Web应用防火墙),同时也支持集成用户已有自建安全能力,让业务快速构建安全屏障,支持HTTPS证书、IP黑名单、认证授权(包含JWT、OIDC和IDaaS)、异常流量清洗。

性能更强劲

1645003645351-9473cb8f-ba68-44fb-8202-698c3065308d.png

压测结果:

  • 云原生网关的 TPS,基本是 Spring Cloud Gateway 的2倍,是 Zuul 的5倍。
  • 云原生网关的 TPS,相比 Nginx Ingress,高出约90%。

TLS 硬件加速

随着网络环境的日渐复杂,传统 HTTP 明文传输协议带来的传输安全风险也日渐升高,因此 HTTPS 的密文传输协议得到了业界的普遍认可与广泛应用;任何事情都有其两面性,HTTPS 带来更高传输安全性的同时,由于需要做认证及数据加解密,相比 HTTP,使用 HTTPS 后使得网站访问速度变“慢”,且导致服务器 CPU 消耗变高、从而机器成本变得更“贵”。

阿里云2021年发布了搭载最新至强处理器 Ice Lake 的 ECS 产品,利用 CPU 的硬件特性使的算力大幅提升50%以上。其中提供的 Crypto Acceleration 特性,包括 Vector AES ,通过 multi-buffer lib 配合,能够加速 AES、 RSA、EC 等密码学计算。利用该特性使得 HTTPS 硬件加速得以摆脱专用硬件加速卡的限制,使用 CPU 内置指令结合 SIMD 机制也可以大幅提升 HTTPS 的性能。

基于此,云原生网关率先完成了对其适配,将硬件加速的性能优势带给用户,在不增加用户资源成本的同时大幅度提升 HTTPS 的性能。

1646376618696-cf1b25c5-c566-4066-be38-d5c08201bfa9.png

压测数据可以看出使用 TLS 硬件加速后,相比普通 HTTPS 请求 TLS 握手时延降低一倍,极限 QPS 提升80%以上。

相关链接:

作者:

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
8天前
|
算法 NoSQL API
SpringCloud&Gateway网关限流
SpringCloud&Gateway网关限流
26 7
|
3天前
|
JSON Java Apache
Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient
Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient
|
3天前
|
负载均衡 Java 开发者
Spring Cloud:一文读懂其原理与架构
Spring Cloud 是一套微服务解决方案,它整合了Netflix公司的多个开源框架,简化了分布式系统开发。Spring Cloud 提供了服务注册与发现、配置中心、消息总线、负载均衡、熔断机制等工具,让开发者可以快速地构建一些常见的微服务架构。
|
5天前
|
消息中间件 Java RocketMQ
Spring Cloud RocketMQ:构建可靠消息驱动的微服务架构
【4月更文挑战第28天】消息队列在微服务架构中扮演着至关重要的角色,能够实现服务之间的解耦、异步通信以及数据分发。Spring Cloud RocketMQ作为Apache RocketMQ的Spring Cloud集成,为微服务架构提供了可靠的消息传输机制。
16 1
|
5天前
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo: 微服务通信的高效解决方案
【4月更文挑战第28天】在微服务架构的发展中,服务间的高效通信至关重要。Spring Cloud Dubbo 提供了一种基于 RPC 的通信方式,使得服务间的调用就像本地方法调用一样简单。本篇博客将探讨 Spring Cloud Dubbo 的核心概念,并通过具体实例展示其在项目中的实战应用。
13 2
|
5天前
|
监控 Java Sentinel
Spring Cloud Sentinel:概念与实战应用
【4月更文挑战第28天】在分布式微服务架构中,确保系统的稳定性和可靠性至关重要。Spring Cloud Sentinel 为微服务提供流量控制、熔断降级和系统负载保护,有效预防服务雪崩。本篇博客深入探讨 Spring Cloud Sentinel 的核心概念,并通过实际案例展示其在项目中的应用。
14 0
|
5天前
|
Cloud Native Java Nacos
Spring Cloud Nacos:概念与实战应用
【4月更文挑战第28天】Spring Cloud Nacos 是一个基于 Spring Cloud 构建的服务发现和配置管理工具,适用于微服务架构。Nacos 提供了动态服务发现、服务配置、服务元数据及流量管理等功能,帮助开发者构建云原生应用。
12 0
|
7天前
|
运维 Java 应用服务中间件
整合服务网关gateway
整合服务网关gateway
12 0
|
8天前
|
前端开发 Java 应用服务中间件
Springboot解决跨域问题方案总结(包括Nginx,Gateway网关等)
Springboot解决跨域问题方案总结(包括Nginx,Gateway网关等)
|
8天前
|
Java 数据安全/隐私保护 Sentinel
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流