MinecraftサーバーでDDoSされて荒らされた話

マイクラ鯖を運営している方はもちろん公開サーバーなどに参加したことがある人はほとんど聞いたことのあるであろう「荒らし」についてとその後日談をお話したいと思います。

経緯

この記事を書くきっかけとなったことは私の運営しているマインクラフトサーバーが荒らされ、その後起こった出来事を皆さんにお話しすべきと考えたからです。この記事を読んで少しでも荒らしの被害が少なくなってほしいという願いも込めて皆さんにお伝えいたします。

はじまり

ことの発端は2024年1月いつも通りマインクラフトサーバーを運営していました。しばらくして参加者からXにとあるDMが…
確認してみると「サーバーに参加したところ、いつものhubサーバーに入ったら無限に奈落に落ちてしまう」というものでした。
通常そんなことはありえないので(スポーン地点のバグかな…?)と思い一度様子を見に行くことにしました。

衝撃と絶望

様子を見るためにサーバーに接続して目に入ったものはつい昨日まであった美しいhubサーバーの光景ではなく、限りなく荒らし尽くされた悲惨な光景でした。
運悪く当時は新規運営を開始したばかりでサーバー自体のバックアップは取っておらず、ワールドの元データから建築物を抽出して再構築するという手段を用いて復旧をする羽目になってしまいました。

束の間の安堵

サーバーのワールドの元データを抽出し、再構築を終えて荒らされても復旧ができるプラグインであるCoreProtectを導入し、しばらく荒らしなどの被害もなかったため私は一安心していました。
しかし、荒らしは突然やってきます。束の間の安堵の後、久しぶりにサーバーの様子を見に行こうとして接続しました。

再びの悲劇

前回の荒らしから一か月ほど荒らしがなかったため安堵していたのも束の間に、なんと再度荒らされていたのです。
この時はすでにCoreProtectを導入していたので(まぁ復旧は簡単だろう…)と考えていたのですが、それは安直でした。

重なる悲劇

CoreProtectのロールバックコマンドを使用しておそらく荒らされる直前であろう4時間ほど前の状態に復元しました。
しかし、ここで思わぬ悲劇が襲い掛かりました。それは、CoreProtectで復元はできたものの、フェンスや板ガラスなどのブロックの配置がおかしくなってしまったのです。ブロック自体の場所はあっているものの、向きがそろっていなかったりと配置がめちゃくちゃになってしまいました。
なんとか手動でブロックの置き換え等を行い、元の配置にすることができたものの、(もし次荒らされたら…)と考えると震えが止まりません。

対策

このようなことがあったとMinecraftの鯖主たちが集まるコミュニティーで報告をして、「何かいい対策はないか」と質問をしたところ、有力な対策案を得ることができました。
今回そして前回の荒らしはおそらくOP Hackによるものなので以下のような対策をすればよいとの回答をいただきました。
1.バックエンドのPaperサーバーのserver.propertiesの項目「server-ip=」を「server-ip=0.0.0.0」に変更
2.Paperサーバーの「config」ディレクトリの「paper-global.yml」の項目「proxies:」の「velocity:」にて「enabled: 」と「online-mode:」を「true」に、「secret: ”」をVelocityの「forwarding.secret」の中身に記載されているシークレットキーに変更
以上の設定でOP Hackなどを防ぐことができるようになりました。

DDoSされた話

OP Hackなどの荒らしの対策も済んで、しばらくは安心していました。
しかし、3月ぐらいにとあるMirrativ配信者の方にサーバーを、具体的にVelocity(プロキシサーバー)とバックエンドに2つのPaperサーバーを貸し出して企画運営にも参加し始めたころ、毎回その方が配信を始めると極端に回線落ちや、突如としたONUの再起動などネットワークの不具合が相次いで発生し、原因もわからずに途方に暮れていました。
ふと自鯖のCPUやメモリの使用率を見ていたところ、配信開始してから数分から数十分後にトラフィック量が異様に増加していたことが発覚し、ここで(これDDoS打たれてるんじゃね?)と気が付きました。

後日談

DDoS打たれてることに気づいた後も何度かMirrativ配信者の方の配信の際に鯖に負荷がかかっており(これはまずいなぁ…)と思い、(ここで説明すると対策の内容がバレてしまう可能性があるので解説はできませんが)とある方法でDDoS対策をしました。

Tags:

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です