【ポート開放は危険?安全?】マインクラフトサーバーに関する話

f:id:riminosu13:20201116171751p:plain
ポート開放は、ネットワークなどの外部から他人が接続できるように通り道を作成することです。
マインクラフトやその他のゲームで、サーバーを建てて他人が参加できるようにするためにポート開放を行います。
この記事では、ポート開放危険なのか安全なのかを考えていきたいと思います。

ポート開放とは

ポートとは

f:id:riminosu13:20201116185359j:plain
ポート0~65535まであり、ネットワーク送受信を行うための出入口の役割を果たしています。
一般的に、ポートルーターで管理することができ、ポートを開放するかどうかを設定できます。

ポート開放とは

f:id:riminosu13:20201116193606j:plain
ポート開放とは、ポートを開けてそのポートでネットワーク送受信を行えるようにすることです。
Minecraftの場合、初期設定でポート番号25565を使用して通信を行います。
そのため、25565のポートを開けることによりサーバーに他のプレイヤーが参加できるようになります。

※「ポート開放」という言葉はあまり正確ではなく、「ポート転送設定」の方が表現方法としては良いです。ポート転送(Port forwarding)設定しているのでそういった表現になります
しかし、「開放」と書いた方が感覚的にも捉えやすいので「開放」でも全く問題ありません。
また、この記事では「ポート開放」と記述します。

危険か安全か

危険性

結論から言うと安全です。

よく、ポート開放の危険性は0ではないという話を聞きます。
これは正しいのですが、不安を煽るような言い方でポート開放の敷居を上げているような気がします。

確率の話をすればすべてのマルチプレイ方法において危険性は0ではありません。

わざわざVPN構築ソフトを使用して低速かつ全員がVPNに参加必要なマルチプレイをするより、ポート開放をして高速かつ参加者の負担がゼロなマルチプレイをするべきなのは周知の事実。

ポート開放99.9.....%の確率で危険性はありません。
残りの0.00.....1%を気にしてポート開放をしないのはとても勿体無いです。

よくある勘違い

ウイルスに感染するかも
ハッキングされてデータが抜き取られるかも

これらは宝くじに当たったと同時に隕石が自分に直撃するくらいの確率で起きません。

f:id:riminosu13:20201116205931j:plain
そもそもポート開放をしても、開放したポートはそのポートを必要とするアプリケーションとしか通信できません。
つまり、25565のポートを開放した場合、25565のポートはMinecraftサーバーとでしか通信が行われず、他のアプリケーションには影響を及ぼさないということです。

他のアプリケーションに影響を及ぼすのはMinecraftサーバーの脆弱性をつくことで一応可能です。(脆弱性とはプログラム上の不具合や設計ミスのこと)
しかし、他のアプリケーションを操作できるほどの脆弱性は存在するか分かりませんし、仮にあったとしてもMinecraftサーバーの更新で脆弱性は修正され続けます。
また、他のアプリケーションを操作できたところで、Minecraftサーバーを経由して別のアプリケーションを操作してそのアプリケーションを使ってetc...のように入れ子状態の中で作業するため、ハッキングは困難を極めます。
また、今のところそのような脆弱性は見つかっていないので、ウイルスに感染したり、ハッキングされる確率はほぼゼロです。

気を付けること

Minecraftサーバーの更新

脆弱性がつかれることのないように、きちんとMinecraftサーバーの更新を行いましょう。

IPアドレスの扱い

そもそもIPアドレスを知られていなければ、ポート開放の有無に関わらず不正なアクセスをすることはできません。
友人や知人としかマルチプレイしない場合、参加する人のみにIPアドレスを伝えるようにし、公の場には公開しないようにましょう。(IPアドレスはサーバーに参加するのに必要です。)

不特定多数の人向けにサーバーを作る場合のDDoS対策

ポート開放とあまり関係ないですが、公の場にIPアドレスを公開することによってDDoS攻撃と呼ばれる嫌がらせを受けることがあります。
DDoS攻撃とはサーバーに過度な負荷を与え、動作を重くし、最悪の場合動作を停止させる行為のことです。単体での攻撃場合、Dos攻撃と言ったりします。)

一応DDoS攻撃にも気を付けておきましょう。

対策としては、
TCPShieldを使用する。無料。プラグインを使用。超おすすめ。
(The Breakdownさんが分かりやすく紹介&使い方を説明してくれている https://www.youtube.com/watch?v=mJHgbR6hK3A
Cloudflareを使用する。有料。(HypixelサーバーやCurseForge.comもこれを使用)
などがあります。