\当サイト対応のゲームサーバー/
【FiveM】txAdminをサーバー攻撃から保護する方法を紹介!【Cloudflare Tunnel】
当記事にはアフィリエイト広告が含まれています。
2023年10月1日より施行された景品表示法の指定告示(通称:ステマ規制)によって、広告を掲載しているサイトやメディア、SNS内に、読者が認識できるような表記が必須となりました。
当サイトにおいても景品表示法に則り、冒頭に表記するようにしていますので、ご理解の上、ご覧いただけますと幸いです。
当記事にはアフィリエイト広告が含まれています。
2023年10月1日より施行された景品表示法の指定告示(通称:ステマ規制)によって、広告を掲載しているサイトやメディア、SNS内に、読者が認識できるような表記が必須となりました。
当サイトにおいても景品表示法に則り、冒頭に表記するようにしていますので、ご理解の上、ご覧いただけますと幸いです。

FiveMサーバーを運用していてこんなお悩みはありませんか?
「突然、txAdminの動作が重くなった」
「サーバーは起動しているのにtxAdminに繋がらない」
これらの原因は、txAdminに悪意を持ったユーザーによるサーバー攻撃の可能性があります。
「え、サーバー攻撃??どうやって対策すればいいの?」と悩む方が多いと思います。
過去にサーバー攻撃によるトラブルで筆者に問い合わせが来たこともあります。
今までは、スグできるサーバー攻撃対策の有料サービスを紹介していましたが、実は手順さえ踏めば、無料でも対策する方法があるので、それを皆さんに紹介したいと思います。
なるべく初心者の方でも、理解しやすいように手順を解説していくので、真似していただければと思います。
この記事では、txAdmin(ポート40120)の保護はされるが、サーバー接続(ポート30120)の保護がされるわけではありませんので、予めご注意ください。
目次
サーバー攻撃とは
まず、サーバー攻撃を対策する上で、少なからずサーバー攻撃について、ある程度知っておいた方が良いと思うため、簡単に説明します。
世間で言われているサーバー攻撃とは、DoS攻撃やDDoS攻撃が当てはまると思います。
- DoS攻撃とは
-
DoS攻撃は、1つのデバイスから、特定のサーバーやサービスに対して、大量のデータを送ることで負荷をかけて、サーバー等をダウンさせてしまう攻撃のことです。
F5アタック(ページ更新)もDoS攻撃の一種なので、例えば、チケット抽選サイトになかなか繋がらないからと、ページ更新をしまくるのはやめましょう!
- DDoS攻撃とは
-
DDoS攻撃は、多数のデバイス(何百~何万台)をマルウェアやウイルスなどで乗っ取って、全て同時に特定のサーバーやサービスに大量のデータを送ることで大規模な負荷をかけて、サーバー等をダウンさせてしまう攻撃のことです。
規模が大きければ大きいほど強力な攻撃であるため、対策はなかなか困難であり、完璧な対策はほぼ不可能なレベルです。
サーバー攻撃を行うことは、刑法第234条の2第1項の電子計算機損壊等業務妨害罪等に該当し、5年以下の懲役等に処される可能性があります!
他にも攻撃の種類はありますが、ゲームサーバーの多くは「DoS攻撃」と「DDoS攻撃」による被害が多い傾向にあります。
どのように対策するべきか
攻撃者は対象のパソコンやサーバーのIPアドレスを取得し、攻撃先として指定して単独もしくは複数同時にサーバー攻撃を行います。
DoS攻撃なら単独犯なので、攻撃元のIPアドレスをブロック等で対策することは容易ですが、DDoS攻撃は桁違いの攻撃になるので、IPアドレス制限では手に負えません。
そこで、ゲームサーバーではリバースプロキシを用いて、対策するのが有効的な手段として挙げられます。
リバースプロキシとは
リバースプロキシとは、接続者(ユーザー)とサーバー本体(FiveMサーバー)の間に位置するサーバーのことで、接続者から受け取った情報をサーバー本体に受け渡すという中継サーバーの役割になります。
最大のメリットとして、サーバー本体に不正アクセスやサーバー攻撃等を通さないため、セキュリティ等の向上を図れます。
万が一、攻撃があってもダメージを受けるのはリバースプロキシ(中継サーバー)なので、サーバー本体には負荷が掛からず、安全にサーバー運用ができます。
要するにリバースプロキシはサーバー本体の壁のような役割をしてくれます。
デメリットについて
- リバースプロキシの設定が少々複雑であること
- 中継サーバーの影響でtxAdminの反映にラグが発生する場合がある
- 中継サーバーがダウンするとtxAdminに接続できなくなる(直IPなら可)
今回はリバースプロキシ(Cloudflare Tunnel)を利用して、FiveMサーバーの「txAdmin」を守る方法を紹介します。
txAdmin(ポート40120)の保護はされるが、サーバー接続(ポート30120)の保護がされるわけではありませんので、予めご注意ください。
Cloudflare Tunnelとは
通常、リバースプロキシとなる中継サーバーは別に用意する必要があり、余計にコストが掛かってしまいます。
しかし、今回はCloudflareが提供する「Cloudflare Tunnel」の無料プランを利用することで、コスト無く中継サーバーの役割を担えます。
Cloudflare Tunnelとは、接続者(ユーザー)とサーバー(txAdmin)の間にCloudflareの安全なトンネル(Tunnel)を構築して、サーバーのIPアドレスを公開することなく、外部に公開するサービスです。
また、ポート開放をしなくとも公開できるため、ポート開放ができないマンション共有回線や二重ルーター環境などの自宅サーバーでも容易にサーバー公開が可能になります。
Cloudflare Tunnelの効果
Cloudflare Tunnelを導入することで、以下の効果が得られます。
- IPアドレスの保護
-
Cloudflare Tunnelは、全てのトラフィック(通信データ)をCloudflareのネットワーク経由でルーティング(最適な転送)することで、txAdminのIPアドレスを隠蔽します。
- 暗号化されたトラフィック
-
Cloudflareは、接続者(ユーザー)とtxAdmin間の全てのトラフィックが暗号化され、セキュリティが向上した接続が可能になります。
- DDoS攻撃の軽減
-
Cloudflareのネットワークは、DDoS攻撃がtxAdminへ到達する前に、それを吸収してフィルタリングし、被害を最小限に抑え、サーバーが停止しないようにします。
- 応答時間の最適化
-
Cloudflareのグローバルインフラストラクチャを使用することで、ユーザーの所在地に関係なく、応答時間が短縮され、パフォーマンスが最適化されます。
そもそもCloudflareって何?安全なの?と思われるかもしれませんが、非常に良いサービスなので安心してください!不安な方は調べてみましょう!
Cloudflare Tunnelを導入する
色んな説明が長くなってしまいましたが、ようやくCloudflare Tunnelの導入に移っていきます。
今回、導入するにあたり必要なものを予め明記しておきます。
必要になるもの
- Cloudflareアカウント
- 独自ドメイン
- Cloudflared
- root権限が使えること
独自ドメインの取得
独自ドメインとは、「.com」「.net」「.jp」等の自分専用のドメインを持つことです。独自ドメインを取得するには、DNSサービスを提供している会社に登録してドメインを購入します。
ドメインとサーバーのIPアドレスを紐づけると、IPアドレスを公開せずにドメインで管理できます。
他の説明が長くなったので、ドメインの説明は簡単にしました。機会があれば詳しい説明をしたいと思います!
Cloudflareにログインしてアカウントホーム(ダッシュボード)を開きます。アカウントを持ってない方はサインアップから新規登録しましょう。
左メニューから「ドメイン登録」→「ドメインの登録」の順に選択し、取得したいドメイン名を入力して「検索する」をクリックします。
ドメイン名にはfivemは入れないことをおすすめします。例)「fivem.▲▲▲.net」や「txadmin.▲▲▲.net」などでサブドメインで使われることが多いからです。
次に、様々なドメインが表示されるので、気に入ったドメインを「確認」で選びましょう。
なお、jpドメインはCloudflareでは取得できないのでご注意ください。
ドメインは年間支払いになります。何年単位で支払いを行うか決めましょう。
その後は個人情報や支払方法の入力になります。以降の説明は省きます。
Cloudflareのアカウントホームに戻って、ドメインが表示されたら取得完了です。
初めてドメインを取得してみると何だか嬉しい気持ちになりますよね!
他社からドメイン取得した方はCloudflareにドメインを追加してください。
SSL設定を行う
ドメインに安全な通信(暗号化)させるSSL設定を行います。(httpからhttpsにする設定のこと)
まず、ドメイン名を選択してください。
左メニューから「SSL/TLS」を選択して、「設定」から「フル」モードになるよう設定をします。
すみません、先にSSL設定を行ってしまったので、設定済みの画像になります。
Cloudflare Tunnelの設定
STEP
Cloudflare Zero Trustに登録する
Cloudflare Tunnelは、Cloudflare Zero Trustというサービスの機能の一つなので、アカウントホームの左メニューから「Zero Trust」を選び、登録する必要があります。
Cloudflare Zero Trustアカウントのドメイン名を設定します。(後で変更可能)
分かりやすい名前が良いと思います。
次にプランを選択します。
free(無料)プランで十分ですので、「プランを選択→」をクリックします。
そのまま「支払いへ進む」を選択します。
形式上、支払い方法や請求先住所を設定する必要があります。freeプランなので料金が発生することはありません。
必要な情報を入力できたら「次へ」をクリックします。
そのまま「購入」をクリックします。
これでCloudflare Zero Trustの登録が完了しました。
STEP
Cloudflare Tunnelを構成する
左メニューから「ネットワーク」→「Tunnels」の順にクリックします。
トンネルページに移動したら「トンネルを追加する」をクリックします。
次にCloudflaredの「選択するCloudflared」をクリックします。
構成するトンネルに名前を付けてください。ここは分かりやすい名前で良いです。
その後、「トンネルを保存」をクリックします。
ここで、Cloudflareに繋ぐためのプログラム「cloudflared」をサーバー本体にインストールする必要があります。
サーバー本体でお使いのオペレーティングシステム(OS)を選択すると、cloudflaredのインストール手順が表示されます。(当記事はUbuntuで進めていくため、「Debian」の手順で進める)
特に難しいことは無く、表示された手順通りにコマンドを実行していくだけです。
インストール完了したらサーバーとCloudflareを接続させるコマンドを実行します。
エラーが無く「successfully」と表示されたら完了です。
正常に接続が完了すると、トンネルページの下に「接続済」と表示されます。
これでCloudflare Tunnelの構成は完了しました。
STEP
独自ドメイン設定を行う
今回、txAdmin用で「txadmin」というサブドメインを使います。
ホスト名に「ドメイン(サブドメイン)」、サービスに「HTTP」、「localhost:40120
」を設定しましょう。(txAdminのポート番号を変更していたら合わせる)
DNS設定ができたら、一番下にある「セットアップを完了する」をクリックします。
2つ目以降のサブドメインを設定する場合
作成したトンネル名の右側「︙」を選択し、「設定」をクリックします。
「+パブリックホスト名を追加する」をクリックすると、先ほどのDNS設定画面になるので、同じように設定を行いましょう。
STEP
接続確認を行う
設定したサブドメインをブラウザのURL欄に入力して開いてみましょう。
txAdminに繋がれば設定完了です!
これでIPアドレスを公開せずに、サブドメインでtxAdminを管理できるようになります!
ちなみにサブドメインでIPアドレス検索を行っても、CloudflareのIPアドレスが表示されるため、安全に管理できます。
ひとこと
Cloudflare Tunnelを使ったtxAdminの保護はいかがだったでしょうか。
これから対策しようと思っていた方の参考になれば幸いです。
裏話になりますが、本当はCloudflare Tunnelを使って、FiveMサーバー(ポート30120)の保護を記事にする予定でした。
なぜかVPS環境が変わると、繋がらないという現象に陥ってしまい…すぐには解決しなかったので、急遽txAdminのみを取り上げる事にしました。
今後、再現性を高めることが出来れば、記事にしたいと思います!気になる方は、こちらの記事を参考にしてください!
最後までお読みいただきありがとうございました!
今後とも「揚げポテGameSV」をよろしくお願いします!
0 件のコメント