springboot&&springframework&&springcloud之间的对照关系&&漏洞修复
漏洞修复顺序
- springframework
- springboot
- springcloud
- 引用频次最高的组件,例如hutool工具包
- 其他包,如果如果包无最新版,可以把代码抠出来或者更换组件
spring三大框架组件之间的关系
-
springframework版本发布页:https://spring.io/projects/spring-framework#learn
-
springboot版本发布页:https://spring.io/projects/spring-boot#learn
-
springcloud版本发布页:https://spring.io/projects/spring-cloud#learn
springcloud(微服务增强) -> springboot(web增强) -> springframework(java增强)
首先确定无安全漏洞的springframework版本
单纯的升级springboot、springcloud无法有效解决安全问题
根据 spring 三大框架(组件)之间的关系,出安全问题的通常是springframework的单个组件,例如spring-web。要先确定当前项目的springframework的无漏洞版本、如果当前版本已经停止维护则需要看下一个版本或者更新的版本,正常情况下最新的版本没有安全问题、安全漏洞解能得到最快的解决。
中心仓库安全问题查询(需要登陆),也可以在这个仓库查询其他包的安全情况:
- 中心仓库安全漏洞查询网站:https://ossindex.sonatype.org/
- 中心仓库spring-web安全查询: https://ossindex.sonatype.org/component/pkg:maven/org.springframework/spring-web
- 小版本升级:根据springboot绑定的springframework的大版本,查找小版本是否有无漏洞版本,然后升级到这个无漏洞小版本,如果本大版本下没有无漏洞版,则只能进行大版本升级
- 大版本升级:根据无漏洞版本的springframework匹配springboot版本,升级到对应的版本。
- 直接升级到最新版本
保持版本持续更新、最新是解决安全问题的最有效的办法*
springboot和springframework版本绑定关系
方法一-:到spring.io网站查询
-
方法二:到中心仓库查询
-
查询spring-boot-dependencies版本信息:https://central.sonatype.com/artifact/org.springframework.boot/spring-boot-dependencies
-
某一个具体的版本(自行修改后面的版本号):https://central.sonatype.com/artifact/org.springframework.boot/spring-boot-dependencies/3.1.2
查询spring-framework.version字段,如果不凑巧