当前位置:首页 > Minecraft教程 > 正文

关于Minecraft的Log4j 2所导致的服务器入侵风险及解决办法

——介绍——

Log4j 2 远程代码执行漏洞风险通告

Apache Log4j 2 被披露出存在潜在反序列化代码执行漏洞,漏洞被利用可导致服务器被入侵等危害。这正是Minecraft所采用的日志工具。

——影响版本——

Apache log4j2 >= 2.0, <= 2.14.1

Minecraft 全版本所有系列服务端,除Mohist 1.18外。

所有包含 Apache log4j2 2.0-2.14.1 版本依赖库的服务端(? 至 Minecraft 1.18)

https://github.com/apache/logging-log4j2/commit/d82b47c6fae9c15fcb183170394d5f1a01ac02d3

——修复建议——

一般技术力的服主可暂时关闭服务器,尽快打包上云备份完整服务端,待所使用的服务端修复该漏洞后及时更新服务端。

高技术力服主可使用如下官方临时补丁进行修复:

https://github.com/apache/loggin ... ag/log4j-2.15.0-rc1

或采取以下临时缓解措施:

1.拦截包含“jndi:”、“ldap:”、“rmi:”的恶意请求。

2.临时关闭log功能。

可参考所有包含 Apache log4j2 2.0-2.14.1 版本依赖库的服务端(? 至 Minecraft 1.18)

https://github.com/apache/loggin ... 170394d5f1a01ac02d3

可能的攻击方式

黑客通过在聊天栏输入关键字触发

可以导致的后果

远程代码执行

临时修复方案

手动替换 log4j2 为 2.15.0-rc1

log4j-core: https://repository.apache.org/co ... 211209.094358-2.jar

log4j-api: https://repository.apache.org/co ... 211209.094358-2.jar

禁用 LDAP 端口(TCP/UDP 386/636)

在哪修改

.minecraft\libraries\org\apache\logging\log4j\log4j-core

如何禁用端口

通过Windows防火墙禁用端口:

1、点击 “控制面板-Windows防火墙”,确保启用了Windows防火墙。. 在左边栏点击“高级设置”,系统会自动弹出Windows防火墙高级配置窗口。

2、点击“入站规则”,然后再点“新建规则…”,在向导窗口中选择要创建的规则类型,这里选“端口”,点击“下一步”。

3、接下来选择你要禁用的网络类型(TCP或者UDP),在“特定本地端口”写入你要禁用的端口,例如“445”,然后下一步。. 选择“阻止连接”,下一步,应用规则看情况修改,可以维持不变,继续下一步,填写名称“禁用445端口”,点击完成。.

4、到这里应该就完成了,默认情况下新建的规则会直接启用。 如果没有,那么右键 “启用规则”即可。(摘自百度)办法——

——修复建议——

解决办法二

关于Log4j CVE漏洞的修复方法

尝试删除服务端.jar文件下的org/apache/logging/log4j/core/lookup/JndiLookup.class

——CatServer修复版——

登录下载

——修复建议——

将apache快照仓库加入到maven

<repositories>

  <repository>

    <id>apache.snapshots</id>

    <name>Apache Snapshot Repository</name>

    <url>https://repository.apache.org/snapshots</url>

    <releases>

      <enabled>true</enabled>

    </releases>

  </repository>

</repositories>

——修复建议——

其他临时缓解措施:

1. 禁止没有必要的业务访问外网。

2. 设置jvm参数 “-Dlog4j2.formatMsgNoLookups=true”

3. 设置“log4j2.formatMsgNoLookups=True”

4. 系统环境变量“FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS”设置为“true”

【备注】:建议您在升级前做好数据备份工作,避免出现意外漏

——LoliServer发布的补丁——

登录下载

——腾讯云公告通知——

https://cloud.tencent.com/announce/detail/1692

——修复建议——

日志库 Log4j2 存在远程任意代码执行漏洞

可以下载  https://baiyaodao.lanzouw.com/iCGGRxfqbsd 

并重命名替换 libraries\org\apache\logging\log4j\log4j-core\版本\xx.jar

——来自MCBBS的修复建议——

手把手教你修漏洞™

对于 1.18 的所有服务端(Vanilla,Spigot,Paper等)

有校验,不好改,等修复(有兴趣的话可以前往服务端核心中的 META-INF/libraries.list 文件,修改 log4j 相关的三个 jar 路径及其 SHA256 签名,然后将新的 jar 导入 librararies 文件的指定目录)

对于 1.18- 的 除 Paper(及其下游)服务端

使用压缩软件打开服务端核心和log4j-core,删除前者 org\apache\logging\log4j\core 文件夹,将后者同样路径中的 core 文件夹替换进去;然后删除org\apache\logging\log4j下的其他文件,将 log4j-api 中同名目录的所有文件替换进去即可

对于 1.18- 的 Paper 服务端

有校验,不好改,等修复(同样,有兴趣的话可以前往 paperclip 中的 patch.properties 文件,替换 originalHash 和 patchedHash 的哈希值为修改过后的 mojang_X.X.X.jar 和 patched_X.X.X.jar 的哈希值)

服务端核心修复跟踪

CatServer 声明其最新构建(21.12.10)已修复此漏洞(https://github.com/Luohuayu/CatServer/commit/9c1e882fb56ffd56fbb85429c09733dcd512ebec)

Paper 声明其 1.17.1(#398) 和 1.18(#64) 分支最新构建已修复此漏洞

1.17.1:https://github.com/PaperMC/Paper/commit/244b392f390afa7a4880e2207c7358fe195bd431

1.18:https://github.com/PaperMC/Paper/commit/b475c6a683fa34156b964f751985f36a784ca0e0

——结语——

以上内容均为网络整合,不确保完全可靠性,仅供参考,有些内容或有重复,请担待

0
您需要 登录账户 后才能发表评论

发表评论