CDNとWAF併用のメリットとは? 構成例や注意点も解説

2022.12.20

J-Stream CDNext

WAF

セキュリティ

CDN

CDN×WAF

Webアクセス集中対策・安定配信に欠かせないCDNと、セキュリティ対策として有用なWAFを併用することで、それぞれでの活用メリットに加え「配信機能」「課金」面でメリットが生じます。今回はCDNとクラウド型WAF併用のメリットや、構成例や注意点について解説します。

お役立ち資料 【押さえておきたい “サイバー攻撃の発生状況” と “Webセキュリティ対策”】

1. CDNとクラウド型WAFについて

CDNとクラウド型WAFはDNSによってアクセスをそれぞれのシステムへ誘導することで利用するという点で類似しています。

CDNについて

CDNはCDNホストのFQDNと公開用FQDNをDNSのCNAMEレコードで関連付けることで、公開用FQDNへのアクセスをCDNのネットワークへ誘導します。DNSの設定のみで利用が開始できるので、緊急の対策としても用いられる場合があります。

CDNを利用しているJストリームのFQDNに対して登録されているDNSリソースレコード。
CNAMEによってCDNホストのFQDNと関連付けを行う

CDNの基本を確認したい方は下記をお読みください。

クラウド型WAFについて

WAFは保護対象のサーバーに物理的な機器を導入するものや、アクセスログをWAFサービスの監視システムに送信するエージェントと呼ばれる仕組みをサーバーへインストールして、不正なアクセスを確認した際に監視システムから遮断の命令を出すもの、そしてDNSによってアクセスをWAF経由で行うようにすることでアクセスの内容を監視し、不正なものを遮断するクラウド型のものなどがあります。

物理的な機器を必要とするものや、エージェントを直接サーバーへインストールするものと異なり、クラウド型はCDNと同じくDNSのレコード編集のみで利用を開始できます。またSaaSとして提供されているものなので、サーバー側に設置されているものよりもサービスとしての機能改善やチューニングなどの保守運用対応の面で優れている点も特徴です。
CDNサービスによっては、サービス内にWAFの機能を兼ね備えているものや、サービスラインナップとしてクラウド型WAFが用意されていることもあります。

WAFの基本を確認したい方は下記をお読みください。

2. CDN・WAF併用の必要性

CDNとWAFを併用することで、通信が正常なものであるか不正なものであるかを問わず、サーバーが正常に稼働できる状態を保つことが出来るようになります。

CDNだけの場合(WAFが無いとき)

CDNはWebサイトなどへ同時に大量のアクセスがあった際のサーバー負荷を軽減します。クライアントからのリクエストはDNSによってサーバーではなくCDNのネットワークに誘導されます。
CDN側ではサーバーからオリジナルのコンテンツをキャッシュするための通信が行われており、クライアントからのリクエストにはCDNが代わりにキャッシュコンテンツをレスポンスします。
サーバーはCDNからのキャッシュリクエストだけを受けることになるので、多数のクライアントから直接リクエストを受けてレスポンスの処理をするよりも、かかる負荷は小さくなるという仕組みです。

CDNは、サーバーからキャッシュしたコンテンツをサーバーの代わりに配信するという、機能自体はシンプルなものですが、大量のアクセスに対応することが出来るというキャパシティの面でコンテンツの正常な配信の継続に貢献します。CDN単体の機能としては不正な通信に対して特別な対処を行う機能は有していません。

クラウド型WAFだけの場合(CDNが無いとき)

クラウド型WAFも同じくDNSによってクライアントからのリクエストをサーバーの手前で受け付けます。その際通常の通信の技術的作法に反するような不審なアクセスであったり、手法として明らかになっているサイバー攻撃のパターンに合致したりという判断がWAF側でなされた場合、サーバーへのアクセスは遮断されます。問題の無い正常な通信と判断される場合に限り、リクエストはWAFを通過し、サーバーへ到達します。サーバーからのレスポンスはWAFを経由してクライアントに配信されます。

正常なアクセスのみ、WAFを通過してサーバーへ到達する

CDNはサーバーに代わって、クライアントに対するコンテンツのレスポンスを担いますが、WAFは正常な通信であると評価されたリクエストについてはそのままサーバーへ通過させます。つまりWAFのみを利用している場合、正常な大量の通信によるサーバー負荷に対するケアは行われていないということになります。

WAFは正常な通信によるサーバーの負荷軽減に貢献するものではないので、攻撃でないトラフィックによってサーバーがダウンしてしまう場合に有効な対処を期待することは出来ません。

3. CDN・WAF併用の構成例

CDNとクラウド型WAFを併用する際の構成例はいくつかパターンがありますが、多くの場合は以下のような構成を取ります。

CDN・WAF併用の構成例

クライアントが目的のWebサイトのURLにアクセスをすると、まずはDNSによってCDNに誘導されます。CDNではコンテンツをキャッシュしにいくサーバーの場所として、WAFが指定されています。WAFはCDNからのコンテンツキャッシュのためのリクエストをサーバーへ通過させ、サーバーからレスポンスされたコンテンツはWAFを通ってCDNに到達します。CDNはコンテンツをキャッシュし、クライアントへレスポンスします。

4. CDN・WAF併用のメリット

前述したような構成によりCDNとWAFを併用するメリットは、CDNとWAFの機能それぞれを活用できるということの他に、「配信機能」「課金」面で生じます。

配信機能としてのメリット

CDNがクライアントに対して最も手前に配置される場合、正常な通信のリクエストはCDNよりも後ろには届かず、CDNだけで対応できることになります。不正なリクエストはCDNの後ろに構えるWAFによって遮断されますが、比較して多くのボリュームを占めることが考えられる正常な通信を効率的に行うためには、クライアントからのリクエストをCDNが最初に受けることが有効です。

課金に対するメリット

正常なリクエストの大半をCDNがレスポンスするので、通信はクライアントとCDNの間だけで完結できるものの割合が多くなります。後ろに構えるWAFを経由した通信は少なくなるので、クラウド型WAFで多く採用される課金根拠である、WAFを通じた配信容量の削減に繋がります。CDNを通じた配信1GBあたりの費用が、WAFの費用よりも小さい場合、WAFを単体で利用するよりもトータルのコストが抑えられる場合があります。

正常なリクエストの大半がCDNからレスポンスされる。WAFに流れる通信が少なくなり、課金対象トラフィックが減る。
1GBの配信にかかる費用がCDN<WAFだった場合、
なるべくCDNがトラフィックを吸収した方がトータルの配信コストが経済的になる

5. CDN・WAF併用の注意点

前述した構成のようにCDNとWAFを併用する場合、WAFから見たリクエストは全てCDNから発生しているということになり、実際にサーバーに対してリクエストを行ったクライアントのIPアドレスなどの情報をWAFは感知することが出来ません。

CDNなどのクライアントとサーバーを仲介する仕組みが、クライアントのIPアドレスを後ろに構える仕組みに通知するためのHTTPヘッダのひとつに、X-Forwarded-Forがあります。このヘッダを利用すればCDNはWAFに対して、リクエストしてきたクライアントのIPアドレス情報をWAFに受け渡すことが出来るようになります。

ただしWAFサービスによっては、X-Forwarded-Forなどのヘッダ情報を元に、そのアクセスが攻撃か否かを判断する仕様が備わっていない場合があります。クライアントの本当の身元が分からないと、WAFは全てのリクエストがCDNから起こったものと判断してしまうので、攻撃性のアクセスを検知できなくなる可能性があります。
CDNとWAFを併用することを検討する場合は、事前に併用による懸念点が無いか確かめておくことが必要です。各ベンダーに問い合わせて仕様を確認しましょう。

以上、CDNとクラウド型WAF併用のメリットや構成例・注意点について解説しました。両サービスを併用することは比較的容易で、Jストリームでの対応実績も豊富です。
Jストリームでは自社で開発・保守・運用を行うCDNサービス「J-Stream CDNext」や、グローバルな大規模ネットワークを持つWAFサービスである「Imperva App Protect」、国内産でリーズナブルな「BLUE Sphere」など、様々なサービスの組み合わせによってお客様の課題を解決します。ご要望や課題の内容、お客様がお持ちのインフラ環境などに応じて、最適なサービスをご提案します。

Jストリームへお気軽にお問合せ下さい

関連サービス・ソリューション

関連する記事一覧

Jストリームの
ソリューションに
興味をお持ちの方は
お気軽に
お問い合わせください。

電話でのお問い合わせ

0120-658140

【受付時間】9:30~18:30(土日祝日を除く)

登録無料!

Jストリームのサービスを活用した成功事例や、お客さまの課題解決につながるお役立ち情報などをメールでお届けしています。

メールマガジン登録

電話でのお問い合わせ

0120-658140

【受付時間】9:30~18:30(土日祝日を除く)