Domain IP Lookup

検索結果にオリジンではなくCDNが表示される理由

訪問者

ドメインを検索

CDNエッジ

104.21.x.x

DNSが返すのはこれ

オリジンサーバー

実際のIPは非公開

インフラと運用

CDNがオリジンIPを隠す理由と、その意図

読了時間:3分

有名なウェブサイトを検索して、サーバーのアドレスが返ってくると期待したのに、CloudflareやFastly、Akamaiに属するアドレスが返ってきた。そんなとき、何も問題は起きていません。ドメインが公開している内容をそのまま見ているのであり、本当のサーバーのアドレスは、そもそもDNSに載っていなかったのです。

検索結果にオリジンではなくCDNが表示される理由

訪問者

ドメインを検索

CDNエッジ

104.21.x.x

DNSが返すのはこれ

オリジンサーバー

実際のIPは非公開

DNSが返すのは、エッジのアドレスです。オリジンはその背後にあり、公開されていません。

CDNが実際に行っていること

コンテンツ配信ネットワーク(CDN)は、世界中に分散配置されたサーバー群です。すべての訪問者が1台のオリジンサーバーに接続する代わりに、最も近いCDNのノードに接続します。ノードは、キャッシュ済みのコンテンツを直接配信し、持っていないものはオリジンから取得します。

パフォーマンス面の理屈は単純です。シンガポールの訪問者がバージニアのサーバーに接続すると、すべてのリクエストで往復約200ミリ秒の遅延が生じます。シンガポールのエッジノードなら、キャッシュ済みのコンテンツについては、これを数ミリ秒に短縮できます。

これを機能させるには、ドメインがオリジンではなくCDNに解決される必要があります。これは副作用ではなく、仕組みそのものです。DNSがオリジンのアドレスを返してしまえば、訪問者はそこに直接接続し、CDNはまったく関与しなくなります。

CDNのアドレスを見分ける方法

  • 逆引きでプロバイダー名が分かる。アドレスが *.cloudflare.com、*.fastly.net、*.cloudfront.net のような名前に解決されます。詳しくは 逆引きDNS をご覧ください。
  • 同じアドレスが、無関係な多数のサイトを提供している。エッジノードは、設計上、共有インフラです。
  • 場所によって答えが異なる。ジオルーティングによって最も近いノードに誘導されるため、問い合わせる場所によってアドレスが変わります。
  • CNAME がプロバイダーのホスト名を指している。www.example.com CNAME example.com.cdn.cloudflare.net のようなレコードは、疑う余地がありません。
そのアドレスの名前を確認する
dig +short example.com
dig +short -x 104.21.32.47

2つ目のコマンドは逆引き検索です。プロバイダーのホスト名が返れば、答えが分かります。

オリジンが意図的に隠されている理由

隠すことは、副産物ではありません。対価を払ってでも手に入れる、セキュリティ上の特性です。

脅威オリジンを隠すことで得られる効果
DDoS攻撃攻撃トラフィックは、単一のサーバーではなく、CDNの処理能力に向かいます。大規模なサイトがCDNを使う最大の理由です。
直接的な攻撃攻撃者は、見つけない限りオリジンに到達できないため、スキャンや探査はエッジに向かいます。
WAFの迂回オリジンに直接到達できてしまうと、エッジのファイアウォールルールは、すべて単純に飛ばされてしまいます。
レート制限の回避エッジで適用されるレート制限は、その背後に接続されると回避できてしまいます。

検索結果が意味すること

変わるのは、答えの読み方であって、答えが正しいかどうかではありません。

重要なポイント

検索で分かるのは、このドメインのトラフィックが、現時点でどこに向けられているかです。CDNを前段に置いたサイトでは、それがエッジであり、それこそが、正しく、役に立つ、唯一の公開された答えです。

実際の影響は、次のとおりです。

  • ジオロケーションは意味を持たない。エッジノードの都市が示すのは、あなたがどこにルーティングされたかであり、事業者やそのデータがどこにあるかではありません。
  • 逆引きIP検索はノイズになる。無関係な数千のドメインが、正当に1つのエッジアドレスを共有しています。
  • アドレスは安定しない。CDNはエッジのアドレスを絶えず割り当て直します。ハードコードしたり、それを前提にファイアウォールのルールを作ったりしないでください。
  • ブロックすると全員をブロックする。共有されたエッジアドレスをブロックすると、そのノードの背後にあるすべてのサイトに影響します。

それでもオリジンを探そうとすることについて

オリジンサーバーの正体を暴く手法を解説した記事は存在します。過去のDNSアーカイブ、証明書の透明性ログ、CDNの背後に移し忘れたサブドメイン、オリジンから送信されたメールのヘッダーなどです。

これらはすべて、対象が犯したミスを突くもので、CDNを打ち破るものではありません。そして、誰かがオリジンを隠した理由は、たいてい攻撃を受けているからです。ほかの組織のインフラを調べて、その組織が意図的に導入した保護を破ろうとすることは、中立的な行為ではありません。多くの法域では、合法でもありません。

検索ツール では、任意のドメインの公開レコードセット全体を CNAME の連鎖も含めて確認できます。サイトがそもそもCDNを前段に置いているかどうかを確かめる、たいてい最も手早い方法です。

ドメインの公開DNSアドレスを調べたい場合は、Domain IP Lookupツールをお試しください。

よくある質問

関連記事

1つのホスト名に複数のAレコード

1つ目の回答

93.184.216.34

2つ目の回答

93.184.216.35

3つ目の回答

93.184.216.36

リゾルバーはすべてのレコードを返し、通常は順序をローテーションする

インフラと運用

1つのドメインに複数のIPアドレスがある理由

1つの名前に複数のアドレスを生む仕組みは4種類あります。それぞれの違いが分かれば、自分の結果が他の人と異なる理由も説明できます。

読了時間:4分

解決したアドレスの背後にある実体

共有IP

1アドレスに多数のサイト、Hostヘッダーで判別

専用IP

自分専用。逆引きDNSを管理できる

CDNエッジ

オリジンではない。エッジが接続を終端

インフラと運用

共有IPと専用IPアドレス:どちらが必要?

正直な答えは、ほとんどのウェブサイトに専用IPは不要です。本当に重要になるのはどんなときか、そしてうたわれているメリットのうち、どれが誤解なのかを解説します。

読了時間:3分

再帰的なDNS検索を1ホップずつ見る

ブラウザー

example.comを要求

リゾルバー

ISP / 1.1.1.1

ルート + TLD

.comの管理元は?

権威サーバー

正式な回答

この連鎖の各ホップはそれ自体がDNS検索で、結果はその後キャッシュされます

DNSの基礎

ウェブサイトのIPアドレスを調べる5つの方法

オンラインツール、ping、nslookup、dig、開発者ツール。ドメインを解決する5つの方法を、Windows、macOS、Linux向けの正確なコマンドとともに紹介します。

読了時間:4分