+ 作るログイン
図を読み込んでいます…
1 / 13
Cloudflare のすべて ― 1機能ずつ、仕組みと存在理由から / 全35本

Cloudflare 12:Spectrum ― HTTP 以外の通信も、同じ網で守る

発行
アニメモ公式
版
第1版
改訂
コマ
全13

SSH・ゲーム・リモートデスクトップ・メールのような HTTP 以外のサーバーを、Cloudflare の網で DDoS から守る Spectrum を説明します。TCP/UDP をそのまま中継する仕組み、効くもの(DDoS・IP 制限)と効かないもの(WAF・キャッシュ)、利用者の IP を渡す Proxy Protocol、プランごとの使える範囲、導入と API の例、Tunnel や Magic Transit との使い分けまで。

Web 以外のサーバーも、攻撃される

ここまでの号で見てきた守りは、ほとんどが Web サイト、つまり HTTP の通信のためのものでした。でも、インターネットに公開されているサーバーは Web だけではありません。

サーバー使う通信
SSH(サーバーの管理)TCP の22番ポート
Minecraft などのゲームTCP や UDP の独自のポート
リモートデスクトップ(RDP)TCP の3389番ポート
メール(SMTP・IMAP)TCP の25番・993番など
音声通話・動画の配信UDP が多い

こうしたサーバーも、DDoS 攻撃の標的になります。とくにゲームサーバーは、昔からよく狙われる分野です。対戦で負けた腹いせや、ライバルのサーバーへの嫌がらせで、数百円で借りられる攻撃サービスが使われることもあります。

困るのは、これらのサーバーの IP アドレスが、たいていそのまま公開されていることです。利用者がつなぐために、play.example.com の DNS が、サーバーの本当の IP を答えています。攻撃者は、その IP に直接洪水を流せばよいのです。

図は、04号の最初と同じ形です。守りのない1台のサーバーに、攻撃がそのまま届きます。

※この号の内容は 2026年9月時点の情報です。使えるプラン・対応する種類・料金は変わることがあるので、導入のときは必ず公式のドキュメントで確かめてください。

  • Cloudflare のすべて 12 ― Spectrum
  • 1 / 13
  • Web 以外のサーバーも、攻撃される
  • TCP :25565
  • 利用者
  • あなたのサーバー
  • ゲーム・SSH・メール
  • HTTP ではないもの
  • 人気のゲームサーバーは、負けた腹いせや嫌がらせの DDoS をよく受ける
  • サーバーの IP が公開されているので、守りの無い1台に直接届く
  • ゲーム・SSH・メールのサーバーは、DDoS の格好の標的。

オレンジの雲は、HTTP のためのもの

「それなら、Web と同じようにオレンジの雲にすればいいのでは」と思うかもしれません。ところが、そうはいきません。

01号で見たオレンジの雲(プロキシ)は、HTTP と HTTPS のためのものです。Cloudflare のエッジは、決まったポート(80番や443番など)で HTTP のリクエストを受け取り、中身を読んで、WAF をかけたり、キャッシュしたりしてから、オリジンに渡します。中身が HTTP であることが前提です。

SSH やゲームの通信は、HTTP ではありません。そのため、ふつうのプロキシでは中継されません。

では、グレーの雲(プロキシしない)にすると、どうなるでしょうか。DNS は、サーバーの本当の IP を答えるようになります。つまり、守りのない状態でサーバーの番号を公開することになります。04号で見た「オリジンの IP が漏れる」のと同じことを、自分から行っているわけです。

さらに、UDP を使うゲームや音声通話は、そもそも接続という形をとらない、まったく別の通信です。

ここに、HTTP 以外の通信のための仕組みが必要になります。それが Spectrum(スペクトラム)です。

  • Cloudflare のすべて 12 ― Spectrum
  • 2 / 13
  • オレンジの雲は、HTTP のためのもの
  • Web(HTTP・HTTPS)は、オレンジの雲で守れる(01・04号)
  • SSH(22番)やゲーム(25565番など)は、中継されない
  • グレーの雲にすると、サーバーの IP がそのまま見える
  • UDP を使うゲームや音声通話は、そもそも HTTP ではない
  • そこで、TCP/UDP をそのまま中継する Spectrum
  • ふつうのプロキシは HTTP(S) と決まったポートしか中継しない。

Spectrum:TCP と UDP を、そのまま中継する

Spectrum は、HTTP 以外の TCP と UDP の通信を中継する、Cloudflare のリバースプロキシです。

仕組みは、00号で見た HTTP のプロキシと同じ考え方です。

手順何が起きるか
1ssh.example.com の DNS が、Cloudflare の IP を答える
2利用者はその IP の22番につなぐ。エニーキャストで、近い拠点に届く
3拠点は接続を受け取り、あなたのサーバーの22番へつなぎ直す
4利用者とサーバーの間を、バイトをそのまま流し続ける

HTTP のプロキシとの違いは、中身を読まないことです。Spectrum は、流れてくるのが SSH の暗号化された通信なのか、ゲームの独自の形式なのかを気にしません。受け取ったバイトを、変えずにそのまま反対側へ渡します。

そのため、HTTP でなければ、基本的にどんな TCP・UDP の通信でも中継できます(プランによって対応する種類は限られます。あとのページで見ます)。

利用者から見ると、つなぐ先の名前が ssh.example.com のままで、何も変わりません。サーバーの本当の IP は、DNS からは見えなくなります。

  • Cloudflare のすべて 12 ― Spectrum
  • 3 / 13
  • Spectrum:TCP と UDP を、そのまま中継する
  • Cloudflare Spectrum
  • TCP :22
  • DDoS 対策(L3/4・04号)
  • IP で許可・拒否(IP ファイアウォール)
  • 利用者
  • TLS の終端(選べる)
  • あなたのサーバー
  • ゲーム・SSH・メール
  • Argo Smart Routing で近道(11号)
  • HTTP ではないもの
  • 利用者は ssh.example.com:22 につなぐ → 届くのは Cloudflare の拠点(エニーキャスト・00号)
  • 拠点は通信を受け取り、あなたのサーバーの 22番へつなぎ直して、バイトをそのまま流す
  • Cloudflare が決めたポートで待ち受け、中身を変えずにサーバーへ渡す。

攻撃は拠点で落ち、正常な通信だけが届く

Spectrum を通すと、あなたのサーバーは、Web サイトと同じ網で守られるようになります。

攻撃者が ssh.example.com に洪水を流しても、届くのは Cloudflare の世界中の拠点です。04号で見たとおり、攻撃は拠点に分散して届き、ネットワーク層の DDoS ルールで自動的に見分けられて捨てられます。図のように、「攻撃」の札はエッジの中に溜まり、正常な SSH の通信だけがサーバーまで進みます。

Spectrum の DDoS 対策が守るのは、主に L3/4 の攻撃です。

守れるもの例
大量の小包で回線を詰まらせる攻撃UDP の洪水、反射・増幅攻撃
接続の仕組みを悪用する攻撃SYN フラッド

一方で、SSH のパスワードを総当たりで試すような攻撃は、1本1本は正しい接続なので、DDoS 対策では止まりません。ここは Web とは事情が違います。Web なら 06号のレート制限や 07号のボット対策が使えますが、Spectrum では中身が見えないので、使えません。この点は次のページで詳しく見ます。

  • Cloudflare のすべて 12 ― Spectrum
  • 4 / 13
  • 攻撃は拠点で落ち、正常な通信だけが届く
  • Cloudflare Spectrum
  • DDoS 対策(L3/4・04号)
  • TCP :22
  • IP で許可・拒否(IP ファイアウォール)
  • 利用者
  • TLS の終端(選べる)
  • あなたのサーバー
  • ゲーム・SSH・メール
  • Argo Smart Routing で近道(11号)
  • HTTP ではないもの
  • 攻撃
  • 攻撃
  • 攻撃
  • 攻撃
  • 攻撃
  • 攻撃
  • HTTP のサイトと同じ網で、L3/4 の攻撃を吸収する(04号)。

中身は見ない:効くもの・効かないもの

Spectrum は、言ってみれば「土管」です。中を流れるものを見ずに、太く丈夫な管でつなぐだけです。これが Spectrum の強さでもあり、限界でもあります。

区分機能理由
効くDDoS 対策(L3/4)小包の量と形で判断するので、中身が要らない
効くIP での許可・拒否送り元の IP だけで判断できる
効く経路の近道(Argo Smart Routing・11号)網の中の運び方の話なので、中身が要らない
選べるTLS の終端利用者との暗号化を Cloudflare が受け持つ設定もある
効かないWAF(05号)・ボット対策(07号)HTTP の中身を読んで判断するものだから
効かないキャッシュ(02号)・Workers(18号)HTTP のリクエストと応答が前提だから

図のエッジの中で、灰色になった札が「効かないもの」です。

つまり、Spectrum で守れるのは「量で押す攻撃」です。「中身が悪い攻撃」は、サーバーやアプリの側で守る必要があります。SSH なら、パスワードでのログインを止めて鍵での認証にする、fail2ban のような道具で総当たりを止める、といった、これまでどおりの対策を続けます。

もし中継したい通信が実は HTTP なら(たとえば、8080番のような珍しいポートで動く Web アプリ)、Spectrum ではなく、ふつうのプロキシで扱えないかを先に考えましょう。WAF やキャッシュが使えるからです。

  • Cloudflare のすべて 12 ― Spectrum
  • 5 / 13
  • 中身は見ない:効くもの・効かないもの
  • Cloudflare Spectrum
  • DDoS 対策(L3/4・04号)
  • TCP :22
  • IP で許可・拒否(IP ファイアウォール)
  • 利用者
  • WAF・ボット対策(中身は見ない)
  • あなたのサーバー
  • ゲーム・SSH・メール
  • キャッシュ(中身は覚えない)
  • HTTP ではないもの
  • 効く:DDoS 対策・IP での許可と拒否・(選べば)TLS・経路の近道
  • 効かない:WAF・ボット対策・キャッシュ・Workers。中身が HTTP ではないから
  • Spectrum は「土管」。WAF やキャッシュは HTTP でしか働かない。

サーバーから見ると、相手は Cloudflare になる

Spectrum には、1つ気をつけることがあります。サーバーから見た接続の相手が、利用者ではなく Cloudflare の拠点になることです。

Spectrum は、利用者との接続と、サーバーとの接続を、2本の別々の接続として張ります。サーバーにつないでくるのは Cloudflare なので、サーバーのログに残る送り元の IP は、すべて Cloudflare の IP になります。これでは、誰がつないできたのかが分かりません。

HTTP のプロキシでは、CF-Connecting-IP のようなヘッダーで本当の IP を渡していました(04号)。でも、Spectrum が運ぶのは HTTP ではないので、ヘッダーを足す場所がありません。

そこで使うのが Proxy Protocol です。接続のいちばん最初に、「本当の送り元はこの IP とポートです」という短い情報を添えてから、通信を流し始める約束ごとです。

通信選べる方式
TCPProxy Protocol v1(文字で書く)、v2(バイナリ)
UDPProxy Protocol v2、Simple Proxy Protocol

注意したいのは、サーバーの側もこの約束を知っている必要があることです。nginx や HAProxy のように Proxy Protocol に対応したソフトなら、設定で読み取れます。対応していないソフトにこれを送ると、最初に見慣れない情報が届くので、通信が壊れます。オンにするのは、サーバー側の準備ができてからにしましょう。

  • Cloudflare のすべて 12 ― Spectrum
  • 6 / 13
  • サーバーから見ると、相手は Cloudflare になる
  • Cloudflare Spectrum
  • DDoS 対策(L3/4・04号)
  • IP で許可・拒否(IP ファイアウォール)
  • 利用者
  • TLS の終端(選べる)
  • あなたのサーバー
  • ゲーム・SSH・メール
  • Argo Smart Routing で近道(11号)
  • 相手は Cloudflare の IP
  • 元の IP 添付
  • TCP:Proxy Protocol v1 / v2。UDP:Proxy Protocol v2 か Simple Proxy Protocol
  • サーバーの側も対応させないと、先頭の見慣れない情報で通信が壊れる
  • 本当の利用者の IP は、Proxy Protocol で添えて渡す。

よくある使い道

Spectrum が向いているのは、「HTTP 以外で、外に公開していて、止まると困るもの」です。

使い道中身
SSH・SFTPサーバーの管理やファイルのやり取り。22番
MinecraftJava 版のサーバー。統合版(Bedrock)には対応していない
リモートデスクトップWindows の RDP。3389番
メールSMTP・IMAP・POP3 のサーバー
ゲーム・音声独自の TCP や UDP を使うゲーム、音声通話
そのほか任意のポートやポートの範囲、データベースへの接続など

このうち、Pro・Business のプランで使えるのは、上の SSH・Minecraft・RDP(Business)の決まった種類です。それ以外の任意の TCP・UDP は Enterprise の契約が必要です。

1つ考えてほしいのは、本当に公開する必要があるかです。たとえば SSH は、多くの場合、サーバーを管理する数人の社員しか使いません。それなら、世界中からつなげる状態にして Spectrum で守るより、15号の Tunnel と 16号の Access で「社員だけが本人確認をしてから入れる」ようにするほうが安全です。これは、あとのページで比べます。

一方、ゲームサーバーのように、不特定多数の人がつなぐものは、公開するしかありません。Spectrum がいちばん力を発揮するのは、こうした場面です。

  • Cloudflare のすべて 12 ― Spectrum
  • 7 / 13
  • よくある使い道
  • SSH・SFTP
  • Minecraft
  • リモートデスクトップ
  • 22番。管理用の入口
  • Java 版のサーバー
  • RDP(3389番)
  • メール
  • ゲーム・音声
  • そのほか
  • SMTP・IMAP など
  • 独自の TCP/UDP
  • 任意のポート・範囲
  • 下の段(メール・ゲーム・任意のポート)は Enterprise のみ
  • HTTP 以外で、外に公開していて、止まると困るもの。

どのプランで、何が使えるか

Spectrum は、Free プランでは使えません。使える範囲は、プランによって大きく違います。

プラン使える種類備考
Free使えない
ProSSH・Minecraft毎月一定の転送量が含まれ、超えると従量課金
BusinessSSH・Minecraft・RDP含まれる転送量は Pro より多い
Enterprise任意の TCP・UDPポートの範囲、IP の割り当て、細かい設定。契約で決まる

Pro・Business で使える種類は、2020年に「SSH・RDP・Minecraft を小さなプランでも使えるように」と発表されたものです。含まれる転送量は、SSH や管理用の RDP のように通信量の少ない使い方を想定した大きさです。人気のゲームサーバーのように通信量が多いと、超過分の料金がかさむので、事前に見積もっておきましょう。

具体的な転送量や超過の料金、対応する種類は見直されることがあります。この号は 2026年9月時点の情報です。導入のときは、公式の料金ページとドキュメントで最新の内容を確かめてください。

  • Cloudflare のすべて 12 ― Spectrum
  • 8 / 13
  • どのプランで、何が使えるか
  • Free
  • 使えない
  • Pro
  • SSH・Minecraft
  • Business
  • SSH・Minecraft・RDP
  • Enterprise
  • 任意の TCP/UDP・ポート範囲・細かい設定
  • Pro・Business は毎月の転送量が含まれ、超えた分は従量課金。2026年9月時点。公式で確かめること
  • Pro・Business は決まった種類だけ。何でも通すのは Enterprise。

導入:アプリケーションを1つ作る

Spectrum では、中継の設定1つ分を「アプリケーション」と呼びます。管理画面で、ドメインを選び、Spectrum を開いて作ります。

順番やること例
1Spectrum のページで、アプリケーションを作る
2種類を選ぶSSH・Minecraft・RDP、または任意の TCP/UDP(Enterprise)
3受ける名前とポートを決めるssh.example.com の22番
4渡し先を決めるサーバーの IP とポート、または名前
5オプションを決めるProxy Protocol、TLS、IP ファイアウォール

作ると、受ける名前(ssh.example.com)の DNS の行が自動で作られ、Cloudflare の IP を答えるようになります。自分で DNS の行を作る必要はありません。逆に、同じ名前のグレーの雲の行が残っていると、そちらと衝突します。

IP ファイアウォールをオンにすると、アカウントに設定した IP での許可・拒否のルールが、このアプリケーションにも効きます。たとえば「この国からの接続は拒否」「この IP の範囲だけ許可」といったルールです。

最後に、サーバーの側で、Cloudflare の IP の範囲からだけ接続を受けるようにファイアウォールを設定します。これを忘れると、次のページの落とし穴にはまります。

  • Cloudflare のすべて 12 ― Spectrum
  • 9 / 13
  • 導入:アプリケーションを1つ作る
  • Spectrum を開く
  • 種類を選ぶ
  • 名前とポート
  • 渡し先
  • IP 制限など
  • 受ける名前
  • ssh.example.com の 22番
  • 渡し先
  • サーバーの IP:ポート(または名前)
  • オプション
  • Proxy Protocol・TLS・IP ファイアウォール
  • 「どのポートで受けて、どこへ渡すか」を決めると、DNS も自動で入る。

設定例:API でアプリケーションを作る

管理画面で作るのと同じことを、API でも行えます。いくつものサーバーを管理するなら、コードで管理したほうが間違いが減ります。

POST https://api.cloudflare.com/client/v4/zones/{zone_id}/spectrum/apps
Authorization: Bearer <API トークン>
Content-Type: application/json

{
  "protocol": "tcp/22",
  "dns": { "type": "CNAME", "name": "ssh.example.com" },
  "origin_direct": ["tcp://192.0.2.10:22"],
  "proxy_protocol": "off",
  "ip_firewall": true
}
項目意味
protocol受ける通信とポート(tcp/22 など)
dns利用者がつなぐ名前
origin_direct渡し先のサーバー(192.0.2.10 は説明用の番号)
proxy_protocol本当の IP を添えるか(6ページ目)
ip_firewallIP での許可・拒否のルールを効かせるか

作ったあとは、利用者はいつもどおり ssh [email protected] でつなぐだけです。

API の項目は、見直されることがあります。実際に使うときは、公式の API ドキュメントで確かめてください。Terraform にも Spectrum のアプリケーションを表す資源があります(34号)。

  • Cloudflare のすべて 12 ― Spectrum
  • 10 / 13
  • 設定例:API でアプリケーションを作る
  • POST /zones/{zone_id}/spectrum/apps
  • { "protocol": "tcp/22",
  • "dns": { "type": "CNAME", "name": "ssh.example.com" },
  • "origin_direct": ["tcp://192.0.2.10:22"],
  • "proxy_protocol": "off",
  • "ip_firewall": true }
  • 192.0.2.10 は説明用。つなぐときは ssh [email protected]
  • 管理画面と同じ中身を、API や Terraform(34号)でも書ける。

よくある落とし穴

落とし穴何が起きるかどうするか
サーバーが世界中から受け付けたまま昔の IP を知っている攻撃者に直接叩かれるCloudflare の IP の範囲からだけ受ける。IP も変える(04号)
Proxy Protocol のずれ片側だけオンで、通信が壊れるサーバー側を先に対応させてからオンにする
Spectrum で SSH が安全になったと思うパスワードの総当たりは止まらない鍵での認証、総当たり対策を続ける。社員用なら Tunnel+Access
統合版の Minecraft を通す対応していないJava 版のサーバーで使う
転送量を見積もらない超過の料金がかさむ月の通信量を事前に測る
同じ名前の DNS の行が残るSpectrum の行と衝突する古い行を消す

いちばん大事なのは1つ目で、04号の「裏口」とまったく同じ話です。Spectrum を入れる前から同じ IP で公開していたなら、その IP は、攻撃者やスキャンのサービスにすでに知られています。Spectrum の前に立つ網がどれだけ大きくても、裏口から直接届く攻撃は防げません。IP を変える、Cloudflare からしか受けないの2つをセットにしてください。

  • Cloudflare のすべて 12 ― Spectrum
  • 11 / 13
  • よくある落とし穴
  • サーバーが世界中から受け付けたまま(04号の裏口の話と同じ)
  • Proxy Protocol をオンにしたのに、サーバー側が未対応
  • Spectrum に通せば SSH が安全になると思う(パスワードは守らない)
  • Minecraft の統合版(Bedrock)を通そうとする(非対応)
  • サーバーは Cloudflare の IP だけ受ける。鍵認証も続ける
  • Spectrum の前でも、サーバーの IP が漏れていれば素通り。

社内向けなら Tunnel と Access も比べる

HTTP 以外の通信を Cloudflare で扱う方法は、Spectrum だけではありません。目的によって選びます。

方法向いている場面号
Spectrum不特定多数がつなぐ公開のサービス(ゲーム・メールなど)を DDoS から守るこの号
Tunnel+Access社員だけが使う入口(SSH・RDP・社内のデータベース)。本人確認をしてから通し、サーバーは外にポートを開けない15・16
Magic Transit会社が持つ IP の範囲全体を、まとめて守る33
オレンジの雲中身が HTTP なら、これで十分。WAF もキャッシュも効く01・04

とくに SSH と RDP は、Spectrum と Tunnel+Access のどちらでも扱えるので迷うところです。考え方は単純です。誰でもつなげる必要があるなら Spectrum、決まった人しか使わないなら Tunnel+Access です。

Tunnel+Access なら、サーバーは外から入る口を1つも開けず、Cloudflare に向けて外向きにつなぐだけになります。攻撃者から見ると、狙う IP もポートもありません。社員は、会社のアカウントでログインしてから入ります。守りとしては、こちらのほうがずっと強くなります。

ほかに、Spectrum の通信を速くする Argo Smart Routing は 11号、ロードバランシングで複数のサーバーに振り分ける方法は 10号で扱います。

  • Cloudflare のすべて 12 ― Spectrum
  • 12 / 13
  • 社内向けなら Tunnel と Access も比べる
  • Spectrum(この号)
  • 公開のサービスを DDoS から守る。誰でもつなげる
  • Tunnel+Access(15・16)
  • 社員だけが本人確認を通って入る。ポートを開けない
  • Magic Transit(33)
  • 会社の IP の範囲ごと守る。企業向け
  • オレンジの雲(01・04)
  • Web ならこれで十分。WAF もキャッシュも効く
  • みんなに公開するなら Spectrum。社員だけなら Tunnel+Access。

まとめ:HTTP 以外にも、同じ網の盾を

この号で見たことをまとめます。

項目内容
なぜ要るかゲーム・SSH・メールなどのサーバーも DDoS を受ける。オレンジの雲は HTTP にしか使えない
Spectrum とはTCP と UDP を、中身を見ずにそのまま中継するリバースプロキシ
効くものL3/4 の DDoS 対策、IP での許可・拒否、経路の近道、(選べば)TLS
効かないものWAF・ボット対策・キャッシュ・Workers。中身が HTTP ではないから
利用者の IPProxy Protocol で添える。サーバー側の対応が必要
プランFree は不可。Pro は SSH・Minecraft、Business は RDP も。任意の TCP/UDP は Enterprise
守りの条件サーバーは Cloudflare の IP からしか受けない。IP を変える
使い分け公開なら Spectrum、社員だけなら Tunnel+Access(15・16号)

Spectrum は、Web サイトを守ってきた同じ網を、HTTP 以外の通信にも広げるものです。ただし、網が守るのは「量で押す攻撃」まで。中身の守りは、サーバーの側で続けてください。次の13号では、ドメインそのものを Cloudflare で買って管理する Registrar を扱います。

  • Cloudflare のすべて 12 ― Spectrum
  • 13 / 13
  • まとめ:HTTP 以外にも、同じ網の盾を
  • Cloudflare Spectrum
  • DDoS 対策(L3/4・04号)
  • TCP :22
  • IP で許可・拒否(IP ファイアウォール)
  • 利用者
  • TLS の終端(選べる)
  • あなたのサーバー
  • ゲーム・SSH・メール
  • Argo Smart Routing で近道(11号)
  • HTTP ではないもの
  • 攻撃
  • 攻撃
  • 攻撃
  • 攻撃
  • 攻撃
  • 攻撃
  • 使えるのは Pro から(Pro・Business は種類が限られる)。任意の TCP/UDP は Enterprise
  • 守りを生かす条件は Web と同じ:サーバーは Cloudflare からしか受けない
  • 中身は見ずに中継し、L3/4 の攻撃だけを拠点で落とす。

0 件のコメント

読み込み中…

権利侵害・不適切な内容の連絡: [email protected]