"Minecraft Log4j" 这几个词曾让玩家和服务器管理员都感到真切的恐惧。当 Log4j 漏洞(臭名昭著的 "Log4Shell")首次曝光时,这个严重的安全缺陷已经悄然影响了无数基于 Java 的应用程序,对 Minecraft 社区造成了特别严峻的威胁。为什么说是切身威胁?因为 Minecraft:Java Edition 依赖于自定义的自托管服务器,这意味着修补这个漏洞的重任完全落在了你这样的专属服务器所有者肩上。
在这份指南中,我会带你走一条清晰、务实的路线来保护你的游戏服务器。我们不仅会应对之前的 Log4j 漏洞,还会教你更广泛的防护策略,确保玩家在一个真正安全舒适的环境中游玩。

Log4J是什么?
Log4J 是一个开源日志软件,专为使用 Java 框架开发的应用程序设计。几乎所有用 Java 编写的大型应用都在某种程度上使用 Log4J。这意味着很多知名厂商都要紧急发布应用程序的安全更新和补丁。 Minecraft 也不例外,更糟糕的是,Log4J漏洞在Minecraft中似乎更为严重,或者说这个"漏洞利用"在针对Minecraft时效果尤为显著。该漏洞仅影响Minecraft: Java版,其他版本不受影响。然而,Java版正是用于自建Minecraft服务器的版本。那么,Log4J漏洞究竟是什么?
Log4j Minecraft 漏洞并不是 那个 简单来说,详细解释它的原理并不能帮助你更好地防范它,所以我们直接来了解一些基础知识,帮助你作为 Minecraft 服务器所有者掌握应对方法。Minecraft 中的 Log4J 漏洞属于"零日"漏洞,也就是说在被发现之前没有人知道它的存在,这也是它危害如此严重的原因。如今各大公司已经发现了这一漏洞,可以迅速修复并自动更新其应用程序。当然,总会有一些用户未能及时获取必要的补丁,或因其他原因仍然面临攻击风险。Minecraft 服务器尤其容易出现这种延迟修复的情况,因为仅靠自动更新对 Minecraft 托管来说是不够的。不过这并不需要过于担心,保护你的 Minecraft 服务器其实并不复杂。只要按照下面我将介绍的几个简单步骤操作,就能快速解决问题。我们来看看具体步骤。

Minecraft 自托管是什么?
我之前提到过,如果你自己托管 Minecraft VPS 服务器,Log4J 的 Minecraft 漏洞会造成更严重的问题。但自建 Minecraft 托管到底是什么意思呢?它跟在线运行有什么区别?为什么风险更高?为了说清楚这一点,我来解释几个基本概念。读完后,检查一下是否适用于你的情况,以及你是否需要采取措施来保护你的计算机和 Minecraft 的安全。
首先,你需要知道你是自己托管 Minecraft 游戏,还是使用 Minecraft Realms。当然,如果你已经向第三方托管服务商(比如 Cloudzy 的 Minecraft VPS 并在自己的服务器上安装了 Minecraft,那你确实是在自建服务。
其次,Minecraft Realms 是 Mojang 官方的订阅式服务器托管服务。它为你和最多十位朋友创建私密在线世界而设计,开箱即用,简单易行。Mojang 负责所有技术后端工作,包括服务器设置、维护和安全更新,你无需担心手动修复 Log4j 漏洞等问题。

为什么 Minecraft 自托管更容易受到 Log4J 错误的影响?
自建 Minecraft 游戏虽然设置更复杂,但依然很受欢迎,理由很多。Actual,任何形式的远程游戏托管都是如此,包括 VTT 桌游。
Log4j 漏洞带来的威胁主要针对自托管 Minecraft 服务器,主要原因是 直接所有权 和 通过定制化提升产品曝光度。与 Realms 不同,服务器所有者必须自己修补漏洞。遗漏一个补丁就意味着服务器完全暴露在风险中。这些服务器直接暴露在互联网上,加上自定义插件/模组的存在,增加了更多的安全隐患,因此吸引了恶意攻击。

如何在 Minecraft 服务器上修复 Log4J?
首先,你需要检查服务器上运行的 Minecraft 版本。Log4J 漏洞只影响 Minecraft 1.7 及更高版本,如果你用的是 Minecraft 1.6,就不用担心。最好的办法是将 Minecraft 升级到 1.18.1 版本,该版本已修复这个问题。如果无法升级,按照下面的步骤操作即可。这些步骤针对你服务器上安装的 Minecraft 版本而定。
Minecraft 1.7 – 1.11.2 的步骤
- 下载 XML 文件: 获取 log4j2_17-111.xml 来自 Mojang 的文件。
- 放置: 将此 XML 文件放在服务器的工作目录中(即 server.jar 是).
- 启动命令: 添加 -Dlog4j.configurationFile=log4j2_17-111.xml 到你的服务器启动命令。
Minecraft 1.12 – 1.16.5 的步骤
- 下载 XML 文件: 获取 log4j2_112-116.xml 来自 Mojang 的文件。
- 放置: 将此 XML 文件放在服务器的工作目录中。
- 启动命令: 在服务器的启动命令中添加 -Dlog4j.configurationFile=log4j2_112-116.xml。
Minecraft 1.17 步骤
对于 Minecraft 1.17.x,有一个更简单的缓解方案,无需外部 XML 文件:
- 启动命令: 启动命令:在服务器启动命令中添加 -Dlog4j2.formatMsgNoLookups=true 即可。
Minecraft 1.18 的步骤
对于 Minecraft 1.18,最理想的解决方案是升级到 1.18.1 版本。但如果无法立即升级,可以先应用临时缓解措施:
- 升级: 升级到 Minecraft 1.18.1。
- 启动命令: 如果无法升级,可以临时使用 -Dlog4j2.formatMsgNoLookups=true 作为解决方案。

方式 获取 Minecraft 服务器
好的,现在我们来说说你具体能做什么 内部 你的 Minecraft 服务器可以防止问题发生,确保一切顺利运行。把这些想象成你服务器的专属保镖和防护盾牌吧!
1. 允许白名单:
对于私人服务器(比如仅供你的朋友使用),在 server.properties 文件中启用白名单。这样只有你明确添加到白名单中的玩家才能加入,从而防止不速之客。
2. 使用服务器盾牌(通过 BungeeCord/Velocity 等代理服务器):
将这些视为服务器的"后门"。它们能够对外隐藏主服务器的真实 IP 地址,而这正是 Minecraft DDoS 保护-这样恶意程序就无法直接攻击你的主服务器!
3. 谨慎分配权限(使用 LuckPerms 等权限管理系统)
把这想象成你服务器的规则手册。用一个功能强大的权限插件来控制玩家可以做什么和不能做什么。 永不 将OP权限授予一个随机玩家。
4. 列出安全辅助工具(实用插件/扩展):
好的插件能让服务器更加安全。反作弊是第一道防线,反破坏和回档功能在其基础上进一步保护玩家的建筑。对于离线服务器,登录安全至关重要,需要密码保护。
5. 保护您的控制面板(RCON 和 SSH):
除了常规网关,这些是专为您保留的特殊后门,只有您可以用它们来管理服务器。只允许您的确切 IP 地址访问它,把它看作是 VIP 专用入口!

结论
保护 Minecraft 服务器是一个持续的过程,需要关注和明智的管理。通过更新软件、配置启动标志以及使用白名单、代理和权限插件来强化防御,你可以为你的社区打造一个安全可靠的数字家园。这些步骤是提供真正 安全的 Minecraft 服务器托管,确保你的玩家能够安心地构建和探索。