解决项目中log4j版本漏洞
解决项目中log4j版本漏洞
前言:作为程序员应该都知道最近log4j出现的漏洞问题,讲一讲我所在的公司,其实领导在log4j被爆出存在漏洞的当天就在群里说了这个事,并且让我们把自己负责的系统都检查一遍,有使用到log4j存在漏洞的版本都要进行更新(因为有些版本还没爆出存在安全问题),但是当时都没什么人去注意,结果直到上周末,我们组负责的一个缴费系统出现不能缴费的情况,才发现是中了病毒。然后领导们开始极度重视,专门安排人监督我们来更新log4j版本。
废话不多说了,讲一下我负责的系统更新方式:
- 首先,一般公司都是有自己的maven库的,这种就需要公司安排整个maven库的log4j版本的更新。
- 第二就是检查自己项目中的pom文件,有没有引入涉及到存在风险的log4j版本的依赖,其实如果是直接引入的log4j依赖倒是好经排查,但就是担心其他的依赖中也会存在对log4j的引入。
下面根据springboot项目进行进行对log4j以及log4j-api版本的排除和更新。
-
查看log4j官网那些版本有漏洞,那些版本是安全的。
-
打开pom文件查看有无引入log4j的依赖,有引入的话,就看它的版本在不在风险范围内,在就更新版本。
将log4j升级到2.17.0版本;
-
在External Libraries中搜索log4j关键字(全局检查是否还存在log4j的危险版本)
可以看到项目中还存在 log4j-api、log4j-core、log4j-to-slf4j 这些依赖。在这里我们只是全局的查看是否还存在log4j的漏洞版本。确定有之后我们就要去maven中继续一个个依赖的检查,看那个依赖中还引入了log4j的。
-
在maven栏中检查每个依赖中是否还引入了log4j的;
我们把所有依赖都展开时候,会发现其实很多依赖中其实都引入了log4j了的。但是我们不可能在引 入的依赖中去更新log4j的。
-
在pom文件中找到引入了log4j的依赖,然后将其排除掉,再重新引入新的对应的log4j依赖; 全部检查完之后,刷新一下maven,然后再根据上面的步骤再检查一次,确保所有的log4j版本都更新了。 在我们打包项目之后其实也可以查看一下我们的jar包或者war中引入的所有依赖。 这样就可以放心的部署项目了。
总结:任何东西都是值得记录一下的,尽管这个漏洞已经公布了好久了,也算是自己的日常积累;maven也是作为程序员很重要的东西,值得学习的地方确实也很多,更多maven的知识再慢慢的学习积累,一步一步来,不早了,明天加油!!
