【マイクラ】log4j脆弱性の確認方法!古い版のサーバーとMODパックを守る手順

砂地とたいまつが見える画面に、log4j脆弱性・古い版の確認の見出しを重ねた画像
  • 1.12.2や1.7.10のMODパックを、サーバーで今も動かしている
  • 昔のサーバー用ファイルを取っておいてあり、log4jの問題が直っているのか分からない
  • ニュースで見たLog4Shellが、マイクラのどこに関係していたのか知りたい

2021年12月、Javaの部品Log4jに見つかった欠陥が、マイクラJava版のサーバーでも問題になりました。

Mojangは見つかった当日に修正版と、古い版向けの対処を公開しています。

この記事では、Mojangの公式案内を版ごとに整理しました。

自分のサーバーがどの区分に入るかを調べて、必要な対処を終えるところまで進められます。

古い版のサーバーを数年ぶりに起動する人でも、15分ほどで確認を済ませられます。

Log4Shellとは何だったのか

Log4jは、Javaのプログラムが記録(ログ)を書くときに使う部品です。

マイクラのJava版もこれを使っていて、サーバーを動かすとlogsフォルダーにログが残ります。

2021年12月、このLog4jに見つかった欠陥がCVE-2021-44228、通称Log4Shellです。

深刻さを示す共通の指標CVSSは、満点の10.0でした。

日付出来事
2021年12月10日Mojangが公式サイトで脆弱性を告知。同じ日にJava版1.18.1を公開
修正版Log4j本体はJava 8以降向けの2.15.0で修正

Mojangの告知は、悪用されるとPCが乗っ取られる恐れがあると説明しています。

ゲーム内のチャットなど、ゲームが受け取った文字をログに書く経路が狙われました。

攻撃の具体的な方法は、ここでは扱いません。

必要なのは、自分の環境が修正済みかどうかを判断することです。

自分の環境はどれに当てはまるか

対処は、遊び方で分かれます。

遊び方必要なこと
公式ランチャーで遊ぶだけランチャーを開き直せば、修正版が自動で入る
自分でサーバーを動かしているサーバーの版ごとの対処を行う
他社のランチャーやMODパックを使う提供元が修正済みと案内しているかを調べる

公式ランチャーで遊ぶだけなら、今のランチャーを使っていれば作業は要りません。

Mojangも、起動し直すと修正版が自動で入ると案内しています。

自分でサーバーを動かすときは、公式ランチャーとは別の作業が必要です。

サーバーのファイルは自動では更新されないからです。

サーバーの版ごとに、やることを決める

サーバーの版ごとの対処。1.18は1.18.1以降へ更新、1.17は引数を足す、1.12から1.16.5と1.7から1.11.2は設定ファイルを置いて引数を足す、1.7より前は対象外

サーバーの版は、サーバー用のjarを入れたときに選んだ版です。

思い出せないときは、jarを入手したページか、MODパックの配布ページに書かれた対応版で調べられます。

版が分かったら、下の区分から1つ選んで対処します。

Mojangが示した対処は、次の3種類です。

1.18以降は1.18.1以降へ更新する

1.18を使っているなら、1.18.1以降へ更新するのが基本です。1.18.1は、専用サーバーのLog4jの欠陥を直した版として2021年12月10日に公開されました。

更新できない事情があるときは、次の1.17と同じ方法を使います。

1.17は起動コマンドに引数を1つ足す

1.17は、サーバーを起動するコマンドに次の引数を足します。javaのあとから-jarの前に入れます。

Terminal window
-Dlog4j2.formatMsgNoLookups=true

起動コマンドの例は次のとおりです。

メモリの値は、今使っている数字のままにします。

Terminal window
java -Xmx4G -Dlog4j2.formatMsgNoLookups=true -jar server.jar nogui

起動用のbatファイルやshファイルを使っているなら、その中のjavaの行に足します。

レンタルサーバーの管理画面に起動オプションの欄があれば、そこに入れます。

1.12から1.16.5は設定ファイルを置いて引数を足す

1.12から1.16.5は、2つの作業が必要です。どちらか片方では対処になりません。

  1. Mojangが配布する設定ファイルlog4j2_112-116.xmlをダウンロードする
  2. サーバーのjarがあるフォルダーに置く
  3. 起動コマンドに次の引数を足す
Terminal window
-Dlog4j.configurationFile=log4j2_112-116.xml

ファイル名は引数と同じにします。

1.12.2のMODパックのサーバーは、この区分です。

1.7から1.11.2は別の設定ファイルを使う

1.7から1.11.2も、設定ファイルを置いて引数を足します。ファイルと引数は、1.12から1.16.5とは別のものです。

  1. log4j2_17-111.xmlをダウンロードする
  2. サーバーのjarがあるフォルダーに置く
  3. 起動コマンドに次の引数を足す
Terminal window
-Dlog4j.configurationFile=log4j2_17-111.xml

1.7.10のMODパックのサーバーは、この区分です。1.7より前の版は、Mojangが影響を受けないと案内しています。

設定ファイルは版ごとに別のもの

1.12から1.16.5用のファイルを1.7.10のサーバーに置いても、対処になりません。ファイル名と引数の組が、自分の版と合っているかを見てください。

対処を済ませたら、サーバーを再起動します。

起動のたびにlogs/latest.logにログが書かれるので、エラーなく起動できたかをそこで見ます。

起動に失敗したら、足した引数を消して元の状態に戻し、綴りを見直してください。

作業の前には、ワールドのバックアップをとっておくと、設定を間違えたときも元に戻せます。

高い塔の立つ丘と森の映像に、ワールドの・バックアップの見出しを重ねた画像

【マイクラ】Java版ワールドのバックアップと復元の手順、savesフォルダーの場所つき

MODパックと他社ランチャーで調べること

Mojangが自動で直せるのは、公式のゲームとランチャーだけです。

改造したクライアントや他社のランチャーは、自動では更新されないことがあります。

Mojangは、提供元が修正済みと言っていないなら、直っていないものとして扱うよう案内しています。

MODパックを使う人が調べることは3つです。

  • 使っているランチャーやMODパックの配布ページに、Log4jへの対応が書かれているか
  • サーバーの版が、上の区分のどれに入るか
  • 起動コマンドに、その区分の引数が入っているか

古い版のMODパックは、配布が止まっていることがよくあります。

更新がない場合は、上の版ごとの対処を自分で行う形になります。

1.12.2と1.7.10は、今も遊ぶ人が多い版です。MODの選び方は、1.12.2のMODの記事と1.7.10のMODの記事にまとめています。

入れるMOD自体の安全も、サーバーを守るうえで欠かせません。

入手先の選び方は、別の記事で説明しています。

水辺に置いたビーコンが見える画面に、MODの安全・入手先と確認の見出しを重ねた画像

【マイクラ】MODのウイルスと偽MODを避ける!安全な入手先と確認手順

今から遊ぶなら現行版が一番手間がない

この修正は2021年12月に出たもので、1.18.1以降の版には入っています。

今から新しくサーバーを立てるなら、現行版を選べば引数や設定ファイルの作業は要りません。

古い版は、MODの都合や思い出のワールドを遊びたいときに選ぶものです。

その場合は、上の手順を終えてから友達を招待してください。

版ごとの違いは、版の歴史の記事で整理しています。

Cave Gameの試作版で、草地に掘った穴の底に丸石が見える画面に、バージョン歴史・2009年から26.xの見出しを重ねた画像

【マイクラ】バージョン歴史の年表、2009年のrd-132211から26.xまでの流れ

よくある質問

Qランチャーを更新したら、自分のサーバーも直りますか?
A

直りません。ランチャーが更新するのは自分のクライアントだけです。サーバーのファイルは自分で更新するか、版ごとの引数と設定ファイルで対処します。

Q1.12.2のサーバーは、引数だけ足せば足りますか?
A

足りません。1.12から1.16.5は、設定ファイルをサーバーのjarと同じフォルダーに置き、その名前を指定する引数も足す必要があります。

Q1.6以前のサーバーも対処が必要ですか?
A

必要ありません。Mojangは、1.7より前の版は影響を受けないと案内しています。

まとめ:サーバーは版を決めて、対応する対処を済ませる

Log4Shellは、2021年12月10日にMojangが公式に告知した、Java版の重大な欠陥でした。公式ランチャーは自動で直りますが、自分で動かすサーバーは対処が必要です。

  • 1.18以降は1.18.1以降へ更新する
  • 1.17は引数-Dlog4j2.formatMsgNoLookups=trueを足す
  • 1.12から1.16.5と1.7から1.11.2は、版に合う設定ファイルを置いて引数を足す
  • MODパックと他社ランチャーは、提供元の対応を調べ、書かれていなければ自分で対処する

まず、自分のサーバーの版を1つ決めてください。対処を済ませれば、1.12.2や1.7.10のMODパックで、友達を招待して遊べます。