プロキシサーバーとバックエンドを守る
ネットワーク構成では、プレイヤーは必ずプロキシサーバーを経由して入るようにします。バックエンドのサーバーのポートがインターネットに開いていると、誰でも直接参加でき、プロキシサーバーのチェックをすべて回避できます。さらに、バックエンドがBungeeGuardなしの通常のBungeeCord転送を使っている場合は、管理者を含むどの名前でも参加できてしまいます。
- バックエンドのサーバーを127.0.0.1かプライベートネットワークにバインドするか、ファイアウォールでポートを閉じて、プロキシサーバーからだけ接続できるようにします。
- Velocityで1.13以降のバックエンドを使う場合は、modern方式のプレイヤー情報転送を使い、各Paperバックエンドの設定に同じforwarding secretを入れます。1.8から1.12のバックエンドでは、BungeeGuardプラグインとbungeeguard転送モードを使います。
- BungeeCordでは
ip_forwardをオンにしてBungeeGuardを追加し、バックエンドが設定したトークンを持つ接続だけを受け付けるようにします。 - 認証プラグインを使うオフラインモードのサーバーでない限り、プロキシサーバーのオンラインモードはオンのままにします。
サーバーとプラグインを最新に保つ
PaperとVelocityの新しいビルドでは、パケット1つでサーバーをクラッシュさせるものを含め、エクスプロイトが定期的に修正されています。サーバーソフトウェアとプロキシサーバーを更新し、使わなくなったプラグインは削除してください。プラグインはどれも、サーバー上で全権限を持って動くコードです。
プラグインは、Hangar、Modrinth、SpigotMC、作者のGitHubなど、正規の配布ページからだけダウンロードしてください。有料プラグインの流出版は、サーバーにバックドアが仕込まれる最もよくある経路の1つです。
権限とop
公開サーバーでは誰にもopを与えないでください。LuckPermsなどの権限プラグインを使い、各ロールに必要なものだけを与えます。
*やessentials.*のようなワイルドカード権限には注意してください。コンソールコマンドの実行、アイテムの付与、権限の変更ができるコマンドが含まれていることが多く、モデレーターのアカウントを乗っ取った人がコンソールとほぼ同じ権限を握ることになります。
チームを離れた人の権限は、その日のうちに外してください。
スタッフのアカウントを保護する
オンラインモードのサーバーでは、スタッフのアカウントはMicrosoftアカウントです。スタッフにはそのアカウントで強力なパスワードと二段階認証を使ってもらってください。
オフラインモードのサーバーでは、アカウントを守るのは認証プラグインのパスワードだけです。スタッフのパスワードは長く、ほかでは使っていないものにし、認証プラグインが対応していれば二段階認証をオンにしてください。詳しくはパスワードの総当たり攻撃をご覧ください。
スタッフのアカウントがどこから接続しているかを時々確認してください。新しい国やプロバイダーからの接続があれば、本人に確認したほうがよいでしょう。
使わないものは閉じる
- RCONを使うと、ネットワーク越しにコンソールを完全に操作できます。必要がなければ
enable-rcon=falseのままにし、使う場合は長いパスワードを設定して、ファイアウォールで自分のアドレスだけを許可してください。 - 必要がなければ
enable-queryをオフにします。 - パネル、データベース、SSHのポートは、必要なアドレスにだけ開けておきます。
バックアップ
ワールドとプラグインのデータのバックアップはサーバーのマシンの外に保管し、復元できるかを時々確認してください。同じディスク上のバックアップは、マシンが壊れたときやホスティングのアカウントを乗っ取られたときには役に立ちません。
DDoS、ボット、VPN
DDoS攻撃は通信がMinecraftに届く前の段階でネットワークをあふれさせるため、どのプラグインでも止められません。止めるのはホスティング会社かネットワーク保護サービスです。DDoSに対してプラグインにできること、できないことをご覧ください。
ボット攻撃、VPNの利用者、BAN回避は実際の接続としてやって来るので、プロキシサーバーで止めます。Kordonのようなアドレスのチェックと、クリーンなアドレスから来るボットにはSonarのような検証プラグインを使います。VPNをブロックする方法とボット対策プラグインの比較をご覧ください。
チェックリスト
- バックエンドにはプロキシサーバーからだけ接続でき、IP転送はsecretかBungeeGuardつき。
- サーバー、プロキシサーバー、プラグインを更新済み、使わないプラグインは削除済み、流出元からのものはなし。
- 公開サーバーでopなし、ロールには必要な権限だけ。
- スタッフのアカウントは強力で使い回していないパスワードと二段階認証つき。
- RCONとqueryはオフか、自分のアドレスだけに制限。
- バックアップはマシンの外にあり、復元を確認済み。
- DDoS対策はホスティング会社、ボットとVPNの対策はプロキシサーバーで。