オフラインモードのサーバーのリスク
- どのプレイヤーも管理者のプレイヤー名を使え、認証プラグインがパスワードを求めるまで、サーバーはそれを信じてしまいます。
- ボットに正規版アカウントは不要なので、攻撃者にとってボット1,000体のコストは1体と変わりません。
- BANされても、新しいプレイヤー名は無料で作れます。
- スペースやほかの文字体系の似た文字を使えば、他人のプレイヤー名になりすませます。
認証プラグインは必須
AuthMeやnLoginなどの認証プラグインは、プレイヤーに登録させ、接続のたびにパスワードを入力させます。これがないと、非正規版サーバーは管理者のプレイヤー名を知っている人なら誰でも入れる状態になります。こうしたプラグインの多くは正規版アカウントの持ち主をパスワードなしで入室させる機能があり、プレイヤーに喜ばれています。
Kordonは認証プラグインの代わりにはなりません。パスワードを見ることもチェックすることもありません。パスワード自体の守り方はパスワードの総当たり攻撃に関するガイドで説明しています。
Kordonが防ぐもの
Kordonは、プレイヤーが認証プラグインにたどり着く前に、プロキシサーバーで接続をチェックします。
- VPN、プロキシ、ホスティングのネットワークは通さないため、BANされたプレイヤーが新しいプレイヤー名で戻ってくるのが難しくなります。
- Kordonはボットの大量接続を自動で検知し、サーバーを攻撃対応モードに切り替えます。
- プレイヤー名ルールで、テンプレートで作られたボットのプレイヤー名や、キリル文字・スペースを含むプレイヤー名を遮断します。「nLogin / AuthMeと同じ」パターンはこれらのプラグイン自体のルールと一致するので、プレイヤー名が合わないせいで登録できない、ということが起きません。ただし、このパターンではプレイヤー名がドットで始まるFloodgateのBedrockプレイヤーが入室できない点に注意してください。
- ブラックリストにはプレイヤー名、アドレス、範囲を登録できます。非正規版のプレイヤーのUUIDは大文字・小文字まで含めたプレイヤー名から作られるため、UUIDでのBANは
Steveの代わりにsteveで参加するだけで回避されます。Kordonは大文字と小文字を区別せずにプレイヤー名を比較するので、非正規版サーバーではプレイヤー名でBANするほうが確実です。
ホワイトリストは慎重に
Kordonのホワイトリストに入っているプレイヤーは、VPNのチェックなしで入室できます。オンラインモードのサーバーではMojangがプレイヤー名を確認しますが、非正規版サーバーでは誰でもそのプレイヤー名を使えます。プレイヤー名によるホワイトリストの項目は、その名前で参加した人をチェックなしで入室させてしまいます。
そのため非正規版サーバーでは、スタッフをIPアドレスでホワイトリストに入れるほうが安全です。アドレスが変わる人でも、VPNを使っていなければホワイトリストに入れる必要はないかもしれません。一般回線のアドレスはいずれにしてもチェックを通ります。
スペースや似た文字を含むプレイヤー名
オフラインモードのVelocityは、ほぼどんな文字でも、最大16文字までのプレイヤー名を受け付けます。サーバーにとってSteveと末尾にスペースのあるSteve は別のアカウントですが、チャットやTabリストでは同じに見えます。英字の代わりにキリル文字の「а」「е」「о」を使った場合も同じです。
初期設定でオンになっている「Paperと同じ」ルールは英字、数字、_、ドットだけを許可するため、こうしたプレイヤー名は通りません。このルールはオフにしないでください。詳しくはプレイヤー名フィルターのガイドをご覧ください。
やることの順番
- 認証プラグインを導入し、パスワードの最小文字数を設定します。
- プロキシサーバーにKordonを導入し、1、2日ほど監視モードで様子を見ます。
- プレイヤー名ルールは「Paperと同じ」のままにします。Bedrockプレイヤーがいなければ「nLogin / AuthMeと同じ」を選びます。
- 保護レベル「バランス」で保護をオンにします。
- スタッフはプレイヤー名ではなくIPでホワイトリストに入れます。
- ルール違反者はプレイヤー名でBANします。VPNを塞いでいれば、すぐには戻ってこられません。