地理服务器-将log4j 1.2.17替换为2.15.0?

0tdrvxhp  于 2022-11-06  发布在  其他
关注(0)|答案(3)|浏览(171)

我的Web服务器上有一个使用log4j v 1.2.17(log4j-1.2.17.jar)的地理服务器。
我已经从the log4j download site下载了最新(安全?)版本(2.15.0),并对下载进行了校验和。
我现在不知道我应该尝试使用哪个.jar
我的网站上的版本名为log4j-1.2.17.jar,但下载中的.jar的名称都类似于log4j-web-2.15.0.jar
地理服务器的Web服务器为jetty(如果有区别的话)。
该怎么办呢?

py49o6xq

py49o6xq1#

从log4j v1(GeoServer使用的版本)到log4j v2(具有最新CVE的版本),在交换机中进行日志记录的方式有重大变化。虽然GeoServer不受问题中提到的RCE漏洞的影响,但使用我们确实使用的旧(和EOL)版本仍有一些小风险。
因此,作为临时缓解措施,Andrea Aime对当前log4j v1 Backbone.js 进行了分叉,删除了可能会被有权访问GeoServer计算机的攻击者滥用的网络元素。请参见https://github.com/aaime/log4j以获取您需要克隆和构建的树。这将生成一个名为log4j-1.2.17-norce.jar的新jar,您应将其替换为log4j-1.2.17.jar。现在,您可以从https://repo.osgeo.org/repository/geotools-releases/log4j/log4j/1.2.17/log4j-1.2.17-norce.jar下载预构建的jar
如果您使用GeoServer,那么您可能希望为开发人员提供帮助(或通过OSGEO foundation),以帮助支持减少项目技术债务所涉及的工作,如更新日志库。

qmb5sa22

qmb5sa223#

出于同样的原因,我自己也一直在研究这个问题,从中我可以得出,您需要根据以下内容使用log4j-1.2-api-2.15.0.jar:
也许转换为使用Log4j 2的最简单方法是将log4j 1.x jar文件替换为Log4j 2的log4j-1.2-api.jar。
source
我想指出的是,这不应该是公认的答案,但我想给予那些谁是试图掌握情况的答案。
[编辑]
看起来log4j-1.2-api-2.15.0.jar是不够的。它有助于将Geoserver迁移到新的log4j版本,同时仍然使用以前的主包,但它无法引用新的版本。因此,我还将log4j-api-2.15.0.jar添加到混合中以完成路径。
在此之后,它似乎又可以工作了,并且版本已经更新了。我可以通过使用地理服务器的api(/geoserver/rest/about/manifest.xml)来验证这一点。如果在升级之前搜索log4j,您将看到1.2.17和之后的2.15。

相关问题