CDN

読み:しーでぃーえぬ / 英語表記:Content Delivery Network

Webコンテンツを、利用者に近い場所にある多数のサーバ(エッジサーバ)にキャッシュして配信する仕組み。応答を速くするほか、アクセスが分散されるため、副次的にDDoS攻撃の影響を軽減できる。

イマシルちゃんの解説

人気のお店が1軒しかなかったら、遠くからお客さんが押し寄せて大行列になっちゃうよね。

CDNは、同じ商品を置いた支店を世界中にたくさん作るようなものなんだ。
お客さんは近くの支店で買えるから、すぐに受け取れる。
しかも、お客さんがたくさんの支店に分かれるから、本店がパンクしにくいんだよ!
これが、大量のアクセスを送りつける攻撃にも強くなる理由なんだ。

より深い解説

定義

CDN(Content Delivery Network)は、Webサイトの画像、動画、スクリプトなどのコンテンツを、インターネット上の多数の拠点に配置したエッジサーバ(キャッシュサーバ)に複製し、利用者に最も近い(または最適な)エッジサーバから配信するネットワークである。コンテンツの元を持つサーバをオリジンサーバという。

仕組み

  1. 利用者が、Webサイトのドメイン名をDNSで名前解決する
  2. CDNのDNSが、利用者に近いエッジサーバのIPアドレスを返す(またはエニーキャストで、同じIPアドレス宛ての通信を最寄りの拠点に届ける)
  3. エッジサーバにコンテンツのキャッシュがあれば、そのまま返す
  4. キャッシュがなければ、オリジンサーバから取得して返し、キャッシュしておく

CDNを使う効果

効果内容
応答の高速化利用者に近いサーバから返すため、遅延(RTT)が小さくなる
オリジンサーバの負荷軽減多くのリクエストをエッジサーバが処理する
可用性の向上一部の拠点やオリジンサーバに障害があっても、キャッシュから配信を続けられる
帯域コストの削減オリジンサーバからの送信量が減る

大量のアクセスによる攻撃への効果

CDNは本来、配信の高速化のための仕組みだが、その構造から、副次的にDDoS攻撃への耐性も高める。

理由内容
攻撃の分散攻撃のトラフィックが、世界中の多数のエッジサーバに分散され、1か所に集中しない
大きな容量CDN事業者のネットワークは非常に大きな帯域を持ち、大量の通信を吸収できる
オリジンサーバの隠蔽利用者からはエッジサーバしか見えず、オリジンサーバのIPアドレスを直接攻撃されにくい

多くのCDN事業者は、攻撃の防御やWAFの機能もあわせて提供している。ただし、オリジンサーバのIPアドレスが知られると、CDNを迂回して直接攻撃される恐れがあるため、オリジンサーバはCDNからの通信だけを受け付けるように設定する。

CDNでは防げない脅威

CDNは、大量のアクセスを分散させるための仕組みなので、利用者の端末や認証を狙う攻撃には効果がない。

脅威CDNで防げない理由
Man-in-the-Browser攻撃利用者のブラウザの中で、マルウェアが通信を改ざんする
パスワードリスト攻撃正規の利用者と同じように、1回ずつログインを試す
リバースブルートフォース攻撃同上。少数の試行を多数のアカウントに分散させる

キャッシュの注意点

注意点内容
動的なコンテンツ利用者ごとに内容が変わるページ(ログイン後の画面など)は、誤ってキャッシュすると他人に表示されてしまう
更新の反映オリジンサーバで更新しても、キャッシュの有効期間が切れるまで古い内容が配信される。必要に応じてキャッシュを削除(パージ)する
TLSHTTPSのサイトでは、エッジサーバでTLSを終端するため、CDN事業者にサーバ証明書の秘密鍵を預ける(またはCDN事業者が発行する証明書を使う)ことになる

実際の試験ではここに出る!

この用語が出てくる記事

↑