5. log4j2脆弱性への個人Minecraftサーバ対応について
本日(2021年12月10日)午前、Javaライブラリ「log4j2」に任意コード実行可能な脆弱性が発見されたというニュースが流れました。
【重要】バニラ、Spigot、Paperなど全Minecraftサーバーでログインに関するライブラリ「log4j2」に任意のリモートコードを実行される重大な脆弱性が発見されました。既に攻撃が始まっているとのことですので、管理者は今すぐサーバーを止め、最新バージョンにしてください。https://t.co/8EWDGwrLWI
— SaziumR (@SaziumR) 2021年12月10日
任意コード実行というのは、その端末(PC)上で実行可能なあらゆる操作を行えてしまうという状況です。
これなんですが、Minecraft Java版にも影響しているということで、非常に大きな問題となっています。
一応、公式としては対応済みでLauncherを再起動すれば自動修正されるようですが、サーバの場合はどうなのかとかイマイチ情報が錯綜しています。
というわけで、私が開いていた個人のMinecraftサーバに施した対策について紹介します。
起動オプションを追加
とりあえず、こんな情報に当たりました。
If you're running a server, please add the following JVM argument to your command line until 1.18.1 is available: "-Dlog4j2.formatMsgNoLookups=true"
— slicedlime (@slicedlime) 2021年12月10日
で、この人は誰なんですかということですが、bioによるとMojang(Minecraft開発会社)の Tech Lead らしいです。なので、情報源としてはそれなりに信頼できそうです。
「JVM起動オプションに -Dlog4j2.formatMsgNoLookups=true を追加してくれ」とのことなので、従っておきました。
ホワイトリストモードに変更
この機会にログを調査してみたのですが、招待した覚えのないプレイヤーの記録がちょこちょこ残っていました。
ログイン記録は11月ばかりで、数分も経たないうちにログアウトしていました。
適当にアドレスを打ち込んで迷い込んできた説が強いです。
確定ではないですが、今回の脆弱性はMinecraft内のチャットが攻撃源になるという情報を見ました。任意コード実行という性質上、割と妥当だと思っています。ということは、ゲームに侵入されなければ問題ないはずです。
というわけで、ホワイトリストモードに変更しました。これでだいぶ安心できそうです。
私の場合は個人サーバだったのでこの対応が取れましたが、一般公開されているサーバではそうも行かないので、もう少し情報が出てくるまで止めておいた方が安全そうです。