作者:百丈,阿里云 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]提供的云原生网关能力来进行展开。
体系化安全保障
在容器技术与 K8s 主导的云原生时代,云原生网关打破了传统的流量网关与微服务网关的两层架构,将其合二为一,此外还提升了体系化安全保障。
微服务引擎MSE-云原生网关,内置 WAF(Web应用防火墙),同时也支持集成用户已有自建安全能力,让业务快速构建安全屏障,支持HTTPS证书、IP黑名单、认证授权(包含JWT、OIDC和IDaaS)、异常流量清洗。
性能更强劲
压测结果:
- 云原生网关的 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 的性能。
压测数据可以看出使用 TLS 硬件加速后,相比普通 HTTPS 请求 TLS 握手时延降低一倍,极限 QPS 提升80%以上。
相关链接: