spring整合log4j,log4j2日志路径配置
Apache Log4j是世界知名的开源日志组件,它揭示了攻击者能够远程执行恶意代码的严重、高风险的远程代码执行漏洞。 据阿里巴巴云(AlibabaCloud )通报,Apache Log4j2的一些功能具有递归解析功能,攻击者可以直接构建恶意请求,导致远程代码执行漏洞。
12月7日,该漏洞被游戏平台的Minecraft用户在网上公布。 据悉,黑客还可以输入操作日志消息、聊天消息。 此外,还可以在Minecraft服务器端执行恶意代码。 Apache log4j于7日当天发布2.15.0-rc1版以修复漏洞,随后由AlibabaCloud (阿里巴巴云)、斗象科技、绿盟科技、默安科技、奇安信等安全厂商发布危害通报
当前受漏洞影响的主要是Apache log4j2. x=log4j-2.15.0-rc1的版本,在用户使用Apache Log4j2处理日志时,漏洞会特别处理用户输入的内容,攻击者会特别处理Apache Log4j2
要确定是否受影响,开发人员只需检查Java APP应用程序中是否引入了两个jar文件: log4j-api和log4j-core,如果存在,应立即进行安全故障诊断并采取防护措施
如果我们的项目是基于maven的spring boot项目。 可以检查项目依赖是否存在log4j-api、log4j-core依赖关系。
目录
1 .打开从属树
查看log4j-api依赖
排除log4j-to-slf4j
排除log4j-api
5 .消除依赖的代码
1 .打开从属树
我们发现我们引用的log4j-api是2.13.3版本。
查看log4j-api依赖
发现log4j-to-slf4j依赖log4j-api。首先排除log4j-to-slf4j,引入最新版试试
排除log4j-to-slf4j
发现引入的log4j-api仍然是2.13.3版本。 那么,排除log4j-api,引入最新版。
排除log4j-api
发现引入的log4j-api的最新版本为2.15.0版本。 成功。
打包项目后,检查lib中的jar版本:
5 .消除依赖的代码! 消除log4j-api,最新的log4j-API---- dependencygroupidorg.spring framework.boot/groupidartifactidspring-boot-starterted artifactidexclusionsexclusiongroupidorg.Apache.logging.log4j/groupidartifactidlog 4j-to-slf4j/artifact id/exclusion ependencydependencygroupidorg.Apache.logging.log4j/groupidartifactidlog 4j-to-slf4j/artifactidexclusionsexclusiongroupidorg.Apache.logging.log4j/groupidartifactidlog 4j-API/artifact id/exclusion/exclusion ependencydependencygroupidorg.Apache.logging.log4j/groupidartifactidlog 4j-API/artifactidversion2. 15.0