「CDNを前に置くべきか」——オフショアサーバーを買った人の多くが真っ先に抱く疑問だが、これには単一の答えがない。実のところ、一枚のコートをまとった二つの問いだからだ。攻撃を受け止めることと、見つからずにいることは別の問題であり解決策も別々であって、片方を解決する構成がもう片方を静かに台無しにすることがある。
この混同はどちら方向に転んでも高くつく。DMCA無視ホスティングを選んでコンテンツを置いたはずなのに、大手アメリカ製CDNを前に置き、避けようとしていたまさにその種の仲介者に苦情窓口を差し戻してしまう人がいる。一方で何も入れず、ネットワーク層のフィルタリングが元々見るように作られていないアプリケーション層のフラッド攻撃を受け、DDoS対策は嘘だったと結論づける人もいる。本ガイドはこの二つの問題を切り分け、それぞれの層が実際に何をするのかを述べたうえで、どちらの結果を決めるかという部分——他をすべて正しく設定していてもオリジンアドレスが漏れる6つの経路——に大半の紙幅を割く。
一つに見える二つの問題
サーバーの前に置くものは、攻撃を遠ざけるか、アドレスを知られないままにするかのどちらかの仕事をしている。この二つは混同されるほど重なり合っていながら、間違った方を解決すれば金の無駄になる程度には違うものでもある。
| 心配していること | 実際に解決するもの | 解決しないもの |
|---|---|---|
| 回線を埋め尽くすボリューム型フラッド(レイヤー3・4) | ホスト側のネットワークエッジでのフィルタリング——当社のすべてのプランに含まれる | サーバー上に導入するものは何であれ無意味——その時点で回線はすでに埋まっている |
| 本物に見えるリクエストによるアプリケーション層のフラッド(レイヤー7) | CDNまたはWAF、キャッシュ、レート制限、より軽量なエンドポイント | 正当なHTTPを識別してそのまま通してしまうパケットフィルタリング |
| 誰にもボックスへ直接到達させたくない | フロント(CDNまたは自前のノード)に加えてそれだけを許可するファイアウォール | オリジンが依然としてインターネット全体に応答しているなら、CDN単体では不十分 |
| 誰にも運営者を知られたくない | ノーKYCでの登録、決済のプライバシー、アカウント運用の規律 | インフラをどれだけ積み上げても無意味——これは身元の問題だ |
| コンテンツが苦情を乗り越えて存続しなければならない | 法域、そして苦情に基づいて行動しないホスト | CDN——これは苦情の窓口を取り除くどころか増やすもの |
最後の行は二度読んでほしい。人がひっかかるのはそこだからだ。このページの他の部分はすべて工学の話だが、その行だけは違う。

あなたのホストがすでにやっていること、そしてそこで止まること
レイヤー3・4のフィルタリングは当社が販売するすべてのプランに追加費用なしで含まれており、サーバー上ではなくネットワークエッジで動作する——それがこの対策を機能させられる唯一の場所であり、飽和した上り回線はその背後で動くどんなものでも直せないからだ。帯域は無制限課金なので、攻撃が請求書に化けることもない。世間で「DDoS」と呼ばれるものの大部分にとって、話はこれで尽きる。
これが見えないのがもう一方の種類だ。4万件の住宅用アドレスから検索エンドポイントへ毎秒500リクエストが来ても、それは不正な形式のトラフィックではない——ただのトラフィックだ。数秒ごとにヘッダーを一片ずつ垂れ流すSlowlorisの接続は、1本ずつ見れば行儀がいい。本物のPOSTボディでログインフォームを叩き続けても、パケットレベルでは忙しい月曜日と見分けがつかない。パケットには何の異常もないのだから、パケットフィルタは何の役にも立たない。
ただしこちらから手を出す方向のトラフィックが一つだけあり、それははっきり述べておく価値がある。当社のネットワークから発信される攻撃や大量スパムは、インフラの残り部分を健全に保つためにヌルルーティングされることがある。これは運用上の措置であってコンテンツに基づく措置ではない——その区別は当社のDMCA無視ホスティングガイドでさらに詳しく扱っている。
CDNが隠すもの、そして受け継ぐことになる苦情窓口
その仕組みは単純で、実際に効果がある。ドメインはプロバイダーのアドレスに解決され、クライアントはそこに接続し、プロバイダーがオリジンから取得してくる。本物のアドレスはクライアントの接続に一度も現れないため、ドメインしか知らない相手からは攻撃されようがない。検閲耐性プロキシでCDNフロンティングが機能するのも同じ仕掛けによる——検閲側には、ブロックする余裕のないアドレス宛のトラフィックしか見えない。
これには三つのものがついてくる。どれも小さな文字で隠されてはいない。
- エッジがTLSを終端する。プロバイダーのネットワーク内部では設計上トラフィックが平文になる——キャッシュとフィルタリングはそうやって機能する。ユーザーが入力するものは何であれ、あなたに届く前に第三者に届く。
- それまで存在しなかった苦情チャネル。CDNに直接苦情を申し立てることができ、CDNはそれに応じる——あなたへ転送する、あなたのホスティングプロバイダーを名指しする、あるいはあなたのアカウントを終了する、という形で。オフショアを選んだ理由が苦情が届かないことにあるなら、アメリカの仲介者を前に置くことは、あなたが金を払って断ち切ったはずの連鎖をつなぎ直すことになる。
- アカウント。メールアドレス、決済手段、しばしば電話番号がドメインに紐づき、無期限に保持される。これについては後述する——たいていの場合、この構成全体の中で最も弱い環だからだ。
だからといってCDNが間違いというわけではない。これは両面のある決断だ——本物のユーザーと本物のレイヤー7の負荷を抱えるショップやアプリケーションには最適だが、削除要請を招く公開物にとっては積極的に逆効果だ。DMCA無視ホスティングのページでの当社自身の答えは、常にこれを短くしたものだった——削除耐性のためには、すでに持っているネットワークフィルタリングを使い、CDNは見送ること。
それでもオリジンアドレスが漏れる6つの経路
ここが本題だ。隠蔽は買って手に入る製品ではなく、維持するか失うかのどちらかの性質であり、たいていは数日のうちに、以下の六つのうちのどれかによって失われる。完璧に設定されたCDNの背後でも、オリジンは毎日のように見つかっている。
- Certificate Transparencyログ。あなたのドメイン向けに発行された公的に信頼される証明書はすべて、数分以内に公開・恒久・検索可能なログに記録される。そこに公開されるのはアドレスではなくホスト名だ——
staging、mail、vpn、2024年に一度だけ作ったサブドメインなど。どれもが名前解決の候補になり、フロントを指していないレコードが一つあるだけで、この演習は終わる。 - DNS履歴。パッシブDNSサービスは、あなたのドメインがこれまでに解決してきたすべてのアドレスを記録し続けている。後からCDNの背後に移っても、すでに記録されたものが取り消されるわけではない——隠蔽はドメインが最初に解決される前から始めなければならず、そうでなければ必要なのは新しいフロントではなく新しいアドレスだ。
- プロキシできないレコード、そして忘れられたレコード。メール交換用レコードは到達可能な何かを指していなければならない。IPv4だけをプロキシした際に取り残された
AAAAレコード、古いFTPやパネルのホスト名、ワイルドカード、あるいは今では三年物になった「一時的な」開発用ホストも同様だ。 - サーバーが送信するものすべて。オリジンから送られるメールは
Receivedヘッダーにそのアドレスを載せている——パスワードリセットのメールは自ら情報開示しているようなものだ。Webhook、外向きの画像取得、リンクプレビュー、ピンバック、更新チェック、クラッシュレポーターはすべて本物のアドレスから発信されており、あなたのアプリケーションを自分が管理するホストと通信させられる相手なら誰でもそれを知ることができる。 - インターネット全体のスキャン。あらゆるIPv4アドレスは公開サービスによって継続的にスキャン・インデックス化されており、結果は数秒で照会できる。オリジンがポート443であなたの証明書で応答する、あるいはどんなHostヘッダーに対してもホームページを返すなら、それを突き止めるにはボディハッシュ、証明書のフィンガープリント、ファビコンハッシュのいずれかへの照会1回で足りる。ほとんどのオリジンはこうやって見つかっており、見つける側には一切コストがかからない。
- アプリケーション自身が語ってしまうこと。生のアドレスを含む絶対URLやリダイレクト、開けっ放しのステータスやメトリクスのエンドポイント、内部ホスト名を名指しする冗長なスタックトレース、バックエンドを明かすヘッダー、そしてアドレスで問い合わせてきた相手には誰にでも喜んでサイトを返すデフォルトの仮想ホスト。
フロントだけがオリジンに到達できるように固める
誰にもアドレスを言い当てられないことに依存する隠蔽は、隠蔽とは呼べない。この構成が成り立つのは、オリジンがフロント以外の誰とも話さないと拒む場合だけであり、そうして初めて、アドレスが漏れても一大事ではなく単なる厄介事で済む。
- デフォルト拒否にしてから、フロントだけを許可する。80番と443番はプロバイダーが公表するアドレス範囲からのみ受け付け、そのリストは自動で更新すること——範囲は変わるものであり、古びたリストは最悪のタイミングでフェイルオープンかフェイルクローズを起こす。SSHを含むそれ以外のすべては、当社の最初の1時間のハーデニングチェックリストにある通り、トンネルか管理用アドレスの上に置くべきものだ。
- フロントを認証する。CDNとオリジンの間でのクライアント証明書——通常「認証済みオリジンプル」と呼ばれる——を使えば、正しいアドレスと正しいHostヘッダーがあっても、証明書がなければ何も得られなくなる。
- さらに良いのは、インバウンドポートを一切持たないことだ。オリジンからエッジへの発信専用トンネル——CDN自前のコネクターであれ、自分が運用するノードへのWireGuardであれ——を使えば、オリジンは公開インターフェースで一切待ち受けなくなる。スキャンは応答しないものを見つけられず、これがこの構成の中で単独最強のバージョンだ。
- 仮想ホストは一つ、Hostヘッダーも一つ。デフォルトのサーバーは有用なものを何も返すべきではない。アドレスだけでサイトが表示されてしまうなら、一週間以内にスキャナーに突き合わされるだろう。
- メールをWebのオリジンから切り離す。メールは到達可能でなければならず、自らを名乗らなければならない。メールサーバーガイドが前提にしている通り、専用の別マシンに置くこと。
- 外部から検証する。このリストのチェックはすべて、サーバー自身から実行しては意味がない。自分のものではないネットワークからテストすること。
CDNの代わりに自前のフロントノードを使う
三つ目の選択肢は、マーケティング予算がないという理由だけで見過ごされる——小さなVPSを表の顔にし、データを保持するマシンへ暗号化トンネルで戻し、その間のトラフィックをnginxかHAProxyで受け渡す。外から見ればどこにでもあるWebサーバーだ。本物はどこか別の場所にあり、インバウンドポートは一切持たない。
これで手に入るのは、他の誰も構成に関与しない隠蔽だ——第三者のアカウントもなく、外部の苦情窓口もなく、見知らぬ相手にTLSを終端されることもない。それ以外の方法ではなかなか買えない法域の分離も手に入る——フロントはユーザーのいる場所に、データは自分に都合のよい法律のある場所に、当社の7つのロケーションから選べる。そして登録時に身元が紐づいていないため、フロントは使い捨てが利く——焼かれたアドレスは交渉ではなく、数分で取り替えられる。
手に入らないのはエニーキャストの容量だ。1台のノードには1台分の容量しかなく、当社のネットワークフィルタリングは他のどのサーバーと同じようにそれを守るが、本当に大規模なボリューム型攻撃は帯域の勝負であり、グローバルネットワークの方が勝つ。正直な位置づけを言えばこうだ——フロントノードは、重い、あるいは高価なバックエンド——ストレージアレイ、GPUマシン、メールサーバー、データベース——を隠すこと、そして法域を分けることに対する正解であり、持続的なレイヤー7の負荷に対するCDNの代わりにはならない。
選び方を一枚の表で
| あなたの状況 | 構成 | 理由 |
|---|---|---|
| 削除要請を招く公開活動 | CDNなしの直結、意図的に選んだ法域 | CDNは、あなたのホストがあえて持たない苦情窓口を追加してしまう |
| 本物のユーザーとレイヤー7の負荷を抱えるショップやSaaS | 前段にCDN、オリジンはCDNの範囲に限定して固定 | レイヤー7こそCDNが本来作られた対象の問題だ |
| 検閲国における回避用エンドポイント | CDNフロンティング | 検閲側には、ブロックする余裕のないアドレスしか見えない |
| 大量の静的・メディアトラフィック | キャッシュオフロード用のCDN | 要点は帯域とレイテンシであり、隠蔽は副産物にすぎない |
| 匿名性が最優先の要件 | 自前のフロントノード、あるいは前段に何も置かない | 第三者のアカウントは、それまで存在しなかった身元記録になる |
| 隠す価値のある重いバックエンド | フロントノード+発信専用トンネル | 高価なマシンが公開インターネットに一切現れない |
たいていアカウントこそが最も弱い環になる
インフラは完璧でも、書類仕事の方がそうでないとどうなるかを考えてみよう。サーバーはMoneroで支払われ、身分証明書もメールアドレスもない——当社のノーKYCホスティングのページで説明している構成だ。ところがCDNのアカウントは、カードと個人の住所と電話番号で開設され、保護対象のドメインが登録されている。そのアカウントは、サーバー上のどんなものよりも強固で永続的な身元記録であり、召喚状に応じる企業に保管され、決済のプライバシーを完全に台無しにする。
対策は難しくはなく、ただ忘れられやすいだけだ——匿名性が目的なら、フロントを自分の所有にするか、その前段のアカウントを背後のサーバーと同じくらい使い捨てが利き、身元にたどり着けないものにするかのどちらかにすること。サーバーOpSecではこの作法をきちんと扱っており、オフショアの匿名性についての当社の正直な回答では、連鎖のどこが最初に切れやすいかを率直に述べている。それはほとんどの場合、技術的な部分ではない。
自分の露出を10分で監査する
以下の項目はどれも、関心を持つ相手が最初の数分でチェックするようなものだ。答えが必要になる前に、サーバーではないマシンから自分自身でこれらを実行しておこう。
- これまでに証明書を発行したホスト名をすべて洗い出す。Certificate Transparencyの検索エンジンであなたのアペックスドメインを検索し、結果を一つずつ名前解決する。フロントを指していないものはすべて漏洩であり、もう使っていないホストも含まれる。
- 自分のDNS履歴を読む。パッシブDNSの照会をすると、CDN導入前にあなたのドメインが解決していたアドレスが分かる。昨日のオリジンが今日もオリジンのままなら、隠蔽は最初から実体を伴っていなかったことになる。
- オリジンに直接尋ねる。
curl -sI --resolve example.com:443:198.51.100.10 https://example.com/——サイトが応答するなら、ファイアウォールはフロントに制限をかけておらず、候補アドレスを持つ誰もが1回のリクエストでそれを確認できる。 - 無遠慮に尋ねる。
curl -skI https://198.51.100.10/は、それと分かるものを何も返さないはずだ。ホームページを返すデフォルトの仮想ホストは、このページで最もよくある単一のミスだ。 - Aレコードだけでなく、すべてのレコード種別を確認する。
dig +short AAAA example.com、dig +short MX example.com、そしてtransparencyログで判明したすべてのサブドメインについても同様に。プロキシされないまま残されたIPv6は典型例だ。 - アプリケーションから自分宛てにメールを送る。パスワードリセットを起動し、
Receivedチェーン全体を読む。オリジンのアドレスがそこにあるなら、あなたがこれまでに送ったすべてのメッセージにも同じものが入っている。 - ポートが閉じていることを確認する。無関係なネットワークから、
nmap -Pn -p80,443 198.51.100.10はopenではなくfilteredを示すはずだ。 - スキャナーを検索する。公開のインターネットスキャンインデックスで、証明書のフィンガープリントとホームページのファビコンハッシュを調べる。オリジンがインデックスされているなら、それが見つかる経路になる。
アドレスがすでに焼かれているとき
焼かれたままだと考えておくこと。パッシブDNSやスキャンインデックスに一度でも現れたアドレスは恒久的な公開記録に入り、どんな設定変更もそれを取り消せない。対応は巧妙さよりも機械的な手順の問題だ。
- まず漏洩を塞ぐ。穴をふさがないまま新しいアドレスへローテーションしても、数日のうちに同じ状況が再現し、移行に費やした労力から何も得られない。
- 次にローテーションする。理由が技術的なものではなく法的なものだったなら別の法域に、代わりのサーバーを展開し、復元し、切り替える。最初のサーバーに身元が紐づいていなかったおかげで、これは交渉ではなく仕切り直しになる——アカウント履歴を残さずにサーバーを買うことの、地味だが実務的な見返りだ。
- 緊急事態の前に切り替えを準備しておく。短いDNS TTL、リポジトリから再展開できる設定、そしてテスト済みの復元手順があれば、最悪の午後も20分で片付く。攻撃の最中にこれを整える者はいない。
- 古いアドレスをきちんと退役させる。古いサーバーを古いアドレスに置いたまま同じコンテンツを配信し続けてはいけない——それは見ている誰にとっても現在進行形の確認になり、記録を新鮮なまま保ってしまう。
要約
ネットワークレベルのフィルタリングはボリューム型攻撃に対処し、サーバーに標準で付いてくる上に追加費用もかからない。CDNはアプリケーション層に対処しオリジンを隠すが、代償としてTLSを終端し、苦情に応じ、あなたが誰かを知る仲介者を抱えることになる。自前のフロントノードは仲介者なしで隠蔽を買えるが、グローバルな容量は買えない。法的な問題を決めるのは法域であり、この三つのどれもそこには触れない。そしてこのすべては、プロキシされていないレコード一つ、オリジンからのメール一通、デフォルトの仮想ホスト一つで台無しになる。
習慣ではなく目的で決め、そのうえで10分の監査に時間を使うこと——どんなアップグレードよりも多くの本物の露出を見つけ出す。第三者なしでこのアーキテクチャが欲しいなら、小さなVPSをフロントにし、本当の作業は背後の専用ハードウェアで行う、というのが、一度見つかったことのある人たちの間で最もよく見かける構成だ。