Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Spectrum を有効にしたホスト名がレイヤー 7 Analytics に表示される理由

最終更新 Markdown で表示Agent セットアップ

Spectrum でレイヤー 4 トラフィック(TCP/UDP 接続など)を処理していても、レイヤー 7(L7)の分析ダッシュボードにトラフィックが表示されることがあります。これは、Cloudflare のレイヤー 7 CDN と Spectrum が、顧客の識別を別の方法で行うためです。

Spectrum がユーザーを識別する方法(レイヤー 4)

Spectrum では、顧客ホスト名の識別は、クライアントがエッジへの接続に使う Cloudflare IP アドレスに基づきます。一般的な流れは次のとおりです。

  1. Spectrum は、顧客ゾーンに Spectrum エッジ IP を指す DNS ホスト名を設定し、このエッジ IP とポートを顧客の設定に紐づけます。
  2. クライアントは Spectrum ホスト名を DNS ルックアップし、Spectrum エッジ IP を取得して、その IP とポートに接続します。
  3. Spectrum はこのエッジ IP とポートを使って接続を顧客の設定に照合し、顧客を識別します。

このプロセスはレイヤー 4 に焦点を当て、ホスト名と顧客設定を IP アドレスとポートで関連づけます。

CDN がユーザーを識別する方法(レイヤー 7)

  1. 顧客は、トラフィックをオリジンサーバーへ向ける DNS ホスト名をゾーンに設定します。
  2. クライアントは CDN ホスト名を DNS ルックアップし、DNS サーバーは CDN エッジ IP を返します。Spectrum と違い、CDN エッジ IP は主にトラフィック管理に使われ、顧客の識別には使いません。複数の顧客が同じ CDN エッジ IP を共有できるためです。

CDN では、顧客の識別は TLS ハンドシェイク中のホスト名解決(SNI)と HTTP リクエスト(Host ヘッダー)に大きく依存します。注目すべき点として、CDN は顧客ゾーンに一致する任意のホスト名(例: *.example.com)を受け付けます。レイヤー 7 の DNS に個別の一致がなくても受け付けます。そのため、Spectrum や Load Balancer のホスト名も *.example.com の下では有効として扱われます。

重なり: Spectrum 経由でプロキシされるレイヤー 7 トラフィック

CDN はゾーン配下の任意のホスト名(例: spectrum.example.com)を受け付けるため、本来は Spectrum が先にプロキシすべき HTTP トラフィックや、レイヤー 4 専用の Spectrum アプリ向け HTTP トラフィックが、レイヤー 7 の CDN システムで直接処理されることがあります。流れは次のとおりです。

  1. クライアントはレイヤー 7 の CDN エッジ IP に接続しつつ、TLS ハンドシェイクと HTTP リクエストの両方で Spectrum アプリケーションのホスト名(例: spectrum.example.com)を使います。つまり、クライアントは誤った IP 上で spectrum.example.com にアクセスしようとしています。
  2. CDN は、*.example.com 配下の任意のホスト名を認識する設計のため、TLS と HTTP の両フェーズでこのホスト名を顧客ゾーンの一部として受け付けます。その結果、リクエストはゾーンの識別情報の下で CDN を通ります。
  3. ただし、CDN がオリジンサーバーへ接続するときは、HTTP ホスト名の内部 DNS ルックアップを行います。これが Spectrum IP に解決されます(spectrum.example.com から Spectrum エッジ IP)。そのため CDN は Spectrum へのオリジン接続を確立し、Spectrum の設定を読み込み、リクエストを Spectrum オリジンへ転送します。

このホスト名のトラフィックは、Analytics やログを含む通常のレイヤー 7 CDN 製品を通ります。

不要な L7 トラフィックをブロックする

レイヤー 4 専用の Spectrum ホスト名向けトラフィックが、レイヤー 7 経由でオリジンにプロキシされないようにしたい場合(不要なスキャンやリクエストを含む)は、レイヤー 7 の WAF(Web Application Firewall)ルールの導入を推奨します。このルールで特定のホスト名またはポート向けトラフィックをブロックし、正当なトラフィックだけが Spectrum サービスに届くようにできます。

たとえば、spectrum.example.com へのリクエストを、Spectrum IP または顧客の Spectrum BYOIP からのもの以外はブロックする WAF ルールを作成できます。トラフィックはレイヤー 7 Analytics(WAF Security Events を含む)に記録されますが、誤ったアドレスに到達して CDN を再度ループすることは防げます。

役に立ちましたか?