Spring Cloud Gateway 高危漏洞加固建议
共 945字,需浏览 2分钟
·
2022-03-07 10:26
漏洞说明
Spring Cloud Gateway 是 Spring Cloud 的⼀个全新项⽬,基于⾼性能的 Reactor 模式响应式通信框架 Netty,异步⾮阻塞模型等技术开发,旨在为微服务架构提供⼀种简单有效的统⼀的 API 路由管理⽅式。
Spring Cloud Gateway 远程代码执行漏洞(CVE-2022-22947)发生在 Spring Cloud Gateway 应用程序的 actuator 端点,其在启用、公开和不安全的情况下容易受到代码注入的攻击。攻击者可通过该漏洞恶意创建允许在远程主机上执行任意远程执行的请求。
Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助我们监控和管理 Spring Boot 应用。这个模块是一个采集应用内部信息暴露给外部的模块,上述的功能都可以通过 HTTP 和 JMX 访问。因为暴露内部信息的特性,生产上不得对外暴露相关接口,spring cloud gateway 此漏洞也是因为此端口对外暴露造成
影响版本
以下版本均受影响:
- 3.1.0
- 3.0.0 - 3.0.6
- 老版本
解决方案
- 重要建议: 不对外暴露 actuator 端点,通过防火墙控制相关访问权限,不要直接关闭 actuator ,避免内网监控程序获取埋点信息失败。
# 如果使用nginx 转发,如下设置避免端点安全问题
if ($request_uri ~ "/actuator"){
return 403;
}
- 版本加固: 升级至安全版本 3.1.x -> 3.1.1,3.0.x -> 3.0.7+
运维最小化
1:系统安装最小化,即选包最小化,yum 安装软件包最小化,不装无用包。
2:开机自启动服务最小化,即无用的服务不开启。
3:操作命令最小化,例如使用 rm -i test.txt 而不使用 rm -rf test.txt
4:登录 Linux 用户最小化,平时养成不使用 root 账号登录的好习惯。
5:普通用户授权最小化,即只给必须的管理系统的命令。
6:Linux 系统文件及目录的权限的最小化,禁止随意更改删除